فهرست منبع

解决APP订单分页查询问题

qinfenglong 2 سال پیش
والد
کامیت
9208a447eb

+ 3 - 1
src/main/java/com/ydtech/modules/esm/dao/EsmUserReferrerMapper.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.esm.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.admin.model.vo.SysReferrerVo;
 import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
+import com.ydtech.modules.admin.model.vo.SysUserVO;
 import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.esm.model.EsmUserReferrer;
 import org.apache.ibatis.annotations.Param;
@@ -79,6 +80,7 @@ public interface EsmUserReferrerMapper extends BaseMapper<EsmUserReferrer> {
     @Select({"<script>", "select count(1) ", referrerFromSql,referrerWhereSql, "</script>"})
     int countReferrerByAffiliation(@Param("page") PageDto pageDto);
 
-
+    @Select("select id,referrer_id,referrer_name,`level`,affiliation from esm_user_referrer t where t.affiliation=#{affiliation}")
+    List<EsmUserReferrer> queryList(@Param("affiliation") String affiliation);
 
 }

+ 1 - 0
src/main/java/com/ydtech/modules/esm/service/EsmUserReferrerService.java

@@ -45,6 +45,7 @@ public interface EsmUserReferrerService extends IService<EsmUserReferrer> {
 
     public List<EsmTeamPolicyVO> countTeamPolicy(String whereCase, Object[] paramValues);
 
+    public List<EsmUserReferrer> queryList(String affiliation);
 }
 
 

+ 4 - 0
src/main/java/com/ydtech/modules/esm/service/impl/EsmUserReferrerServiceImpl.java

@@ -236,6 +236,10 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
 
         return recordList;
     }
+
+    public List<EsmUserReferrer> queryList(String affiliation){
+        return super.baseMapper.queryList(affiliation);
+    }
 }
 
 

+ 28 - 6
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -12,8 +12,12 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.SysUserRole;
 import com.ydtech.modules.admin.service.SysDeptService;
+import com.ydtech.modules.admin.service.SysUserRoleService;
 import com.ydtech.modules.admin.service.SysUserService;
+import com.ydtech.modules.esm.model.EsmUserReferrer;
+import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.modules.fee.service.impl.FeeRuleSchemeServiceImpl;
 import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
@@ -39,12 +43,10 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
+import tk.mybatis.mapper.additional.idlist.IdListMapper;
 
 import javax.validation.constraints.NotBlank;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -62,6 +64,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final SysUserService sysUserService;
 
+    private final SysUserRoleService sysUserRoleService;
+
+    private final EsmUserReferrerService esmUserReferrerService;
+
     private final SysDeptService sysDeptService;
 
     private final StringRedisTemplate redisTemplate;
@@ -72,9 +78,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final FeeRuleSchemeServiceImpl feeRuleSchemeService;
 
-    public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService, SysDeptService sysDeptService, StringRedisTemplate redisTemplate, @Lazy InsAreaCompanyService insAreaCompanyService, PtlAgreementService ptlAgreementService, @Lazy FeeRuleSchemeServiceImpl feeRuleSchemeService) {
+    public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService,SysUserRoleService sysUserRoleService, EsmUserReferrerService esmUserReferrerService, SysDeptService sysDeptService, StringRedisTemplate redisTemplate, @Lazy InsAreaCompanyService insAreaCompanyService, PtlAgreementService ptlAgreementService, @Lazy FeeRuleSchemeServiceImpl feeRuleSchemeService) {
         this.orderComponents = orderComponents;
         this.sysUserService = sysUserService;
+        this.sysUserRoleService = sysUserRoleService;
+        this.esmUserReferrerService = esmUserReferrerService;
         this.sysDeptService = sysDeptService;
         this.redisTemplate = redisTemplate;
         this.insAreaCompanyService = insAreaCompanyService;
@@ -190,11 +198,25 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             orderQueryVo.setUserId("");
         }
 
+        List idList = new ArrayList();
+        if(StringUtils.isNotEmpty(orderQueryVo.getUserId())){
+            SysUserRole userRole = sysUserRoleService.selectByUserId(orderQueryVo.getUserId());
+
+            if(21 == userRole.getRoleId()){ //团队长可查询下面所有人员订单
+                List<EsmUserReferrer> list = esmUserReferrerService.queryList(orderQueryVo.getUserId());
+                for(EsmUserReferrer referrer:list){
+                    idList.add(referrer.getId());
+                }
+            }else{
+                idList.add(orderQueryVo.getUserId()); //个代只能查自己订单信息
+            }
+        }
         // 构造查询条件
         LambdaQueryWrapper<InsOrders> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(StringUtils.isNotEmpty(orderQueryVo.getOrderNo()), InsOrders::getOrderno, orderQueryVo.getOrderNo())
                 .likeRight(StringUtils.isNotEmpty(orderQueryVo.getDeptId()), InsOrders::getDeptid, orderQueryVo.getDeptId())
-                .eq(StringUtils.isEmpty(orderQueryVo.getDeptId()) && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid, orderQueryVo.getUserId())
+//                .eq(StringUtils.isEmpty(orderQueryVo.getDeptId()) && StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid, orderQueryVo.getUserId())
+                .in(StringUtils.isNotEmpty(orderQueryVo.getUserId()), InsOrders::getUserid, idList)
                 .eq(StringUtils.isNotEmpty(orderQueryVo.getOrderStatus()), InsOrders::getOrderstatus, orderQueryVo.getOrderStatus())
                 .likeRight(StringUtils.isNotEmpty(orderQueryVo.getFrameNo()), InsOrders::getFrameno, orderQueryVo.getFrameNo())
                 .likeRight(StringUtils.isNotEmpty(orderQueryVo.getLicenseNo()), InsOrders::getLicenseno, orderQueryVo.getLicenseNo())