Ver código fonte

获取应用用户列表增加筛选条件

marxjaw 4 meses atrás
pai
commit
97140f9cc4

+ 1 - 1
yt-agent/agent-service/src/main/java/com/ytpm/service/impl/YtAppUserServiceImpl.java

@@ -75,7 +75,7 @@ public class YtAppUserServiceImpl implements YtAppUserService {
         List<YtApp> ytApps = appMapper.queryAll(userInfo.getUserId());
         //远程调用各应用查询用户数据 目前先只有好运答题王 TODO 根据包名反射创建Feign 遍历远程方法进行调用获取用户信息
         List<YtAppUserListView> views = new ArrayList<>();
-        ResultTable<YtDyzUser> resultTable = appFeign.queryAll();
+        ResultTable<YtDyzUser> resultTable = appFeign.queryAll(param);
         for (YtApp ytApp : ytApps) {
             if("a684009039113d".equals(ytApp.getAppId())){
                 YtAppUserListView ytAppUserListView;

+ 2 - 1
yt-app/app-feign/src/main/java/com/ytpm/feign/AppFeign.java

@@ -2,6 +2,7 @@ package com.ytpm.feign;
 
 import com.ytpm.app.model.YtDyzAdRecord;
 import com.ytpm.app.model.YtDyzUser;
+import com.ytpm.app.param.YtAppUserListParam;
 import com.ytpm.general.Result;
 import com.ytpm.general.ResultTable;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -13,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 @FeignClient(name = "app-service")
 public interface AppFeign {
     @GetMapping("/user/queryAll")
-    ResultTable<YtDyzUser> queryAll();
+    ResultTable<YtDyzUser> queryAll(@RequestBody YtAppUserListParam param);
     @GetMapping("/user/getUserInfo")
     Result<YtDyzUser> getUserInfo(@RequestParam("userId") String userId);
     @GetMapping("/user/getUserList")

+ 3 - 2
yt-app/app-service/src/main/java/com/ytpm/controller/UserController.java

@@ -3,6 +3,7 @@ package com.ytpm.controller;
 import com.github.pagehelper.PageInfo;
 import com.ytpm.app.model.YtDyzAdRecord;
 import com.ytpm.app.model.YtDyzUser;
+import com.ytpm.app.param.YtAppUserListParam;
 import com.ytpm.dao.AdRecordMapper;
 import com.ytpm.dao.AppUserMapper;
 import com.ytpm.dao.LoginRecordMapper;
@@ -36,8 +37,8 @@ public class UserController {
      * 查询app 所有玩家
      */
     @GetMapping("/queryAll")
-    public ResultTable<YtDyzUser> queryAll(){
-        List<YtDyzUser> dyzUsers = appUserMapper.queryAll();
+    public ResultTable<YtDyzUser> queryAll(@RequestBody YtAppUserListParam param){
+        List<YtDyzUser> dyzUsers = appUserMapper.queryAll(param);
         if(dyzUsers.isEmpty()) return ResultTable.resultTableOk(new PageInfo<YtDyzUser>(dyzUsers));
         List<YtDyzAdRecord> ids = adRecordMapper.getByUserIds(
                 dyzUsers.stream().map(YtDyzUser::getUserId).collect(Collectors.joining(",")));

+ 2 - 1
yt-app/app-service/src/main/java/com/ytpm/dao/AppUserMapper.java

@@ -2,6 +2,7 @@ package com.ytpm.dao;
 
 import com.ytpm.app.model.YtDyzPowerRecord;
 import com.ytpm.app.model.YtDyzUser;
+import com.ytpm.app.param.YtAppUserListParam;
 import org.apache.ibatis.annotations.Param;
 import org.mapstruct.Mapper;
 
@@ -46,7 +47,7 @@ public interface AppUserMapper {
     /**
      * 查询所有玩家
      */
-    List<YtDyzUser> queryAll();
+    List<YtDyzUser> queryAll(YtAppUserListParam param);
 
     /**
      * 查询用户信息

+ 25 - 0
yt-app/app-service/src/main/resources/mapper/AppUserMapper.xml

@@ -144,6 +144,31 @@
         select
             user_id, ditch_id, nick_name,head_img, power, registry_time, last_login_time, last_login_ip, login_days, total_video, total_income, red_packet_balance, red_packet_amount, points_balance, points_total, withdraw_total, sign_days, user_status, risk_reason, wx_open_id, platform_id
         from yt_dyz_user
+        where 1 = 1
+        <if test="userId != null and userId !=''">
+            and user_id = #{userId}
+        </if>
+        <if test="nickName != null and nickName !=''">
+            and nick_name like concat('%',#{nickName},'%')
+        </if>
+        <if test="ditch_id != null">
+            and ditch_id = #{ditchId}
+        </if>
+        <if test="userStatus != null">
+            and user_status = #{userStatus}
+        </if>
+        <if test="registryTimeBegin != null">
+            and DATE_FORMAT(registry_time, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{registryTimeBegin}, '%Y-%m-%d')
+        </if>
+        <if test="registryTimeEnd != null">
+            and DATE_FORMAT(registry_time, '%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(#{registryTimeEnd}, '%Y-%m-%d')
+        </if>
+        <if test="lastLoginTimeBegin != null">
+            and DATE_FORMAT(last_login_time, '%Y-%m-%d') <![CDATA[>=]]> DATE_FORMAT(#{lastLoginTimeBegin}, '%Y-%m-%d')
+        </if>
+        <if test="lastLoginTimeEnd != null">
+            and DATE_FORMAT(last_login_time, '%Y-%m-%d') <![CDATA[<=]]> DATE_FORMAT(#{lastLoginTimeEnd}, '%Y-%m-%d')
+        </if>
     </select>
     <select id="selectPrimaryKey" resultType="com.ytpm.app.model.YtDyzUser">
         select

+ 10 - 4
yt-common/src/main/java/com/ytpm/app/param/YtAppUserListParam.java

@@ -12,10 +12,14 @@ import java.util.Date;
 @Data
 @ApiModel("应用用户列表入参")
 public class YtAppUserListParam extends PageMeta {
-    @ApiModelProperty("注册时间")
-    private Date registryTime;
-    @ApiModelProperty("最新登录时间")
-    private Date lastLoginTime;
+    @ApiModelProperty("注册时间开始")
+    private Date registryTimeBegin;
+    @ApiModelProperty("注册时间结束")
+    private Date registryTimeEnd;
+    @ApiModelProperty("最新登录时间开始")
+    private Date lastLoginTimeBegin;
+    @ApiModelProperty("最新登录时间结束")
+    private Date lastLoginTimeEnd;
     @ApiModelProperty("渠道类型")
     private Integer channelType;
     @ApiModelProperty("渠道来源")
@@ -24,4 +28,6 @@ public class YtAppUserListParam extends PageMeta {
     private Integer userType;
     @ApiModelProperty("用户昵称")
     private String nickName ;
+    @ApiModelProperty("用户状态")
+    private Integer userStatus;
 }