Selaa lähdekoodia

fix(company): 修复公司信息查询中mchId字段处理逻辑

- 修改CompanyMapper中的SQL查询,增加对config_value字段非空判断
- 避免当config_value为NULL或空字符串时解析mchId出错
- 优化字段提取逻辑以提高数据查询稳定性

fix(order): 完善订单金额计算逻辑并增强手机号脱敏处理

- 在多个控制器中增加对vo.getCost()和vo.getTotalNum()的空值检查
- 当成本价或数量为空时,将最终价格设置为零避免计算异常
- 扩展手机号脱敏处理至userPhone字段,提升数据安全性
- 统一不同场景下的财务权限判断逻辑,确保数据展示一致性
xw 1 viikko sitten
vanhempi
commit
55280786e0

+ 12 - 2
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java

@@ -110,6 +110,8 @@ public class FsStoreHealthOrderScrmController extends BaseController {
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if(vo.getUserPhone()!=null){
                     vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
                 }
                 if (CloudHostUtils.hasCloudHostName("康年堂")){
@@ -121,7 +123,11 @@ public class FsStoreHealthOrderScrmController extends BaseController {
                 }
                 //
                 if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
-                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    if (vo.getCost() != null && vo.getTotalNum() != null) {
+                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    } else {
+                        vo.setFPrice(BigDecimal.ZERO);
+                    }
                 } else {
                     vo.setPayPostage(BigDecimal.ZERO);
                     vo.setCost(BigDecimal.ZERO);
@@ -309,7 +315,11 @@ public class FsStoreHealthOrderScrmController extends BaseController {
                 }
                 //
                 if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
-                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    if (vo.getCost() != null && vo.getTotalNum() != null) {
+                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    } else {
+                        vo.setFPrice(BigDecimal.ZERO);
+                    }
                 } else {
                     vo.setPayPostage(BigDecimal.ZERO);
                     vo.setCost(BigDecimal.ZERO);

+ 21 - 3
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -203,6 +203,8 @@ public class FsStoreOrderScrmController extends BaseController {
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if(vo.getUserPhone()!=null){
                     vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
                 }
                 if (CloudHostUtils.hasCloudHostName("康年堂")){
@@ -214,7 +216,11 @@ public class FsStoreOrderScrmController extends BaseController {
                 }
                 //
                 if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
-                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    if (vo.getCost() != null && vo.getTotalNum() != null) {
+                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    } else {
+                        vo.setFPrice(BigDecimal.ZERO);
+                    }
                 } else {
                     vo.setPayPostage(BigDecimal.ZERO);
                     vo.setCost(BigDecimal.ZERO);
@@ -268,6 +274,8 @@ public class FsStoreOrderScrmController extends BaseController {
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
+                }
+                if(vo.getUserPhone()!=null){
                     vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
                 }
 
@@ -471,7 +479,11 @@ public class FsStoreOrderScrmController extends BaseController {
                 }
                 //
                 if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
-                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    if (vo.getCost() != null && vo.getTotalNum() != null) {
+                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    } else {
+                        vo.setFPrice(BigDecimal.ZERO);
+                    }
                 } else {
                     vo.setPayPostage(BigDecimal.ZERO);
                     vo.setCost(BigDecimal.ZERO);
@@ -526,7 +538,11 @@ public class FsStoreOrderScrmController extends BaseController {
                 }
                 //
                 if (loginUser.getPermissions().contains("his:storeAfterSales:finance") || loginUser.getPermissions().contains("*:*:*")) {
-                    vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    if (vo.getCost() != null && vo.getTotalNum() != null) {
+                        vo.setFPrice(vo.getCost().multiply(BigDecimal.valueOf(vo.getTotalNum())));
+                    } else {
+                        vo.setFPrice(BigDecimal.ZERO);
+                    }
                 } else {
                     vo.setPayPostage(BigDecimal.ZERO);
                     vo.setCost(BigDecimal.ZERO);
@@ -801,6 +817,8 @@ public class FsStoreOrderScrmController extends BaseController {
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2"));
+                }
+                if(vo.getUserPhone()!=null){
                     vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2"));
                 }
 

+ 2 - 0
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -408,6 +408,8 @@ public class FsStoreOrderScrmController extends BaseController
             for (FsStoreOrderVO vo : list) {
                 if(vo.getPhone()!=null){
                     vo.setPhone(vo.getPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2"));
+                }
+                if(vo.getUserPhone()!=null){
                     vo.setUserPhone(vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{1})", "$1****$2"));
                 }
 

+ 1 - 1
fs-service/src/main/java/com/fs/company/mapper/CompanyMapper.java

@@ -155,7 +155,7 @@ public interface CompanyMapper
 
 
     @Select({"<script> " +
-            "select c.*,cu.user_name,qu.used_num,t1.config_value->>'$.mchId' as mchId FROM company c LEFT JOIN company_user cu ON c.user_id =cu.user_id  " +
+            "select c.*,cu.user_name,qu.used_num,IF(t1.config_value IS NOT NULL AND t1.config_value != '', t1.config_value->>'$.mchId', NULL) as mchId FROM company c LEFT JOIN company_user cu ON c.user_id =cu.user_id  " +
             " left join company_config t1 on t1.config_key = 'redPacket:config' and t1.company_id = c.company_id " +
             "LEFT JOIN (select company_id, count(id) as used_num from qw_user where server_id is not null and server_status = 1 group by company_id) qu ON qu.company_id = c.company_id " +
             "where c.is_del=0 " +