Selaa lähdekoodia

增加定时任务 ai自动回复消息

zrd 3 kuukautta sitten
vanhempi
sitoutus
34bbd3c3b5
20 muutettua tiedostoa jossa 279 lisäystä ja 7 poistoa
  1. 14 0
      yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/ai/AiApi.java
  2. 19 0
      yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/ai/dto/DifyaiReqDTO.java
  3. 35 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/ai/AiApiImpl.java
  4. 2 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/aipromptmanagement/WorkflowRunService.java
  5. 8 0
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/aipromptmanagement/WorkflowRunServiceImpl.java
  6. 85 0
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/AppKeFuConversationController.java
  7. 3 3
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/AppKeFuMessageController.java
  8. 1 1
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/vo/message/AppKeFuMessageSendReqVO.java
  9. 13 0
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/kefu/KeFuConversationMapper.java
  10. 76 0
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/job/kefu/KefuAiJob.java
  11. 2 0
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/kefu/KeFuConversationService.java
  12. 5 0
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/kefu/KeFuConversationServiceImpl.java
  13. 5 2
      yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/kefu/KeFuMessageServiceImpl.java
  14. 1 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/userbusinesslicense/vo/UserBusinessLicensePageReqVO.java
  15. 2 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserBusinessLicenseController.java
  16. 2 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserIdcardController.java
  17. 2 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserInformationController.java
  18. 2 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserPersonalCreditController.java
  19. 1 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/userbusinesslicense/UserBusinessLicenseMapper.java
  20. 1 1
      yudao-server/src/main/resources/application-local.yaml

+ 14 - 0
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/ai/AiApi.java

@@ -0,0 +1,14 @@
+package cn.iocoder.yudao.module.infra.api.ai;
+
+import cn.iocoder.yudao.module.infra.api.ai.dto.DifyaiReqDTO;
+
+/**
+ * 文件 API 接口
+ *
+ * @author 芋道源码
+ */
+public interface AiApi {
+    
+    
+    String ai(DifyaiReqDTO createReqVO);
+}

+ 19 - 0
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/ai/dto/DifyaiReqDTO.java

@@ -0,0 +1,19 @@
+package cn.iocoder.yudao.module.infra.api.ai.dto;
+
+import lombok.Data;
+
+@Data
+public class DifyaiReqDTO {
+    
+    
+    /**
+     * 事件类型
+     */
+    private String type;
+    /**
+     * 内容
+     */
+    private String content;
+    
+    
+}

+ 35 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/api/ai/AiApiImpl.java

@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.infra.api.ai;
+
+import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
+import cn.iocoder.yudao.module.infra.api.ai.dto.DifyaiReqDTO;
+import cn.iocoder.yudao.module.infra.service.aipromptmanagement.WorkflowRunService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 文件 API 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class AiApiImpl implements AiApi {
+    
+    @Resource
+    private WorkflowRunService workflowRunService;
+    
+    
+    @Override
+    public String ai(DifyaiReqDTO createReqVO) {
+        Map<String, Object> inputs = new HashMap<>();
+        String apiKey = DictFrameworkUtils.parseDictDataValue("ai_key", "文本处理");
+        inputs.put("type", createReqVO.getType());
+        
+        inputs.put("content", createReqVO.getContent());
+        return workflowRunService.getDifyResul(inputs, createReqVO.getType(), apiKey, 1L);
+    }
+}

+ 2 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/aipromptmanagement/WorkflowRunService.java

@@ -38,4 +38,6 @@ public interface WorkflowRunService {
     String getDifyResul(Map<String, Object> inputs, String eventType);
     
     String getDifyResul(Map<String, Object> inputs, String eventType, String aiKey);
+    
+    String getDifyResul(Map<String, Object> inputs, String eventType, String aiKey, Long userId);
 }

+ 8 - 0
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/aipromptmanagement/WorkflowRunServiceImpl.java

@@ -237,4 +237,12 @@ public class WorkflowRunServiceImpl implements WorkflowRunService {
         DifyResponse response = getDifyResponse(inputs, SecurityFrameworkUtils.getLoginUserId().toString(), aiKey);
         return response.getData().getOutputs().getText();
     }
