Browse Source

fix:“修复子账号订单导出空白问题”

soobin 1 year ago
parent
commit
80096656e9
1 changed files with 125 additions and 64 deletions
  1. 125 64
      src/main/java/com/szwl/controller/TOrderController.java

+ 125 - 64
src/main/java/com/szwl/controller/TOrderController.java

@@ -15,10 +15,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.szwl.common.aop.LogAnnotation;
 import com.szwl.common.aop.LogAnnotation;
 import com.szwl.constant.ResponseCodesEnum;
 import com.szwl.constant.ResponseCodesEnum;
 import com.szwl.feign.SzwlFeign;
 import com.szwl.feign.SzwlFeign;
-import com.szwl.model.bean.ChartColumn;
-import com.szwl.model.bean.OrderDaoChuDTO;
-import com.szwl.model.bean.OrderDetailsVo;
-import com.szwl.model.bean.OrderVo;
+import com.szwl.model.bean.*;
 import com.szwl.model.bo.JsonMessage;
 import com.szwl.model.bo.JsonMessage;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.bo.ResponseModel;
@@ -535,14 +532,6 @@ public class TOrderController {
                 for (TEquipment equipment : equipmentList) {
                 for (TEquipment equipment : equipmentList) {
                     equipmentMap.put(equipment.getClientId(), equipment.getName());
                     equipmentMap.put(equipment.getClientId(), equipment.getName());
                 }
                 }
-//                List<TCoinOrder> orderList = iPage.getRecords();
-//                if (orderList.size() > 0) {
-////                    TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(orderList.get(0).getClientId()));
-//                    for (TCoinOrder order : orderList) {
-//                        TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(orderList.get(0).getClientId()));
-//                        order.setEs(equipment.getName());
-//                    }
-//                }
                 for (TCoinOrder coinOrder : coinOrderList) {
                 for (TCoinOrder coinOrder : coinOrderList) {
                     String coinOrderClientId = coinOrder.getClientId();
                     String coinOrderClientId = coinOrder.getClientId();
                     String name = equipmentMap.get(coinOrderClientId);
                     String name = equipmentMap.get(coinOrderClientId);
@@ -1274,10 +1263,14 @@ public class TOrderController {
                     if (area != null) {
                     if (area != null) {
                         orderDaoChuDTO.setAddress(area.getFullName());
                         orderDaoChuDTO.setAddress(area.getFullName());
                     }
                     }
-                    ResponseModel<List<String>> clientIds = szwlFeign.getClientIds(String.valueOf(admin.getId()));
-                    List<String> stringList = clientIds.getData();
-                    if (stringList != null && stringList.size() > 0) {
-                        orderDaoChuDTO.setEquipmentTotal(String.valueOf(stringList.size()));
+//                    ResponseModel<List<String>> clientIds = szwlFeign.getClientIds(String.valueOf(admin.getId()));
+//                    List<String> stringList = clientIds.getData();
+//                    if (stringList != null && stringList.size() > 0) {
+//                        orderDaoChuDTO.setEquipmentTotal(String.valueOf(stringList.size()));
+//                    }
+                    List<TEquipment> equipmentList = R.getDataIfSuccess(szwlFeign.listEquipment(adminId1));
+                    if (equipmentList != null && equipmentList.size() > 0) {
+                        orderDaoChuDTO.setEquipmentTotal(String.valueOf(equipmentList.size()));
                     }
                     }
                     //商户为单位
                     //商户为单位
                     ResponseModel<TAdmin> feignAdmin = szwlFeign.getAdmin(String.valueOf(admin.getParentId()));
                     ResponseModel<TAdmin> feignAdmin = szwlFeign.getAdmin(String.valueOf(admin.getParentId()));
@@ -1558,60 +1551,128 @@ public class TOrderController {
 
 
         //1,线下
         //1,线下
         if (type.equals("1")) {
         if (type.equals("1")) {
+//            LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
+//            if (StringUtils.isNotEmpty(userName) && !userName.equals("admin")) {
+//                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
+//                TAdmin data = adminByUsername.getData();
+//                if (data == null || data.getId() == null) {
+//                    return R.fail(ResponseCodesEnum.A0001, "找不到商家");
+//                }
+//                query.eq(TCoinOrder::getAdminId, data.getId());
+//            } else if (StringUtils.isEmpty(userName)) {
+//                //adminType="all"时,代表查全部下级  子账户没有这个权限  公司人员默认查所有人
+//                if (StringUtils.isNotEmpty(adminType)) {
+//                    if (admin.getIsAdmined() && admin.getType() > 1) {
+//                        if (admin.getType() > 1) {
+//                            if (adminType.equals("all")) {
+//                                //查找所有下级
+//                                List<Long> admidIdList = R.getDataIfSuccess(szwlFeign.getAdminIdList(adminId));
+//                                query.in(TCoinOrder::getAdminId, admidIdList);
+//                            }
+//                        }
+//                    } else {
+//                        if (admin.getType() > 1) {
+//                            //登录账户为子账户 不查下级 只查对应机器的订单
+//                            TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getParentId())));
+//                            if (adminEquipment.getType().equals("0")) {
+//                                //全部机器
+//                                TAdmin upAdmin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+//                                query.eq(TCoinOrder::getAdminId, upAdmin.getId());
+//                            } else {
+//                                String equipmentIds = adminEquipment.getEquipmentIds();
+//                                List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
+//                                query.in(TCoinOrder::getClientId, equipmentIdList);
+//                            }
+//                        }
+//                    }
+//
+//                } else {
+//                    //判断当前账号状态 公司还是商家
+//                    if (admin.getType() > 1) {
+//                        //商家 判断是否子账户
+//                        if (admin.getIsAdmined()) {
+//                            //商家自己
+//                            query.eq(TCoinOrder::getAdminId, adminId);
+//                        } else {
+//                            //商家 子账户
+//                            //登录账户为子账户 不查下级 只查对应机器的订单
+//                            TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getParentId())));
+//                            if (adminEquipment.getType().equals("0")) {
+//                                //全部机器
+//                                TAdmin upAdmin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+//                                query.eq(TCoinOrder::getAdminId, upAdmin.getId());
+//                            } else {
+//                                String equipmentIds = adminEquipment.getEquipmentIds();
+//                                List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
+//                                query.in(TCoinOrder::getClientId, equipmentIdList);
+//                            }
+//                        }
+//                    }
+//                }
             LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
             LambdaQueryWrapper<TCoinOrder> query = Wrappers.lambdaQuery();
-            if (StringUtils.isNotEmpty(userName) && !userName.equals("admin")) {
-                ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
-                TAdmin data = adminByUsername.getData();
-                if (data == null || data.getId() == null) {
-                    return R.fail(ResponseCodesEnum.A0001, "找不到商家");
+            if (!userName.equals("admin")) {
+                // 如果为账户
+                if (admin.getType() > 2) {
+                    userName = null;
                 }
                 }
-                query.eq(TCoinOrder::getAdminId, data.getId());
-            } else if (StringUtils.isEmpty(userName)) {
-                //adminType="all"时,代表查全部下级  子账户没有这个权限  公司人员默认查所有人
-                if (StringUtils.isNotEmpty(adminType)) {
-                    if (admin.getIsAdmined() && admin.getType() > 1) {
-                        if (admin.getType() > 1) {
-                            if (adminType.equals("all")) {
-                                //查找所有下级
-                                List<Long> admidIdList = R.getDataIfSuccess(szwlFeign.getAdminIdList(adminId));
-                                query.in(TCoinOrder::getAdminId, admidIdList);
+                if (StringUtils.isNotEmpty(userName)) {
+                    ResponseModel<TAdmin> adminByUsername = szwlFeign.getAdminByUsername(userName);
+                    TAdmin data = adminByUsername.getData();
+                    if (data == null || data.getId() == null) {
+                        return R.fail(ResponseCodesEnum.A0001, "找不到商家");
+                    }
+                    query.eq(TCoinOrder::getAdminId, data.getId());
+                } else {
+                    //adminType="all"时,代表查全部下级  子账户没有这个权限  公司人员默认查所有人
+                    if (StringUtils.isNotEmpty(adminType)) {
+                        if (admin.getIsAdmined() && admin.getType() > 1) {
+                            if (admin.getType() > 1) {
+                                if (adminType.equals("all")) {
+                                    //查找所有下级
+                                    List<Long> admidIdList = R.getDataIfSuccess(szwlFeign.getAdminIdList(adminId));
+                                    query.in(TCoinOrder::getAdminId, admidIdList);
+                                }
                             }
                             }
-                        }
-                    } else {
-                        if (admin.getType() > 1) {
-                            //登录账户为子账户 不查下级 只查对应机器的订单
-                            TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getParentId())));
-                            if (adminEquipment.getType().equals("0")) {
-                                //全部机器
-                                TAdmin upAdmin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
-                                query.eq(TCoinOrder::getAdminId, upAdmin.getId());
-                            } else {
-                                String equipmentIds = adminEquipment.getEquipmentIds();
-                                List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
-                                query.in(TCoinOrder::getClientId, equipmentIdList);
+                        } else {
+                            if (admin.getType() > 1) {
+                                //登录账户为子账户 不查下级 只查对应机器的订单
+                                TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getParentId())));
+                                if (adminEquipment.getType().equals("0")) {
+                                    //全部机器
+                                    TAdmin upAdmin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+                                    query.eq(TCoinOrder::getAdminId, upAdmin.getId());
+                                } else {
+                                    String equipmentIds = adminEquipment.getEquipmentIds();
+                                    List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
+                                    query.in(TCoinOrder::getClientId, equipmentIdList);
+                                }
                             }
                             }
                         }
                         }
-                    }
 
 
-                } else {
-                    //判断当前账号状态 公司还是商家
-                    if (admin.getType() > 1) {
-                        //商家 判断是否子账户
-                        if (admin.getIsAdmined()) {
-                            //商家自己
-                            query.eq(TCoinOrder::getAdminId, adminId);
-                        } else {
-                            //商家 子账户
-                            //登录账户为子账户 不查下级 只查对应机器的订单
-                            TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(admin.getParentId())));
-                            if (adminEquipment.getType().equals("0")) {
-                                //全部机器
-                                TAdmin upAdmin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
-                                query.eq(TCoinOrder::getAdminId, upAdmin.getId());
-                            } else {
-                                String equipmentIds = adminEquipment.getEquipmentIds();
-                                List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
-                                query.in(TCoinOrder::getClientId, equipmentIdList);
+                    } else {
+                        //判断当前账号状态 公司还是商家
+                        if (admin.getType() > 1) {
+                            //商家 判断是否子账户
+                            if (!admin.getIsAdmined()) {
+                                //商家自己
+//                        query.eq(TCoinOrder::getAdminId,adminId);
+//                            } else {
+                                //商家 子账户
+                                //登录账户为子账户 不查下级 只查对应机器的订单
+                                TAdminEquipment adminEquipment = R.getDataIfSuccess(szwlFeign.getClientIdList(String.valueOf(adminId)));
+                                if (adminEquipment != null) {
+                                    if (adminEquipment.getType().equals("0")) {
+                                        //全部机器
+                                        TAdmin upAdmin = R.getDataIfSuccess(szwlFeign.getAdmin(String.valueOf(admin.getParentId())));
+                                        query.eq(TCoinOrder::getAdminId, upAdmin.getId());
+                                    } else {
+                                        String equipmentIds = adminEquipment.getEquipmentIds();
+//                                    List<String> equipmentIdList = JSON.parseArray(equipmentIds, String.class);
+                                        List<String> equipmentIdList = Arrays.asList(equipmentIds.split(","));
+                                        query.in(TCoinOrder::getEquipmentId, equipmentIdList);
+                                    }
+                                    query.eq(TCoinOrder::getAdminId, admin.getParentId());
+                                }
                             }
                             }
                         }
                         }
                     }
                     }