Prechádzať zdrojové kódy

feat(user): 实现C端用户分页查询功能

- 添加CUserInfoController控制器,提供用户信息分页查询接口- 优化用户查询逻辑,移除冗余的登录状态检查
- 扩展FindPageCUserInfoRequestDTO类,继承PageDTO并实现序列化
- 在SysUserMapper中新增findCUserPage方法及对应XML查询语句
- 更新SysUserServiceImpl中的findByCUserInfo方法,调用新的mapper方法
-修复WeChatProfitSharingService中回调处理的返回逻辑
wzq 3 dní pred
rodič
commit
77ab5be2f3

+ 1 - 2
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/pay/config/WeChatProfitSharingService.java

@@ -532,12 +532,11 @@ public class WeChatProfitSharingService {
             response.setStatus(200);
             result.put("code", "SUCCESS");
             result.put("message", "成功");
-            return result;
         } else {
             result.put("code", "FAIL");
             result.put("message", "失败");
-            return result;
         }
+        return result;
     }
 
     private static WechatCallbackRefundData getRefundCallbackData(JSONObject res) {

+ 6 - 17
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/CUserInfoController.java

@@ -4,7 +4,9 @@ package org.jeecg.modules.system.app.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
 import org.jeecg.common.api.vo.Result;
@@ -13,10 +15,7 @@ import org.jeecg.modules.system.app.dto.FindPageCUserInfoRequestDTO;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -30,10 +29,10 @@ import javax.servlet.http.HttpServletRequest;
 @RestController
 @RequestMapping("/cUserInfo")
 @Slf4j
+@AllArgsConstructor
 public class CUserInfoController {
 
-    @Autowired
-    ISysUserService iSysUserService;
+    private final ISysUserService sysUserService;
 
     @Operation(summary="家庭成员信息表-分页列表查询")
     @GetMapping(value = "/list")
@@ -41,16 +40,6 @@ public class CUserInfoController {
                                                                      @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                                      @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                                                      HttpServletRequest req) {
-        Subject subject = SecurityUtils.getSubject();
-        LoginUser loginUser =null;
-        if (subject.isAuthenticated()) {
-            // 获取当前登录的用户信息
-            loginUser= (LoginUser) subject.getPrincipal();
-        }
-        if (loginUser==null){
-            return Result.error("当前未登录,请先登录;或者未获取到用户信息,请联系管理员");
-        }
-        findPageCUserInfoRequestDTO.setOrgCode(loginUser.getOrgCode());
-        return Result.OK(iSysUserService.findByCUserInfo(pageNo,pageSize,findPageCUserInfoRequestDTO));
+        return Result.OK(sysUserService.findByCUserInfo(pageNo,pageSize,findPageCUserInfoRequestDTO));
     }
 }

+ 7 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/dto/FindPageCUserInfoRequestDTO.java

@@ -6,6 +6,10 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
+import org.jeecg.modules.app.dto.PageDTO;
+
+import java.io.Serial;
+import java.io.Serializable;
 
 /**
  * 意见反馈
@@ -16,7 +20,9 @@ import lombok.experimental.Accessors;
 @AllArgsConstructor
 @NoArgsConstructor
 @Schema(description="C端用户请求入参")
-public class FindPageCUserInfoRequestDTO {
+public class FindPageCUserInfoRequestDTO extends PageDTO implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
 
     //用户昵称
     @Schema(description = "用户昵称")

+ 3 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -245,4 +245,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 	SysUser findByUserName(@Param("username") String username);
 
 	Integer updateDelStatus(@Param("sysUser") SysUser sysUser);
+
+    IPage<FindPageCUserInfoResponseDTO> findCUserPage(Page<FindPageCUserInfoResponseDTO> page,
+                                                      @Param("findPageCUserInfoRequestDTO") FindPageCUserInfoRequestDTO findPageCUserInfoRequestDTO);
 }

+ 27 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -335,4 +335,31 @@
 		left join  nm_instructor b on a.id = b.user_id and b.del_flag =0
 		where a.del_flag =0 and a.user_identity=1 and a.id =#{id}
 	</select>
+    <select id="findCUserPage" resultType="org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO">
+        SELECT
+            u.id,
+            u.realname AS username,
+            u.avatar,
+            u.phone,
+            nfm.real_name_status,
+            tem.num AS familyNum,
+            u.create_time
+        FROM
+            sys_user u
+                LEFT JOIN nm_family_members nfm ON u.id = nfm.user_id AND nfm.user_type = 0
+                LEFT JOIN ( SELECT fm.user_id, COUNT(*) AS num FROM nm_family_members fm WHERE fm.del_flag = 0 GROUP BY fm.user_id ) AS tem ON u.id = tem.user_id
+        <where>
+            u.del_flag = 0
+            AND nfm.del_flag = 0
+            AND u.user_identity = 3
+            AND u.org_code IS NULL
+            <if test="findPageCUserInfoRequestDTO.username!=null  and findPageCUserInfoRequestDTO.username!=''">
+                and u.username like CONCAT('%',#{findPageCUserInfoRequestDTO.username},'%')
+            </if>
+            <if test="findPageCUserInfoRequestDTO.realNameStatus!=null">
+                and nfm.real_name_status=#{findPageCUserInfoRequestDTO.realNameStatus}
+            </if>
+        </where>
+            ORDER BY u.create_time DESC
+    </select>
 </mapper>

+ 1 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -2373,7 +2373,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 	@Override
 	public IPage<FindPageCUserInfoResponseDTO> findByCUserInfo(Integer pageNo, Integer pageSize, FindPageCUserInfoRequestDTO findPageCUserInfoRequestDTO) {
 		Page<FindPageCUserInfoResponseDTO> page = new Page<FindPageCUserInfoResponseDTO>(pageNo, pageSize);
-		return userMapper.findPage(page, findPageCUserInfoRequestDTO);
+		return userMapper.findCUserPage(page, findPageCUserInfoRequestDTO);
 	}
 
 	@Override