+    
+    @Override
+    public String getDifyResul(Map<String, Object> inputs, String eventType, String aiKey, Long userId) {
+        // 创建 inputs 的 Map
+//        inputs.put("images", list);
+        DifyResponse response = getDifyResponse(inputs, userId.toString(), aiKey);
+        return response.getData().getOutputs().getText();
+    }
 }

+ 85 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/AppKeFuConversationController.java

@@ -0,0 +1,85 @@
+package cn.iocoder.yudao.module.promotion.controller.app.kefu;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
+import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
+import cn.iocoder.yudao.module.promotion.controller.admin.kefu.vo.conversation.KeFuConversationRespVO;
+import cn.iocoder.yudao.module.promotion.controller.admin.kefu.vo.conversation.KeFuConversationUpdatePinnedReqVO;
+import cn.iocoder.yudao.module.promotion.dal.dataobject.kefu.KeFuConversationDO;
+import cn.iocoder.yudao.module.promotion.service.kefu.KeFuConversationService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen;
+
+@Tag(name = "APP - 客服会话")
+@RestController
+@RequestMapping("/promotion/kefu-conversation")
+@Validated
+public class AppKeFuConversationController {
+    
+    @Resource
+    private KeFuConversationService conversationService;
+    @Resource
+    private MemberUserApi memberUserApi;
+    
+    @GetMapping("/get")
+    @Operation(summary = "获得客服会话")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    public CommonResult<KeFuConversationRespVO> getConversation(@RequestParam("id") Long id) {
+        KeFuConversationDO conversation = conversationService.getConversation(id);
+        if (conversation == null) {
+            return success(null);
+        }
+        
+        // 拼接数据
+        KeFuConversationRespVO result = BeanUtils.toBean(conversation, KeFuConversationRespVO.class);
+        MemberUserRespDTO memberUser = memberUserApi.getUser(conversation.getUserId());
+        if (memberUser != null) {
+            result.setUserAvatar(memberUser.getAvatar()).setUserNickname(memberUser.getNickname());
+        }
+        return success(result);
+    }
+    
+    @PutMapping("/update-conversation-pinned")
+    @Operation(summary = "置顶/取消置顶客服会话")
+    public CommonResult<Boolean> updateConversationPinned(@Valid @RequestBody KeFuConversationUpdatePinnedReqVO updateReqVO) {
+        conversationService.updateConversationPinnedByAdmin(updateReqVO);
+        return success(true);
+    }
+    
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除客服会话")
+    @Parameter(name = "id", description = "编号", required = true)
+    public CommonResult<Boolean> deleteConversation(@RequestParam("id") Long id) {
+        conversationService.deleteKefuConversation(id);
+        return success(true);
+    }
+    
+    @GetMapping("/list")
+    @Operation(summary = "获得客服会话列表")
+    public CommonResult<List<KeFuConversationRespVO>> getConversationList() {
+        // 查询会话列表
+        List<KeFuConversationRespVO> respList = BeanUtils.toBean(conversationService.getKefuConversationList(),
+                KeFuConversationRespVO.class);
+        
+        // 拼接数据
+        Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(convertSet(respList,
+                KeFuConversationRespVO::getUserId));
+        respList.forEach(item -> findAndThen(userMap, item.getUserId(),
+                memberUser -> item.setUserAvatar(memberUser.getAvatar()).setUserNickname(memberUser.getNickname())));
+        return success(respList);
+    }
+    
+}

+ 3 - 3
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/AppKeFuMessageController.java

@@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.promotion.controller.app.kefu;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.promotion.controller.admin.kefu.vo.message.KeFuMessageListReqVO;
 import cn.iocoder.yudao.module.promotion.controller.admin.kefu.vo.message.KeFuMessageRespVO;
-import cn.iocoder.yudao.module.promotion.controller.app.kefu.vo.message.AppKeFuMessagePageReqVO;
 import cn.iocoder.yudao.module.promotion.controller.app.kefu.vo.message.AppKeFuMessageSendReqVO;
 import cn.iocoder.yudao.module.promotion.dal.dataobject.kefu.KeFuMessageDO;
 import cn.iocoder.yudao.module.promotion.service.kefu.KeFuMessageService;
