瀏覽代碼

修复子账户无法查看销售的问题

litianbiao 2 年之前
父節點
當前提交
95f736cdd6

+ 102 - 5
src/main/java/com/szwl/controller/TOrderController.java

@@ -473,6 +473,7 @@ public class TOrderController {
         //  判断是否为外国
         param.setIfForeign(isForeignUser(param.getAdminId()));
         log.info("param:{}", param);
+        String adminId = param.getAdminId();
         TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin(param.getAdminId()));
         if(admin.getType()<2){
             param.setAdminId(null);
@@ -517,11 +518,24 @@ public class TOrderController {
                 }else{
                     TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getId())));
                     if(adminEquipment.getType().equals("0")){
-                        TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
-                        param.setAdminId(admin1.getId().toString());
+//                        TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+//                        param.setAdminId(admin1.getId().toString());
+                        param.setAdminId(admin.getParentId().toString());
                     }else {
-                        List<String> list = R.getDataIfSuccess(szwlFeign.getClientIds(param.getAdminId()));
+                        List<String> list = R.getDataIfSuccess(szwlFeign.getClientIds(adminId));
                         param.setClientIds(list);
+                        if(StringUtils.isNotEmpty(adminEquipment.getEquipmentIds())){
+                            List<String> strings = Arrays.asList(adminEquipment.getEquipmentIds().split(","));
+                            param.setEquipmentIds(strings);
+                        }else {
+                            return ResponseEntity
+                                    .status(HttpStatus.OK)
+                                    .body(new ResultMessage()
+                                            .setCode(false)
+                                            .setData(null)
+                                            .setMessage("没有绑定机器/no machine"));
+                        }
+                        param.setAdminId(null);
                     }
                 }
                 if(StringUtils.isNotEmpty(param.getClientId())){
@@ -539,7 +553,7 @@ public class TOrderController {
                         }
                     }else {
                         int i = 0;
-                        List<String> list = R.getDataIfSuccess(szwlFeign.getClientIds(param.getAdminId()));
+                        List<String> list = R.getDataIfSuccess(szwlFeign.getClientIds(adminId));
                         if(list.size()>0){
                             for(String clientID:list){
                                 if(clientID.equals(tEquipment.getClientId())){
@@ -563,7 +577,7 @@ public class TOrderController {
                 //判断是不是商家账户
                 if(admin.getType()==2){
                     //查下级账户id集合
-                    List<Long> list = R.getDataIfSuccess(szwlFeign.getAdminIdList(param.getAdminId()));
+                    List<Long> list = R.getDataIfSuccess(szwlFeign.getAdminIdList(adminId));
                     if(list.size()>0){
                         param.setAdminIds(list);
                         param.setAdminId(null);
@@ -817,11 +831,94 @@ public class TOrderController {
         param.setIfForeign(isForeignUser(param.getAdminId()));
         log.info("param:{}", param);
         FgObjectUtil.objectNullOrEmptySel(param, "chartType$");
+        String adminId = param.getAdminId();
         ChartColumn chartColumn = new ChartColumn();
         if(StringUtils.isNotEmpty(param.getAdminId())){
             TAdmin admin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(param.getAdminId())));
             if(admin.getType()<2){
                 param.setAdminId(null);
+            }else {
+                if(admin.getType()==2){
+                    //商家
+                    if(param.getEquipmentId()!=null&&param.getEquipmentId()!=""){
+                        //查机器
+                        TEquipment equipment = R.getDataIfSuccess(szwlFeign.findById(param.getEquipmentId()));
+                        param.setClientId(equipment.getClientId());
+
+                    }
+                    if(StringUtils.isNotEmpty(param.getClientId())){
+                        param.setAdminId(null);
+                        //判断是否是这个商家的
+                        TEquipment tEquipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(param.getClientId()));
+                        if(tEquipment.getAdminId().toString().equals(admin.getId().toString())){
+                            param.setClientId(tEquipment.getClientId());
+                            param.setEquipmentId(String.valueOf(tEquipment.getId()));
+                        }
+                    }
+                }
+                if(admin.getType()==3){
+                    //子账户只能查相对的机器的订单
+                    //商家子账户
+                    if(param.getEquipmentId()!=null){
+                        //查机器
+                        TEquipment equipment = R.getDataIfSuccess(szwlFeign.findById(param.getEquipmentId()));
+                        param.setClientId(equipment.getClientId());
+
+                    }else{
+                        TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getId())));
+                        if(adminEquipment.getType().equals("0")){
+//                        TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+//                        param.setAdminId(admin1.getId().toString());
+                            param.setAdminId(admin.getParentId().toString());
+                        }else {
+                            List<String> list = R.getDataIfSuccess(szwlFeign.getClientIds(adminId));
+                            param.setClientIds(list);
+                            if(StringUtils.isNotEmpty(adminEquipment.getEquipmentIds())){
+                                List<String> strings = Arrays.asList(adminEquipment.getEquipmentIds().split(","));
+                                param.setEquipmentIds(strings);
+                            }else {
+                                return ResponseEntity
+                                        .status(HttpStatus.OK)
+                                        .body(new ResultMessage()
+                                                .setCode(false)
+                                                .setData(null)
+                                                .setMessage("没有绑定机器/no machine"));
+                            }
+                            param.setAdminId(null);
+                        }
+                    }
+                    if(StringUtils.isNotEmpty(param.getClientId())){
+                        param.setAdminId(null);
+                        //判断是否是这个子账号的
+                        TEquipment tEquipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(param.getClientId()));
+
+                        TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getId())));
+                        if(adminEquipment.getType().equals("0")){
+                            TAdmin admin1 = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+                            if(tEquipment.getAdminId().toString().equals(admin1.getId())){
+                                param.setAdminId(null);
+                                param.setClientId(tEquipment.getClientId());
+                                param.setEquipmentId(String.valueOf(tEquipment.getId()));
+                            }
+                        }else {
+                            int i = 0;
+                            List<String> list = R.getDataIfSuccess(szwlFeign.getClientIds(adminId));
+                            if(list.size()>0){
+                                for(String clientID:list){
+                                    if(clientID.equals(tEquipment.getClientId())){
+                                        i++;
+                                    }
+                                }
+                            }
+                            if(i>0){
+                                param.setClientId(tEquipment.getClientId());
+                                param.setEquipmentId(String.valueOf(tEquipment.getId()));
+                            }
+
+                        }
+                    }
+                }
+
             }
         }
 

