Prechádzať zdrojové kódy

feat(customer): 添加社会信用代码字段并优化查询逻辑

- 在客户信息中新增社会信用代码字段映射
- 为CustomerMessageVo添加status字段
- 在LoginUser模型中增加openid支持
- 修复订单服务中部门信息获取的空指针问题
- 重构联系人控制器的当前用户信息查询方法
- 更新远程用户BO中用户子类型枚举值说明
- 优化供应商信息查询条件添加动态筛选功能
hurx 13 hodín pred
rodič
commit
69a75c5cd4

+ 2 - 2
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/domain/bo/RemoteUserBo.java

@@ -114,8 +114,8 @@ public class RemoteUserBo implements Serializable {
     private Long roleId;
 
     /**
-     * 用户子类型 用户子类型(0=平台用户,1=供应商,2=伙伴商,3=商城用户)
-     * */
+     * 用户子类型 用户子类型(0=平台用户,1=供应商,2=伙伴商,3=商城用户,4=小程序用户)
+     */
     private String userSonType;
 
     /**

+ 6 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/model/LoginUser.java

@@ -151,6 +151,12 @@ public class LoginUser implements Serializable {
      * 伙伴商ID
      */
     private Long partnerId;
+
+    /**
+     * openid
+     */
+    private String openid;
+
     /**
      * 获取登录id
      */

+ 6 - 6
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/controller/pc/PcContactController.java

@@ -1,6 +1,7 @@
 package org.dromara.customer.controller.pc;
 
 import cn.dev33.satoken.annotation.SaIgnore;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
@@ -14,6 +15,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.web.core.BaseController;
+import org.dromara.customer.domain.CustomerContact;
 import org.dromara.customer.domain.bo.CustomerContactBo;
 import org.dromara.customer.domain.vo.CustomerContactVo;
 import org.dromara.customer.service.ICustomerContactService;
@@ -42,18 +44,16 @@ public class PcContactController extends BaseController {
      * 获取当前登录用户的个人信息
      */
     @GetMapping("/current")
-    public R<CustomerContactVo> getCurrentUserInfo() {
+    public R<CustomerContact> getCurrentUserInfo() {
         // TODO: 需要根据当前登录用户的实际ID查询联系人信息
         // 目前LoginHelper.getUserId()返回的是customerId(企业ID)
         // 需要通过其他方式(如手机号、用户名)来查询当前用户的联系人记录
         Long userId = LoginHelper.getLoginUser().getUserId();
 
         // 查询该企业下的联系人(不限制是否为主联系人)
-        CustomerContactBo bo = new CustomerContactBo();
-        bo.setId(userId);
-        CustomerContactVo customerContactVo = customerContactService.queryById(userId);
-        if (customerContactVo != null) {
-            return R.ok(customerContactVo);
+        CustomerContact one = customerContactService.getOne(new LambdaQueryWrapper<CustomerContact>().eq(CustomerContact::getUserId, userId).last("limit 1"));
+        if (one != null) {
+            return R.ok(one);
         }
 
         return R.fail("未找到当前用户信息");

+ 1 - 1
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/domain/vo/CustomerMessageVo.java

@@ -65,5 +65,5 @@ public class CustomerMessageVo implements Serializable {
 
     private Date createTime;
 
-
+    private String status;
 }

+ 1 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/CustomerInfoServiceImpl.java

@@ -999,6 +999,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<CustomerInfoMapper, Cus
         customerEntity.setBusinessCustomerName(companyInfo.getResult().getName());
         customerEntity.setShortName(companyInfo.getResult().getName());
         customerEntity.setInvoiceTop(companyInfo.getResult().getName());
+        customerEntity.setSocialCreditCode(companyInfo.getResult().getCreditCode());
         customerEntity.setStatus("0"); // 正常状态
         customerEntity.setDelFlag("0"); // 未删除
         boolean insertSuccess = false;

+ 2 - 0
ruoyi-modules/ruoyi-customer/src/main/java/org/dromara/customer/service/impl/SupplierInfoServiceImpl.java

@@ -712,6 +712,8 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
             // 步骤2:查询主表(info)状态为 0 的数据
             LambdaQueryWrapper<SupplierInfo> mainLqw = buildCommonQueryWrapper(bo);
             mainLqw.eq(SupplierInfo::getSupplyStatus, SupplierStatusEnum.PENDING_REVIEW.getCode()); // 状态0:待审核(可替换为 SupplierStatusEnum.PENDING_REVIEW.getCode())
+            mainLqw.eq(StringUtils.isNotBlank(bo.getSupplierNo()), SupplierInfo::getSupplierNo, bo.getSupplierNo());
+            mainLqw.like(StringUtils.isNotBlank(bo.getEnterpriseName()), SupplierInfo::getEnterpriseName, bo.getEnterpriseName());
             Page<SupplierInfoVo> mainPage = baseMapper.selectVoPage(new Page<>(1, Integer.MAX_VALUE), mainLqw); // 查询全部符合条件的数据,不做分页
             if (!CollectionUtils.isEmpty(mainPage.getRecords())) {
                 mainTableVoList = mainPage.getRecords();

+ 4 - 2
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/service/impl/OrderMainServiceImpl.java

@@ -579,8 +579,10 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
 
         LoginUser userInfo = remoteUserService.getUserInfo(mainBo.getUserId(), "000000");
         if (ObjectUtils.isNotEmpty(userInfo)) {
-            mainBo.setUserDept(userInfo.getDeptName());
-            mainBo.setCreateDept(userInfo.getDeptId());
+            if (null != userInfo.getDeptId()) {
+                mainBo.setUserDept(userInfo.getDeptId().toString());
+                mainBo.setCreateDept(userInfo.getDeptId());
+            }
         }
         if (null != remoteCustomerSalesVo) {
             Long salesPersonId = remoteCustomerSalesVo.getSalesPersonId();//销售人员id