Переглянути джерело

fix 车次管理新增用户id,名称,账号筛选

chenbiao 3 роки тому
батько
коміт
8c2a4cc8b8

+ 6 - 0
netflix-dao/src/main/java/com/cyksj/mapper/GroupsRelationMapper.java

@@ -2,10 +2,16 @@ package com.cyksj.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.GroupsRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @author chan
  * @date 2022/9/27 11:10 AM
  */
 public interface GroupsRelationMapper extends BaseMapper<GroupsRelation> {
+
+    List<Long> getAccountIdsByUserIdOrNickNameOrSubmitAccount(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("submitAccount") String submitAccount);
+
 }

+ 20 - 0
netflix-dao/src/main/resources/mapper/GroupRelationMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.cyksj.mapper.GroupsRelationMapper">
+    <select id="getAccountIdsByUserIdOrNickNameOrSubmitAccount" resultType="java.lang.Long">
+        select gr.groups_id
+        from groups_relation gr,
+             `user` u
+                where  gr.user_id = u.id
+        <if test="nickName != null and nickName != ''">
+            and u.nickname like '%${nickName}%'
+        </if>
+        <if test="userId != null">
+            and u.id = #{userId,jdbcType=BIGINT}
+        </if>
+        <if test="submitAccount != null and submitAccount != ''">
+            and gr.account = #{submitAccount,jdbcType=VARCHAR}
+        </if>
+        group by gr.groups_id
+    </select>
+</mapper>

+ 18 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java

@@ -3,15 +3,18 @@ package com.cyksj.web.controller.manage.group;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.GroupsRelationMapper;
 import com.cyksj.model.entity.Account;
 import com.cyksj.model.entity.GoodsDonSku;
 import com.cyksj.model.entity.GroupsTrips;
+import com.cyksj.model.manage.views.AccountView;
 import com.cyksj.service.mange.CmsAccountService;
 import com.cyksj.service.mange.CmsGoodsDonSkuService;
 import com.cyksj.service.mange.CmsGroupService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
 import com.ejlchina.searcher.param.Operator;
+import com.ejlchina.searcher.util.MapBuilder;
 import com.ejlchina.searcher.util.MapUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -19,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * @author chan
@@ -40,10 +44,22 @@ public class CmsGroupController {
 
     private final CmsAccountService accountService;
 
+    private final GroupsRelationMapper relationMapper;
+
 
     @GetMapping("/get")
-    public Result<SearchResult<GroupsTrips>> get(String account){
-        SearchResult<GroupsTrips> search = beanSearcher.search(GroupsTrips.class, MapUtils.flatBuilder(request.getParameterMap())
+    public Result<SearchResult<GroupsTrips>> get(String account,Long userId ,String nickName ,String submitAccount){
+        MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
+        if(userId != null || StringUtils.isNotBlank(nickName) || StringUtils.isNotBlank(submitAccount)){
+            List<Long> ids = relationMapper.getAccountIdsByUserIdOrNickNameOrSubmitAccount(userId, nickName ,submitAccount);
+            if(ids.isEmpty()){
+                return GatewayResponse.SUCCESS.newBuilder().toResult(new SearchResult<>());
+            }
+
+            mapBuilder.field(GroupsTrips::getId, ids).op(Operator.InList);
+        }
+
+        SearchResult<GroupsTrips> search = beanSearcher.search(GroupsTrips.class, mapBuilder
                 .field(GroupsTrips::getAccount, StringUtils.isBlank(account) ? null : account).op(Operator.EndWith)
                 .build()
         );