+ 3 - 1
src/main/java/com/szwl/feign/SzwlFeign.java

@@ -35,7 +35,9 @@ public interface SzwlFeign {
     ResponseModel<TEquipment> findEquipmentByClientId(@RequestParam String clientId);
     @PostMapping("/tEquipment/getEquipmentByNameAndId")
     ResponseModel<TEquipment> getEquipmentByNameAndId(@RequestBody TEquipment equipment);
-    @PostMapping("/tEquipment/findById2")
+//    @PostMapping("/tEquipment/findById2")
+//    ResponseModel<TEquipment> findById(@RequestParam String id);
+    @GetMapping("/tEquipment/findEquipmentById")
     ResponseModel<TEquipment> findById(@RequestParam String id);
     @GetMapping("/tAdmin/pageAdmin2")
     ResponseModel<IPage<TAdmin>>  pageAdmin2(@RequestParam(value = "current") long current, @RequestParam(value = "size") long size);

+ 3 - 0
src/main/java/com/szwl/model/query/StatisticsParam.java

@@ -44,6 +44,9 @@ public class StatisticsParam {
     @ApiModelProperty(value="")
     private List<String> ClientIds;
 
+    @ApiModelProperty(value="")
+    private List<String> equipmentIds;
+
     @ApiModelProperty(value="开始日期")
     private String startDate;
 

+ 7 - 1
src/main/java/com/szwl/service/es/EsTEquipmentService.java

@@ -10,6 +10,7 @@ import com.szwl.feign.SzwlFeign;
 import com.szwl.model.bean.ChartBean;
 import com.szwl.model.bean.ChartColumn;
 import com.szwl.model.bo.R;
+import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.entity.TEquipment;
 import com.szwl.model.query.StatisticsParam;
 import com.szwl.model.query.TCoinOrderParam;
@@ -190,7 +191,9 @@ public class EsTEquipmentService extends EsBaseService<TEquipment, TEquipmentPar
         Date end = DateUtils.parseDate(endDate+" 23:59:59",DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss,new Date());
         TOrderParam tOrderParam = new TOrderParam();
         tOrderParam.setStatus(1);
-
+        if(param.getEquipmentIds()!=null&&param.getEquipmentIds().size()>0){ // 设备id
+            tOrderParam.setEquipmentId_inList(param.getEquipmentIds());
+        }
         tOrderParam.setCreateDate_start(start);
         tOrderParam.setCreateDate_end(end);
         if(StringUtils.isNotEmpty(param.getAdminId())){ // 所属商家id
@@ -277,6 +280,9 @@ public class EsTEquipmentService extends EsBaseService<TEquipment, TEquipmentPar
         tCoinOrderParam.setPayDate_start(start);
 //        tCoinOrderParam.setCreateDate_end(end);
         tCoinOrderParam.setPayDate_end(end);
+        if(param.getClientIds().size()>0){ // 设备
+            tCoinOrderParam.setClientId_inList(param.getClientIds());
+        }
         if(StringUtils.isNotEmpty(param.getAdminId())){ // 所属商家id
             tCoinOrderParam.setAdminId(Long.parseLong(param.getAdminId()));
         }

+ 6 - 0
src/main/java/com/szwl/service/es/EsTOrderService.java

@@ -202,6 +202,9 @@ public class EsTOrderService extends EsBaseService<TOrder, TOrderParam> {
             if(StringUtils.isNotEmpty(param.getEquipmentId())){ // 设备id
                 tOrderParam.setEquipmentId(Long.parseLong(param.getEquipmentId()));
             }
+            if(param.getEquipmentIds()!=null&&param.getEquipmentIds().size()>0){ // 设备id
+                tOrderParam.setEquipmentId_inList(param.getEquipmentIds());
+            }
             if(StringUtils.isNotEmpty(param.getPayType())){ // 支付方式
                 tOrderParam.setFrpCode(param.getPayType());
             }
@@ -237,6 +240,9 @@ public class EsTOrderService extends EsBaseService<TOrder, TOrderParam> {
             if(StringUtils.isNotEmpty(param.getAdminId())){ // 所属商家id
                 tCoinOrderParam.setAdminId(Long.parseLong(param.getAdminId()));
             }
+            if(param.getClientIds().size()>0){ // 设备
+                tCoinOrderParam.setClientId_inList(param.getClientIds());
+            }
             boolQueryBuilder = esTCoinOrderService.getParam2QueryBuilder(tCoinOrderParam);
         }
         return boolQueryBuilder;

+ 3 - 3
src/main/resources/bootstrap.yml

@@ -47,9 +47,9 @@ eureka:
     serviceUrl:
       defaultZone: http://120.25.151.99:49001/eureka/
     register-with-eureka: true
-  instance:
-    prefer-ip-address: true
-    ip-address: 120.25.151.99
+#  instance:
+#    prefer-ip-address: true
+#    ip-address: 120.25.151.99
 
 ---
 ##正式环境