diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java new file mode 100644 index 00000000..8d59cc5c --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.common; +/** + * 通用常量类 + * @author PQZ + * @date 16:20 2024/8/1 + **/ +public class BaseConstants { + /**政企客户经办人*/ + public static final String CUS_TYPE_CORP_ATTN = "04"; +} diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java index 9d91b118..246b00f4 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.custom.controller.admin; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.custom.entity.CustomerMain; import cn.iocoder.yudao.module.custom.service.CustomerMainService; import cn.iocoder.yudao.module.custom.vo.CustomerMainPageReqVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainRespVO; @@ -17,6 +18,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; + import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; /** @@ -113,8 +116,22 @@ public class CustomerMainController { @Operation(summary = "获得客户管理") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('base:customer-main:query')") - public CommonResult getCustomerMain(@RequestParam("id") String id) { - return success(true); + public CommonResult getCustomerMain(@RequestParam("id") String id) { + return success(customerMainService.getCustomerById(id)); + } + + + /** + * 根据经办人所属企业查询经办人信息 + * @author PQZ + * @date 16:15 2024/8/2 + * @param deptCode 经办人所属企业code + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @GetMapping("/getAttn") + @Operation(summary = "根据deptCode获取经办人信息") + public CommonResult> getCustomerMainByDeptCode(@RequestParam("deptCode") String deptCode) { + return success(customerMainService.getCustomerByDeptCode(deptCode)); } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CustomerMainService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CustomerMainService.java index 6526b6a4..9f5714d7 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CustomerMainService.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CustomerMainService.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * 客户管理 Service 接口 * @@ -36,4 +38,22 @@ public interface CustomerMainService extends IService { **/ void saveCustomer(CustomerMainSaveReqVO saveReqVO); + /** + * 根据客户id查询客户信息 + * @author PQZ + * @date 15:12 2024/8/2 + * @param id 客户id + * @return cn.iocoder.yudao.module.custom.vo.CustomerMainRespVO + **/ + CustomerMainRespVO getCustomerById(String id); + + /** + * 根据经办人所属企业查询经办人信息 + * @author PQZ + * @date 16:15 2024/8/2 + * @param deptCode 经办人所属企业code + * @return java.util.List + **/ + List getCustomerByDeptCode(String deptCode); + } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerItemServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerItemServiceImpl.java index 18358e8d..fc5c1645 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerItemServiceImpl.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerItemServiceImpl.java @@ -38,6 +38,10 @@ public class CustomerItemServiceImpl extends ServiceImpl { + item.setId(null); + item.setCusId(cusId); + }); this.saveBatch(itemList); } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerMainServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerMainServiceImpl.java index 76316517..43837569 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerMainServiceImpl.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CustomerMainServiceImpl.java @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.custom.service.impl; import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.custom.entity.CustomerItem; import cn.iocoder.yudao.module.custom.entity.CustomerMain; import cn.iocoder.yudao.module.custom.mapper.CustomerMainMapper; import cn.iocoder.yudao.module.custom.service.CustomerItemService; @@ -10,6 +12,7 @@ import cn.iocoder.yudao.module.custom.service.CustomerMainService; import cn.iocoder.yudao.module.custom.vo.CustomerMainPageReqVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainRespVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainSaveReqVO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,6 +21,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.List; +import java.util.UUID; + +import static cn.iocoder.yudao.common.BaseConstants.CUS_TYPE_CORP_ATTN; /** * 客户管理 Service 实现类 @@ -44,7 +51,7 @@ public class CustomerMainServiceImpl extends ServiceImpl queryListPage(CustomerMainPageReqVO pageReqVO, Page page) { - return customerMainMapper.selectListPage(pageReqVO,page); + return customerMainMapper.selectListPage(pageReqVO, page); } /** @@ -58,19 +65,60 @@ public class CustomerMainServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(BaseDO::getDeleted, 0).eq(CustomerItem::getCusId, id); + List itemList = customerItemService.list(lambdaQueryWrapper); + CustomerMainRespVO result = JSONUtil.toBean(JSONUtil.parseObj(main).toJSONString(0), CustomerMainRespVO.class); + result.setItemList(itemList); + return result; + } + + /** + * 根据经办人所属企业查询经办人信息 + * + * @param deptCode 经办人所属企业code + * @return java.util.List + * @author PQZ + * @date 16:15 2024/8/2 + **/ + @Override + public List getCustomerByDeptCode(String deptCode) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(BaseDO::getDeleted, 0).eq(CustomerMain::getDeptCode, deptCode).eq(CustomerMain::getTypeCode, CUS_TYPE_CORP_ATTN); + return list(lambdaQueryWrapper); + } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerMainRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerMainRespVO.java index 16033b48..4d4e22c8 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerMainRespVO.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerMainRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.custom.vo; +import cn.iocoder.yudao.module.custom.entity.CustomerItem; import cn.iocoder.yudao.module.custom.entity.CustomerMain; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -12,18 +13,12 @@ import com.alibaba.excel.annotation.*; @Data @ExcelIgnoreUnannotated public class CustomerMainRespVO extends CustomerMain { - /**客户管理子表id*/ - private String itemId; - /**系统标识*/ - private String systemCode; - /**用户等级*/ - private String userLevel; + /**服务内容*/ - private String serContent; - /**服务开始时间*/ - private Date serTimeStart; - /**服务结束时间*/ - private Date serTimeEnd; - /**大json*/ - private String bigJson; + private String serContents; + /**车辆数量*/ + private Integer carCount; + /**扩展信息*/ + List itemList; + } \ No newline at end of file diff --git a/dl-module-base/src/main/resources/mapper/custom/CustomerMainMapper.xml b/dl-module-base/src/main/resources/mapper/custom/CustomerMainMapper.xml index cd85ccdb..8b76cd05 100644 --- a/dl-module-base/src/main/resources/mapper/custom/CustomerMainMapper.xml +++ b/dl-module-base/src/main/resources/mapper/custom/CustomerMainMapper.xml @@ -28,16 +28,10 @@ main.inviter AS inviter, main.inviter_type AS inviterType, main.status AS status, - item.id AS itemId, - item.system_code AS systemCode, - item.user_level AS userLevel, - item.ser_content AS serContent, - item.ser_time_start AS serTimeStart, - item.ser_time_end AS serTimeEnd, - item.big_json AS bigJson + group_concat(item.ser_content) AS serContents FROM base_customer_main main - LEFT JOIN base_customer_item item ON main.id = item.cus_id + LEFT JOIN base_customer_item item ON main.id = item.cus_id AND item.deleted = 0 main.deleted = 0 @@ -50,6 +44,7 @@ AND item.system_code = #{entity.systemCode} + GROUP BY main.id ORDER BY main.create_time DESC \ No newline at end of file