lyhzzz 1 rok pred
rodič
commit
9325fe00f8

+ 3 - 0
src/main/java/com/fdkankan/agent/mapper/IUserIncrementMapper.java

@@ -3,6 +3,7 @@ package com.fdkankan.agent.mapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.response.UserIncrementVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -21,4 +22,6 @@ import java.util.List;
 public interface IUserIncrementMapper extends BaseMapper<UserIncrement> {
 
     Page<UserIncrementVo> pageList(Page<UserIncrement> page, IncrementParam param);
+
+    List<Long> getByAgentId(CameraParam param);
 }

+ 8 - 0
src/main/java/com/fdkankan/agent/service/IUserIncrementService.java

@@ -2,9 +2,13 @@ package com.fdkankan.agent.service;
 
 import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  * 用户增值权益表 服务类
@@ -22,4 +26,8 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     void addIncrement(IncrementParam param, AgentNewVo agentNewVo);
 
     void renew(IncrementParam param,AgentNewVo agentNewVo);
+
+    HashMap<Long, UserIncrement> getByCameraIds(List<Long> cameraIds);
+
+    List<Long> getByAgentId(CameraParam param);
 }

+ 28 - 0
src/main/java/com/fdkankan/agent/service/impl/CameraServiceImpl.java

@@ -6,12 +6,14 @@ import com.fdkankan.agent.common.PageInfo;
 import com.fdkankan.agent.common.util.IncrementUtil;
 import com.fdkankan.agent.entity.Camera;
 import com.fdkankan.agent.entity.IncrementType;
+import com.fdkankan.agent.entity.UserIncrement;
 import com.fdkankan.agent.mapper.ICameraMapper;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.response.CameraDetailVo;
 import com.fdkankan.agent.service.ICameraService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.agent.service.IIncrementTypeService;
+import com.fdkankan.agent.service.IUserIncrementService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -33,10 +35,36 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
 
     @Autowired
     IIncrementTypeService incrementTypeService;
+    @Autowired
+    IUserIncrementService userIncrementService;
 
     @Override
     public Object pageList(CameraParam param) {
+        if(param.getIncrementStatus() != null){
+            List<Long> cameraIds = userIncrementService.getByAgentId(param);
+        }
+        if(param.getIncrementTypeId() != null){
+            List<Long> cameraIds = userIncrementService.getByAgentId(param);
+        }
+
         Page<CameraDetailVo> voPage = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
+        List<Long> cameraIds = voPage.getRecords().stream().map(CameraDetailVo::getId).collect(Collectors.toList());
+        HashMap<Long, UserIncrement> userIncrementHashMap = userIncrementService.getByCameraIds(cameraIds);
+
+        Set<Integer> incrementTypeIds = userIncrementHashMap.values().stream().map(UserIncrement::getIncrementTypeId).collect(Collectors.toSet());
+        HashMap<Integer, IncrementType> typeMap = incrementTypeService.getMapByIds(incrementTypeIds);
+
+        for (CameraDetailVo record : voPage.getRecords()) {
+            UserIncrement userIncrement = userIncrementHashMap.get(record.getId());
+            if(userIncrement != null){
+                record.setIncrementStatus(userIncrement.getIsExpired());
+                record.setIncrementTypeId(userIncrement.getIncrementTypeId());
+                IncrementType incrementType = typeMap.get(userIncrement.getIncrementTypeId());
+                if(incrementType != null){
+                    record.setValidTimeType(incrementType.getValidTimeType());
+                }
+            }
+        }
 
         return PageInfo.PageInfo(voPage);
     }

+ 20 - 4
src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java

@@ -12,6 +12,7 @@ import com.fdkankan.agent.entity.User;
 import com.fdkankan.agent.entity.UserIncrement;
 import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.mapper.IUserIncrementMapper;
+import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.response.UserIncrementVo;
@@ -23,10 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * <p>
@@ -185,4 +183,22 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         agentNewService.subNum(agentNewVo,user.getId(),incrementType,1,param.getTotalTime(),1);
 
     }
+
+    @Override
+    public HashMap<Long, UserIncrement> getByCameraIds(List<Long> cameraIds) {
+        HashMap<Long, UserIncrement> map = new HashMap<>();
+        if(cameraIds .isEmpty()){
+            return map;
+        }
+        LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(UserIncrement::getCameraId,cameraIds);
+        List<UserIncrement> list = this.list(wrapper);
+        list.forEach(e -> map.put(e.getCameraId(),e));
+        return map;
+    }
+
+    @Override
+    public List<Long> getByAgentId(CameraParam param) {
+        return this.getBaseMapper().getByAgentId(param);
+    }
 }

+ 3 - 13
src/main/resources/mapper/agent/CameraMapper.xml

@@ -4,13 +4,11 @@
 
     <select id="pageList" resultType="com.fdkankan.agent.response.CameraDetailVo">
         select c.id ,c.sn_code,c.activated_time ,d.create_time as outTime ,d.type,d.own as outType  ,u.user_name, c.wifi_name,
-        d.order_sn,ui.increment_type_id,ui.is_expired  as incrementStatus ,uit.valid_time_type
+        d.order_sn
         from t_camera c
         left join t_camera_detail d on c.id = d.camera_id
         left join t_user u on d.user_id = u.id
-        left join t_user_increment ui on d.camera_id = ui.camera_id
-        left join t_increment_type uit on ui.increment_type_id = uit.id
-        where c.rec_status = 'A' and (ui.rec_status = 'A' or ui.rec_status is null)
+        where c.rec_status = 'A'
         and d.agent_id = #{param.agentId}
         <if test="param.userId !=null ">
             and d.user_id = #{param.userId}
@@ -24,15 +22,7 @@
         <if test="param.userName !=null and param.userName != '' ">
             and u.user_name like  concat('%',#{param.userName},'%')
         </if>
-        <if test="param.incrementTypeId !=null ">
-            and ui.increment_type_id = #{param.incrementTypeId}
-        </if>
-        <if test="param.incrementStatus !=null and param.incrementStatus != -1">
-            and ui.is_expired = #{param.incrementStatus}
-        </if>
-        <if test="param.incrementStatus !=null and param.incrementStatus == -1">
-            and ui.id is null
-        </if>
+
         <if test="param.bindStatus !=null and param.bindStatus == 0">
             and d.user_id is null
         </if>

+ 13 - 0
src/main/resources/mapper/agent/UserIncrementMapper.xml

@@ -18,4 +18,17 @@
         </if>
         order by ui.create_time desc
     </select>
+    <select id="getByAgentId" resultType="java.lang.Long">
+        select  camera_id from  t_user_increment ui left join t_camera_detail d on ui.camera_id = d.camera_id
+        where ui.rec_status = 'A' and d.rec_status = 'A'
+        <if test="param.agentId != null ">
+            and d.agent_id = #{param.agentId}
+        </if>
+        <if test="param.incrementStatus != null ">
+            and ui.is_expired = #{param.incrementStatus}
+        </if>
+        <if test="param.incrementTypeId != null ">
+            and ui.increment_type_id = #{param.incrementTypeId}
+        </if>
+    </select>
 </mapper>