@@ -56,8 +56,8 @@ public class AppKeFuMessageController {
 
     @GetMapping("/list")
     @Operation(summary = "获得客服消息列表")
-    public CommonResult<List<KeFuMessageRespVO>> getKefuMessageList(@Valid AppKeFuMessagePageReqVO pageReqVO) {
-        List<KeFuMessageDO> list = kefuMessageService.getKeFuMessageList(pageReqVO, getLoginUserId());
+    public CommonResult<List<KeFuMessageRespVO>> getKefuMessageList(@Valid KeFuMessageListReqVO pageReqVO) {
+        List<KeFuMessageDO> list = kefuMessageService.getKeFuMessageList(pageReqVO);
 
         // 拼接数据
         List<KeFuMessageRespVO> result = BeanUtils.toBean(list, KeFuMessageRespVO.class);

+ 1 - 1
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/app/kefu/vo/message/AppKeFuMessageSendReqVO.java

@@ -22,5 +22,5 @@ public class AppKeFuMessageSendReqVO {
     private Long senderId;
     @Schema(description = "发送人类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1", hidden = true)
     private Integer senderType;
-
+    private Long conversationId;
 }

+ 13 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/kefu/KeFuConversationMapper.java

@@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.promotion.dal.dataobject.kefu.KeFuConversationDO;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.List;
 
 /**
@@ -21,6 +23,17 @@ public interface KeFuConversationMapper extends BaseMapperX<KeFuConversationDO>
                 .eq(KeFuConversationDO::getAdminDeleted, Boolean.FALSE)
                 .orderByDesc(KeFuConversationDO::getCreateTime));
     }
+    
+    default List<KeFuConversationDO> selectConversationAiList() {
+        //判断getLastMessageTime跟当前时间 比差10分钟以上
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime tenMinutesAgo = now.minus(10, ChronoUnit.MINUTES);
+        return selectList(new LambdaQueryWrapperX<KeFuConversationDO>()
+                .eq(KeFuConversationDO::getAdminDeleted, Boolean.FALSE)
+                .ge(KeFuConversationDO::getAdminUnreadMessageCount, 1)
+                .le(KeFuConversationDO::getLastMessageTime, tenMinutesAgo)
+                .orderByDesc(KeFuConversationDO::getCreateTime));
+    }
 
     default void updateAdminUnreadMessageCountIncrement(Long id) {
         update(new LambdaUpdateWrapper<KeFuConversationDO>()

+ 76 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/job/kefu/KefuAiJob.java

@@ -0,0 +1,76 @@
+package cn.iocoder.yudao.module.promotion.job.kefu;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
+import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
+import cn.iocoder.yudao.module.infra.api.ai.AiApi;
+import cn.iocoder.yudao.module.infra.api.ai.dto.DifyaiReqDTO;
+import cn.iocoder.yudao.module.promotion.controller.admin.kefu.vo.message.KeFuMessageListReqVO;
+import cn.iocoder.yudao.module.promotion.controller.app.kefu.vo.message.AppKeFuMessageSendReqVO;
+import cn.iocoder.yudao.module.promotion.dal.dataobject.kefu.KeFuConversationDO;
+import cn.iocoder.yudao.module.promotion.dal.dataobject.kefu.KeFuMessageDO;
+import cn.iocoder.yudao.module.promotion.service.kefu.KeFuConversationService;
+import cn.iocoder.yudao.module.promotion.service.kefu.KeFuMessageService;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 物理删除 N 天前的任务日志的 Job
+ *
+ * @author j-sentinel
+ */
+@Slf4j
+@Component
+public class KefuAiJob implements JobHandler {
+    
+    @Resource
+    private AiApi aiApi;
+    @Resource
+    private KeFuConversationService keFuConversationService;
+    @Resource
+    private KeFuMessageService kefuMessageService;
+    
+    @Override
+    @TenantIgnore
+    public String execute(String param) {
+        //查询有未读消息的会话
+        List<KeFuConversationDO> conversationDOList = keFuConversationService.getKefuConversationAiList();
+        if (CollUtil.isNotEmpty(conversationDOList)) {
+            //查询消息  并发送给ai
+            for (KeFuConversationDO conversationDO : conversationDOList) {
+                DifyaiReqDTO difyaiReqDTO = new DifyaiReqDTO();
+                
+                KeFuMessageListReqVO pageReqVO = new KeFuMessageListReqVO();
+                pageReqVO.setConversationId(conversationDO.getId());
+                pageReqVO.setLimit(conversationDO.getAdminUnreadMessageCount());
+                List<KeFuMessageDO> list = kefuMessageService.getKeFuMessageList(pageReqVO);
+                if (CollUtil.isNotEmpty(list)) {
+                    if (CollUtil.isNotEmpty(list)) {
+                        StringBuilder stringBuilder = new StringBuilder();
+                        for (KeFuMessageDO keFuMessageDO : list) {
+                            stringBuilder.append(keFuMessageDO.getContent());
+                            stringBuilder.append("\n");
+                            
+                        }
+                        difyaiReqDTO.setContent(stringBuilder.toString());
+                        difyaiReqDTO.setType("整理文案");
+                        String aiMessage = aiApi.ai(difyaiReqDTO);
+                        AppKeFuMessageSendReqVO sendReqVO = new AppKeFuMessageSendReqVO();
+                        sendReqVO.setSenderId(conversationDO.getUserId()).setSenderType(UserTypeEnum.ADMIN.getValue()); //
+                        // 设置用户编号和类型
+                        sendReqVO.setConversationId(conversationDO.getId());
+                        sendReqVO.setContent(aiMessage);
+                        sendReqVO.setContentType(1);
+                        kefuMessageService.sendKefuMessage(sendReqVO);
+                    }
+                }
+            }
+        }
+        return String.format("定时执行清理定时任务日志数量 %s 个", 1);
+    }
+    
+}

+ 2 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/kefu/KeFuConversationService.java

@@ -63,6 +63,8 @@ public interface KeFuConversationService {
      * @return 会话列表
      */
     List<KeFuConversationDO> getKefuConversationList();
+    
+    List<KeFuConversationDO> getKefuConversationAiList();
 
     /**
      * 【会员】获得或创建会话

+ 5 - 0
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/kefu/KeFuConversationServiceImpl.java

@@ -91,6 +91,11 @@ public class KeFuConversationServiceImpl implements KeFuConversationService {
     public List<KeFuConversationDO> getKefuConversationList() {
         return conversationMapper.selectConversationList();
     }
+    
+    @Override
+    public List<KeFuConversationDO> getKefuConversationAiList() {
+        return conversationMapper.selectConversationAiList();
+    }
 
     @Override
     public KeFuConversationDO getOrCreateConversation(Long userId) {

+ 5 - 2
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/kefu/KeFuMessageServiceImpl.java

@@ -81,8 +81,11 @@ public class KeFuMessageServiceImpl implements KeFuMessageService {
     public Long sendKefuMessage(AppKeFuMessageSendReqVO sendReqVO) {
         // 1.1 设置会话编号
         KeFuMessageDO kefuMessage = BeanUtils.toBean(sendReqVO, KeFuMessageDO.class);
-        KeFuConversationDO conversation = conversationService.getOrCreateConversation(sendReqVO.getSenderId());
-        kefuMessage.setConversationId(conversation.getId());
+        if (ObjUtil.isNull(kefuMessage.getConversationId())) {
+            KeFuConversationDO conversation = conversationService.getOrCreateConversation(sendReqVO.getSenderId());
+            kefuMessage.setConversationId(conversation.getId());
+        }
+        
         // 1.2 保存消息
         keFuMessageMapper.insert(kefuMessage);
 

+ 1 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/userbusinesslicense/vo/UserBusinessLicensePageReqVO.java

@@ -30,6 +30,7 @@ public class UserBusinessLicensePageReqVO extends PageParam {
     
     @Schema(description = "类型", example = "1")
     private String businessType;
+    private String creator;
     
     @Schema(description = "法定代表人")
     private String legalRepresentative;

+ 2 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserBusinessLicenseController.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.controller.app.user;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.member.controller.admin.userbusinesslicense.vo.UserBusinessLicensePageReqVO;
 import cn.iocoder.yudao.module.member.controller.admin.userbusinesslicense.vo.UserBusinessLicenseRespVO;
 import cn.iocoder.yudao.module.member.controller.admin.userbusinesslicense.vo.UserBusinessLicenseSaveReqVO;
@@ -59,6 +60,7 @@ public class AppUserBusinessLicenseController {
     @GetMapping("/page")
     @Operation(summary = "获得营业执照信息分页")
     public CommonResult<PageResult<UserBusinessLicenseRespVO>> getUserBusinessLicensePage(@Valid UserBusinessLicensePageReqVO pageReqVO) {
+        pageReqVO.setCreator(SecurityFrameworkUtils.getLoginUserId().toString());
         PageResult<UserBusinessLicenseDO> pageResult = userBusinessLicenseService.getUserBusinessLicensePage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, UserBusinessLicenseRespVO.class));
     }

+ 2 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserIdcardController.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.controller.app.user;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.member.controller.admin.useridcard.vo.UserIdcardPageReqVO;
 import cn.iocoder.yudao.module.member.controller.admin.useridcard.vo.UserIdcardRespVO;
 import cn.iocoder.yudao.module.member.controller.admin.useridcard.vo.UserIdcardSaveReqVO;
@@ -59,6 +60,7 @@ public class AppUserIdcardController {
     @GetMapping("/page")
     @Operation(summary = "获得身份证信息分页")
     public CommonResult<PageResult<UserIdcardRespVO>> getUserIdcardPage(@Valid UserIdcardPageReqVO pageReqVO) {
+        pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
         PageResult<UserIdcardDO> pageResult = userIdcardService.getUserIdcardPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, UserIdcardRespVO.class));
     }

+ 2 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserInformationController.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.controller.app.user;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.member.controller.admin.userinformation.vo.UserInformationPageReqVO;
 import cn.iocoder.yudao.module.member.controller.admin.userinformation.vo.UserInformationRespVO;
 import cn.iocoder.yudao.module.member.controller.admin.userinformation.vo.UserInformationSaveReqVO;
@@ -59,6 +60,7 @@ public class AppUserInformationController {
     @GetMapping("/page")
     @Operation(summary = "获得用户信息分页")
     public CommonResult<PageResult<UserInformationRespVO>> getUserInformationPage(@Valid UserInformationPageReqVO pageReqVO) {
+        pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
         PageResult<UserInformationDO> pageResult = userInformationService.getUserInformationPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, UserInformationRespVO.class));
     }

+ 2 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserPersonalCreditController.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.controller.app.user;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.member.controller.admin.userpersonalcredit.vo.UserPersonalCreditPageReqVO;
 import cn.iocoder.yudao.module.member.controller.admin.userpersonalcredit.vo.UserPersonalCreditRespVO;
 import cn.iocoder.yudao.module.member.controller.admin.userpersonalcredit.vo.UserPersonalCreditSaveReqVO;
@@ -59,6 +60,7 @@ public class AppUserPersonalCreditController {
     @GetMapping("/page")
     @Operation(summary = "获得个人信用报告分页")
     public CommonResult<PageResult<UserPersonalCreditRespVO>> getUserPersonalCreditPage(@Valid UserPersonalCreditPageReqVO pageReqVO) {
+        pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
         PageResult<UserPersonalCreditDO> pageResult = userPersonalCreditService.getUserPersonalCreditPage(pageReqVO);
         return success(BeanUtils.toBean(pageResult, UserPersonalCreditRespVO.class));
     }

+ 1 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/userbusinesslicense/UserBusinessLicenseMapper.java

@@ -29,6 +29,7 @@ public interface UserBusinessLicenseMapper extends BaseMapperX<UserBusinessLicen
                 .betweenIfPresent(UserBusinessLicenseDO::getIssueDate, reqVO.getIssueDate())
                 .betweenIfPresent(UserBusinessLicenseDO::getCreateTime, reqVO.getCreateTime())
                 .eqIfPresent(UserBusinessLicenseDO::getInfoImages, reqVO.getInfoImages())
+                .eqIfPresent(UserBusinessLicenseDO::getCreator, reqVO.getCreator())
                 .eqIfPresent(UserBusinessLicenseDO::getInfoStatus, reqVO.getInfoStatus())
                 .orderByDesc(UserBusinessLicenseDO::getId));
     }

+ 1 - 1
yudao-server/src/main/resources/application-local.yaml

@@ -5,7 +5,7 @@ server:
 spring:
   autoconfigure:
     exclude:
-      - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置
+      # - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置
       - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置
       - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置
       - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置