mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 10:18:42 +08:00 
			
		
		
		
	CRM: 获取模块操作日志接口抽离
This commit is contained in:
		| @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants; | |||||||
| import cn.iocoder.yudao.module.crm.service.contact.CrmContactBusinessService; | import cn.iocoder.yudao.module.crm.service.contact.CrmContactBusinessService; | ||||||
| import cn.iocoder.yudao.module.crm.service.contact.CrmContactService; | import cn.iocoder.yudao.module.crm.service.contact.CrmContactService; | ||||||
| import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | ||||||
| import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; |  | ||||||
| import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | ||||||
| import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | ||||||
| import com.google.common.collect.Lists; | import com.google.common.collect.Lists; | ||||||
| @@ -46,7 +43,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | |||||||
| import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | ||||||
| import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | ||||||
| import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||||||
| import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CONTACT_TYPE; |  | ||||||
|  |  | ||||||
| @Tag(name = "管理后台 - CRM 联系人") | @Tag(name = "管理后台 - CRM 联系人") | ||||||
| @RestController | @RestController | ||||||
| @@ -64,8 +60,6 @@ public class CrmContactController { | |||||||
|  |  | ||||||
|     @Resource |     @Resource | ||||||
|     private AdminUserApi adminUserApi; |     private AdminUserApi adminUserApi; | ||||||
|     @Resource |  | ||||||
|     private OperateLogApi operateLogApi; |  | ||||||
|  |  | ||||||
|     @PostMapping("/create") |     @PostMapping("/create") | ||||||
|     @Operation(summary = "创建联系人") |     @Operation(summary = "创建联系人") | ||||||
| @@ -158,17 +152,6 @@ public class CrmContactController { | |||||||
|                 buildContactDetailPage(pageResult).getList()); |                 buildContactDetailPage(pageResult).getList()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @GetMapping("/operate-log-page") |  | ||||||
|     @Operation(summary = "获得客户操作日志") |  | ||||||
|     @PreAuthorize("@ss.hasPermission('crm:customer:query')") |  | ||||||
|     public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@RequestParam("bizId") Long bizId) { |  | ||||||
|         OperateLogV2PageReqDTO reqVO = new OperateLogV2PageReqDTO(); |  | ||||||
|         reqVO.setPageSize(PAGE_SIZE_NONE); // 不分页 |  | ||||||
|         reqVO.setBizType(CRM_CONTACT_TYPE); |  | ||||||
|         reqVO.setBizId(bizId); |  | ||||||
|         return success(operateLogApi.getOperateLogPage(BeanUtils.toBean(reqVO, OperateLogV2PageReqDTO.class))); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 构建详细的联系人分页结果 |      * 构建详细的联系人分页结果 | ||||||
|      * |      * | ||||||
|   | |||||||
| @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService | |||||||
| import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | ||||||
| import cn.iocoder.yudao.module.system.api.dept.DeptApi; | import cn.iocoder.yudao.module.system.api.dept.DeptApi; | ||||||
| import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | ||||||
| import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; |  | ||||||
| import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | ||||||
| import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | ||||||
| import io.swagger.v3.oas.annotations.Operation; | import io.swagger.v3.oas.annotations.Operation; | ||||||
| @@ -44,7 +41,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | |||||||
| import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | ||||||
| import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | ||||||
| import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||||||
| import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CUSTOMER_TYPE; |  | ||||||
|  |  | ||||||
| @Tag(name = "管理后台 - CRM 客户") | @Tag(name = "管理后台 - CRM 客户") | ||||||
| @RestController | @RestController | ||||||
| @@ -60,8 +56,7 @@ public class CrmCustomerController { | |||||||
|     private DeptApi deptApi; |     private DeptApi deptApi; | ||||||
|     @Resource |     @Resource | ||||||
|     private AdminUserApi adminUserApi; |     private AdminUserApi adminUserApi; | ||||||
|     @Resource |  | ||||||
|     private OperateLogApi operateLogApi; |  | ||||||
|  |  | ||||||
|     @PostMapping("/create") |     @PostMapping("/create") | ||||||
|     @Operation(summary = "创建客户") |     @Operation(summary = "创建客户") | ||||||
| @@ -182,19 +177,6 @@ public class CrmCustomerController { | |||||||
|         return success(true); |         return success(true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // TODO @puhui999:要不搞个通用的 CrmOperateLogController,之后所有业务都调用它? |  | ||||||
|     @GetMapping("/operate-log-page") |  | ||||||
|     @Operation(summary = "获得客户操作日志") |  | ||||||
|     @Parameter(name = "id", description = "客户编号", required = true) |  | ||||||
|     @PreAuthorize("@ss.hasPermission('crm:customer:query')") |  | ||||||
|     public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@RequestParam("id") Long id) { |  | ||||||
|         OperateLogV2PageReqDTO reqDTO = new OperateLogV2PageReqDTO(); |  | ||||||
|         reqDTO.setPageSize(PAGE_SIZE_NONE); // 不分页 |  | ||||||
|         reqDTO.setBizType(CRM_CUSTOMER_TYPE); |  | ||||||
|         reqDTO.setBizId(id); |  | ||||||
|         return success(operateLogApi.getOperateLogPage(reqDTO)); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @PutMapping("/lock") |     @PutMapping("/lock") | ||||||
|     @Operation(summary = "锁定/解锁客户") |     @Operation(summary = "锁定/解锁客户") | ||||||
|     @PreAuthorize("@ss.hasPermission('crm:customer:update')") |     @PreAuthorize("@ss.hasPermission('crm:customer:update')") | ||||||
|   | |||||||
| @@ -0,0 +1,62 @@ | |||||||
|  | package cn.iocoder.yudao.module.crm.controller.admin.operatelog; | ||||||
|  |  | ||||||
|  | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
|  | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
|  | import cn.iocoder.yudao.module.crm.controller.admin.operatelog.vo.CrmOperateLogPageReqVO; | ||||||
|  | import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum; | ||||||
|  | import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; | ||||||
|  | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; | ||||||
|  | import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; | ||||||
|  | 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.security.access.prepost.PreAuthorize; | ||||||
|  | import org.springframework.validation.annotation.Validated; | ||||||
|  | import org.springframework.web.bind.annotation.GetMapping; | ||||||
|  | import org.springframework.web.bind.annotation.RequestMapping; | ||||||
|  | import org.springframework.web.bind.annotation.RestController; | ||||||
|  |  | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||||
|  | import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | ||||||
|  | import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.*; | ||||||
|  |  | ||||||
|  | @Tag(name = "管理后台 - 操作日志") | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/crm/operate-log") | ||||||
|  | @Validated | ||||||
|  | public class CrmOperateLogController { | ||||||
|  |  | ||||||
|  |     @Resource | ||||||
|  |     private OperateLogApi operateLogApi; | ||||||
|  |  | ||||||
|  |     private static final Map<Integer, String> BIZ_TYPE_MAP = new HashMap<>(); | ||||||
|  |  | ||||||
|  |     static { | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_LEADS.getType(), CRM_LEADS_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CUSTOMER.getType(), CRM_CUSTOMER_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CONTACT.getType(), CRM_CONTACT_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_BUSINESS.getType(), CRM_BUSINESS_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CONTRACT.getType(), CRM_CONTRACT_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_PRODUCT.getType(), CRM_PRODUCT_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_RECEIVABLE.getType(), CRM_RECEIVABLE_TYPE); | ||||||
|  |         BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_RECEIVABLE_PLAN.getType(), CRM_RECEIVABLE_PLAN_TYPE); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @GetMapping("/page") | ||||||
|  |     @Operation(summary = "获得操作日志") | ||||||
|  |     @Parameter(name = "id", description = "客户编号", required = true) | ||||||
|  |     @PreAuthorize("@ss.hasPermission('crm:customer:query')") | ||||||
|  |     public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@Valid CrmOperateLogPageReqVO pageReqVO) { | ||||||
|  |         OperateLogV2PageReqDTO reqDTO = new OperateLogV2PageReqDTO(); | ||||||
|  |         reqDTO.setPageSize(PAGE_SIZE_NONE); // 默认不分页,需要分页需注释 | ||||||
|  |         reqDTO.setBizType(BIZ_TYPE_MAP.get(pageReqVO.getBizType())); | ||||||
|  |         reqDTO.setBizId(pageReqVO.getBizId()); | ||||||
|  |         return success(operateLogApi.getOperateLogPage(reqDTO)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -0,0 +1,27 @@ | |||||||
|  | package cn.iocoder.yudao.module.crm.controller.admin.operatelog.vo; | ||||||
|  |  | ||||||
|  | import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||||
|  | import cn.iocoder.yudao.framework.common.validation.InEnum; | ||||||
|  | import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum; | ||||||
|  | import io.swagger.v3.oas.annotations.media.Schema; | ||||||
|  | import jakarta.validation.constraints.NotNull; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  | import lombok.ToString; | ||||||
|  |  | ||||||
|  | @Schema(description = "管理后台 - 跟进记录分页 Request VO") | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @ToString(callSuper = true) | ||||||
|  | public class CrmOperateLogPageReqVO extends PageParam { | ||||||
|  |  | ||||||
|  |     @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") | ||||||
|  |     @InEnum(CrmBizTypeEnum.class) | ||||||
|  |     @NotNull(message = "数据类型不能为空") | ||||||
|  |     private Integer bizType; | ||||||
|  |  | ||||||
|  |     @Schema(description = "数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") | ||||||
|  |     @NotNull(message = "数据编号不能为空") | ||||||
|  |     private Long bizId; | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.permission; | |||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.CommonResult; | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||||||
| import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||||||
|  | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | ||||||
| @@ -11,6 +12,7 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | |||||||
| import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; | import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; | ||||||
| import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission; | import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission; | ||||||
| import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; | import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; | ||||||
|  | import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO; | ||||||
| import cn.iocoder.yudao.module.system.api.dept.DeptApi; | import cn.iocoder.yudao.module.system.api.dept.DeptApi; | ||||||
| import cn.iocoder.yudao.module.system.api.dept.PostApi; | import cn.iocoder.yudao.module.system.api.dept.PostApi; | ||||||
| import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | ||||||
| @@ -55,7 +57,7 @@ public class CrmPermissionController { | |||||||
|     @PreAuthorize("@ss.hasPermission('crm:permission:create')") |     @PreAuthorize("@ss.hasPermission('crm:permission:create')") | ||||||
|     @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) |     @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) | ||||||
|     public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) { |     public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) { | ||||||
|         permissionService.createPermission(CrmPermissionConvert.INSTANCE.convert(reqVO)); |         permissionService.createPermission(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class)); | ||||||
|         return success(true); |         return success(true); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |||||||
| import cn.iocoder.yudao.framework.common.pojo.PageParam; | import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.common.util.collection.SetUtils; | import cn.iocoder.yudao.framework.common.util.collection.SetUtils; | ||||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |  | ||||||
| import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ||||||
| import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.product.vo.product.CrmProductPageReqVO; | import cn.iocoder.yudao.module.crm.controller.admin.product.vo.product.CrmProductPageReqVO; | ||||||
| @@ -16,9 +15,6 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductCategoryDO; | |||||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; | import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; | ||||||
| import cn.iocoder.yudao.module.crm.service.product.CrmProductCategoryService; | import cn.iocoder.yudao.module.crm.service.product.CrmProductCategoryService; | ||||||
| import cn.iocoder.yudao.module.crm.service.product.CrmProductService; | import cn.iocoder.yudao.module.crm.service.product.CrmProductService; | ||||||
| import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; |  | ||||||
| import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | ||||||
| import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | ||||||
| import io.swagger.v3.oas.annotations.Operation; | import io.swagger.v3.oas.annotations.Operation; | ||||||
| @@ -38,12 +34,10 @@ import java.util.Map; | |||||||
| import java.util.stream.Stream; | import java.util.stream.Stream; | ||||||
|  |  | ||||||
| import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||||||
| import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; |  | ||||||
| import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | ||||||
| import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap; | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap; | ||||||
| import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | ||||||
| import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||||||
| import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_PRODUCT_TYPE; |  | ||||||
|  |  | ||||||
| @Tag(name = "管理后台 - CRM 产品") | @Tag(name = "管理后台 - CRM 产品") | ||||||
| @RestController | @RestController | ||||||
| @@ -56,8 +50,6 @@ public class CrmProductController { | |||||||
|     @Resource |     @Resource | ||||||
|     private CrmProductCategoryService productCategoryService; |     private CrmProductCategoryService productCategoryService; | ||||||
|     @Resource |     @Resource | ||||||
|     private OperateLogApi operateLogApi; |  | ||||||
|     @Resource |  | ||||||
|     private AdminUserApi adminUserApi; |     private AdminUserApi adminUserApi; | ||||||
|  |  | ||||||
|     @PostMapping("/create") |     @PostMapping("/create") | ||||||
| @@ -131,14 +123,4 @@ public class CrmProductController { | |||||||
|         return CrmProductConvert.INSTANCE.convertList(list, userMap, productCategoryList); |         return CrmProductConvert.INSTANCE.convertList(list, userMap, productCategoryList); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @GetMapping("/operate-log-page") |  | ||||||
|     @Operation(summary = "获得产品操作日志") |  | ||||||
|     @PreAuthorize("@ss.hasPermission('crm:product:query')") |  | ||||||
|     public CommonResult<PageResult<OperateLogV2RespDTO>> getProductOperateLog(@RequestParam("bizId") Long bizId) { |  | ||||||
|         OperateLogV2PageReqDTO reqVO = new OperateLogV2PageReqDTO(); |  | ||||||
|         reqVO.setPageSize(PAGE_SIZE_NONE); // 不分页 |  | ||||||
|         reqVO.setBizType(CRM_PRODUCT_TYPE).setBizId(bizId); |  | ||||||
|         return success(operateLogApi.getOperateLogPage(BeanUtils.toBean(reqVO, OperateLogV2PageReqDTO.class))); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.crm.convert.permission; | |||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
| import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | ||||||
| import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; |  | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | ||||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | ||||||
| import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO; |  | ||||||
| import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO; |  | ||||||
| import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | ||||||
| import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO; | import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO; | ||||||
| import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | ||||||
| @@ -32,14 +29,6 @@ public interface CrmPermissionConvert { | |||||||
|  |  | ||||||
|     CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class); |     CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class); | ||||||
|  |  | ||||||
|     CrmPermissionDO convert(CrmPermissionCreateReqBO createBO); |  | ||||||
|  |  | ||||||
|     CrmPermissionDO convert(CrmPermissionUpdateReqBO updateBO); |  | ||||||
|  |  | ||||||
|     CrmPermissionCreateReqBO convert(CrmPermissionCreateReqVO reqVO); |  | ||||||
|  |  | ||||||
|     CrmPermissionUpdateReqBO convert(CrmPermissionUpdateReqVO updateReqVO); |  | ||||||
|  |  | ||||||
|     List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission); |     List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission); | ||||||
|  |  | ||||||
|     default List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission, List<AdminUserRespDTO> userList, |     default List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission, List<AdminUserRespDTO> userList, | ||||||
| @@ -65,7 +54,4 @@ public interface CrmPermissionConvert { | |||||||
|                 id -> new CrmPermissionDO().setId(id).setLevel(updateReqVO.getLevel())); |                 id -> new CrmPermissionDO().setId(id).setLevel(updateReqVO.getLevel())); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // TODO @puhui999:搞成 BeanUtils |  | ||||||
|     List<CrmPermissionDO> convertList(List<CrmPermissionCreateReqBO> list); |  | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.service.permission; | |||||||
|  |  | ||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
| import cn.hutool.core.util.ObjUtil; | import cn.hutool.core.util.ObjUtil; | ||||||
|  | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||||
| import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | ||||||
| import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert; | import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert; | ||||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | ||||||
| @@ -50,7 +51,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | |||||||
|         adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); |         adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); | ||||||
|  |  | ||||||
|         // 2. 创建 |         // 2. 创建 | ||||||
|         CrmPermissionDO permission = CrmPermissionConvert.INSTANCE.convert(createReqBO); |         CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class); | ||||||
|         permissionMapper.insert(permission); |         permissionMapper.insert(permission); | ||||||
|         return permission.getId(); |         return permission.getId(); | ||||||
|     } |     } | ||||||
| @@ -62,7 +63,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | |||||||
|         adminUserApi.validateUserList(convertSet(createReqBOs, CrmPermissionCreateReqBO::getUserId)); |         adminUserApi.validateUserList(convertSet(createReqBOs, CrmPermissionCreateReqBO::getUserId)); | ||||||
|  |  | ||||||
|         // 2. 创建 |         // 2. 创建 | ||||||
|         List<CrmPermissionDO> permissions = CrmPermissionConvert.INSTANCE.convertList(createReqBOs); |         List<CrmPermissionDO> permissions = BeanUtils.toBean(createReqBOs, CrmPermissionDO.class); | ||||||
|         permissionMapper.insertBatch(permissions); |         permissionMapper.insertBatch(permissions); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,36 +0,0 @@ | |||||||
| package cn.iocoder.yudao.module.crm.service.permission.bo; |  | ||||||
|  |  | ||||||
| import cn.iocoder.yudao.framework.common.validation.InEnum; |  | ||||||
| import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; |  | ||||||
| import lombok.Data; |  | ||||||
|  |  | ||||||
| import jakarta.validation.constraints.NotNull; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * crm 数据权限 Update Req BO |  | ||||||
|  * |  | ||||||
|  * @author HUIHUI |  | ||||||
|  */ |  | ||||||
| @Data |  | ||||||
| public class CrmPermissionUpdateReqBO { |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 数据权限编号 |  | ||||||
|      */ |  | ||||||
|     @NotNull(message = "数据权限编号不能为空") |  | ||||||
|     private Long id; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 当前登录用户编号 |  | ||||||
|      */ |  | ||||||
|     @NotNull(message = "用户编号不能为空") |  | ||||||
|     private Long userId; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 权限级别 |  | ||||||
|      */ |  | ||||||
|     @NotNull(message = "权限级别不能为空") |  | ||||||
|     @InEnum(CrmPermissionLevelEnum.class) |  | ||||||
|     private Integer level; |  | ||||||
|  |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user
	 puhui999
					puhui999