Commit f7d41186e48bb1ec32bb643885ae9be826987f61
1 parent
206899bf
CRM: 获取模块操作日志接口抽离
Showing
9 changed files
with
96 additions
and
107 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contact/CrmContactController.java
| @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants; | @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants; | ||
| 17 | import cn.iocoder.yudao.module.crm.service.contact.CrmContactBusinessService; | 17 | import cn.iocoder.yudao.module.crm.service.contact.CrmContactBusinessService; |
| 18 | import cn.iocoder.yudao.module.crm.service.contact.CrmContactService; | 18 | import cn.iocoder.yudao.module.crm.service.contact.CrmContactService; |
| 19 | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | 19 | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; |
| 20 | -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; | ||
| 21 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; | ||
| 22 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; | ||
| 23 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | 20 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| 24 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | 21 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| 25 | import com.google.common.collect.Lists; | 22 | import com.google.common.collect.Lists; |
| @@ -46,7 +43,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | @@ -46,7 +43,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | ||
| 46 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | 43 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; |
| 47 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | 44 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
| 48 | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | 45 | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
| 49 | -import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CONTACT_TYPE; | ||
| 50 | 46 | ||
| 51 | @Tag(name = "管理后台 - CRM 联系人") | 47 | @Tag(name = "管理后台 - CRM 联系人") |
| 52 | @RestController | 48 | @RestController |
| @@ -64,8 +60,6 @@ public class CrmContactController { | @@ -64,8 +60,6 @@ public class CrmContactController { | ||
| 64 | 60 | ||
| 65 | @Resource | 61 | @Resource |
| 66 | private AdminUserApi adminUserApi; | 62 | private AdminUserApi adminUserApi; |
| 67 | - @Resource | ||
| 68 | - private OperateLogApi operateLogApi; | ||
| 69 | 63 | ||
| 70 | @PostMapping("/create") | 64 | @PostMapping("/create") |
| 71 | @Operation(summary = "创建联系人") | 65 | @Operation(summary = "创建联系人") |
| @@ -158,17 +152,6 @@ public class CrmContactController { | @@ -158,17 +152,6 @@ public class CrmContactController { | ||
| 158 | buildContactDetailPage(pageResult).getList()); | 152 | buildContactDetailPage(pageResult).getList()); |
| 159 | } | 153 | } |
| 160 | 154 | ||
| 161 | - @GetMapping("/operate-log-page") | ||
| 162 | - @Operation(summary = "获得客户操作日志") | ||
| 163 | - @PreAuthorize("@ss.hasPermission('crm:customer:query')") | ||
| 164 | - public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@RequestParam("bizId") Long bizId) { | ||
| 165 | - OperateLogV2PageReqDTO reqVO = new OperateLogV2PageReqDTO(); | ||
| 166 | - reqVO.setPageSize(PAGE_SIZE_NONE); // 不分页 | ||
| 167 | - reqVO.setBizType(CRM_CONTACT_TYPE); | ||
| 168 | - reqVO.setBizId(bizId); | ||
| 169 | - return success(operateLogApi.getOperateLogPage(BeanUtils.toBean(reqVO, OperateLogV2PageReqDTO.class))); | ||
| 170 | - } | ||
| 171 | - | ||
| 172 | /** | 155 | /** |
| 173 | * 构建详细的联系人分页结果 | 156 | * 构建详细的联系人分页结果 |
| 174 | * | 157 | * |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java
| @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService | @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService | ||
| 17 | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; | 17 | import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; |
| 18 | import cn.iocoder.yudao.module.system.api.dept.DeptApi; | 18 | import cn.iocoder.yudao.module.system.api.dept.DeptApi; |
| 19 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | 19 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| 20 | -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; | ||
| 21 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; | ||
| 22 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; | ||
| 23 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | 20 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| 24 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | 21 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| 25 | import io.swagger.v3.oas.annotations.Operation; | 22 | import io.swagger.v3.oas.annotations.Operation; |
| @@ -44,7 +41,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | @@ -44,7 +41,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | ||
| 44 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | 41 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; |
| 45 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | 42 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
| 46 | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | 43 | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
| 47 | -import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CUSTOMER_TYPE; | ||
| 48 | 44 | ||
| 49 | @Tag(name = "管理后台 - CRM 客户") | 45 | @Tag(name = "管理后台 - CRM 客户") |
| 50 | @RestController | 46 | @RestController |
| @@ -60,8 +56,7 @@ public class CrmCustomerController { | @@ -60,8 +56,7 @@ public class CrmCustomerController { | ||
| 60 | private DeptApi deptApi; | 56 | private DeptApi deptApi; |
| 61 | @Resource | 57 | @Resource |
| 62 | private AdminUserApi adminUserApi; | 58 | private AdminUserApi adminUserApi; |
| 63 | - @Resource | ||
| 64 | - private OperateLogApi operateLogApi; | 59 | + |
| 65 | 60 | ||
| 66 | @PostMapping("/create") | 61 | @PostMapping("/create") |
| 67 | @Operation(summary = "创建客户") | 62 | @Operation(summary = "创建客户") |
| @@ -182,19 +177,6 @@ public class CrmCustomerController { | @@ -182,19 +177,6 @@ public class CrmCustomerController { | ||
| 182 | return success(true); | 177 | return success(true); |
| 183 | } | 178 | } |
| 184 | 179 | ||
| 185 | - // TODO @puhui999:要不搞个通用的 CrmOperateLogController,之后所有业务都调用它? | ||
| 186 | - @GetMapping("/operate-log-page") | ||
| 187 | - @Operation(summary = "获得客户操作日志") | ||
| 188 | - @Parameter(name = "id", description = "客户编号", required = true) | ||
| 189 | - @PreAuthorize("@ss.hasPermission('crm:customer:query')") | ||
| 190 | - public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@RequestParam("id") Long id) { | ||
| 191 | - OperateLogV2PageReqDTO reqDTO = new OperateLogV2PageReqDTO(); | ||
| 192 | - reqDTO.setPageSize(PAGE_SIZE_NONE); // 不分页 | ||
| 193 | - reqDTO.setBizType(CRM_CUSTOMER_TYPE); | ||
| 194 | - reqDTO.setBizId(id); | ||
| 195 | - return success(operateLogApi.getOperateLogPage(reqDTO)); | ||
| 196 | - } | ||
| 197 | - | ||
| 198 | @PutMapping("/lock") | 180 | @PutMapping("/lock") |
| 199 | @Operation(summary = "锁定/解锁客户") | 181 | @Operation(summary = "锁定/解锁客户") |
| 200 | @PreAuthorize("@ss.hasPermission('crm:customer:update')") | 182 | @PreAuthorize("@ss.hasPermission('crm:customer:update')") |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/operatelog/CrmOperateLogController.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.crm.controller.admin.operatelog; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 4 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 5 | +import cn.iocoder.yudao.module.crm.controller.admin.operatelog.vo.CrmOperateLogPageReqVO; | ||
| 6 | +import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum; | ||
| 7 | +import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; | ||
| 8 | +import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; | ||
| 9 | +import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; | ||
| 10 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 11 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 12 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 13 | +import jakarta.annotation.Resource; | ||
| 14 | +import jakarta.validation.Valid; | ||
| 15 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 16 | +import org.springframework.validation.annotation.Validated; | ||
| 17 | +import org.springframework.web.bind.annotation.GetMapping; | ||
| 18 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
| 19 | +import org.springframework.web.bind.annotation.RestController; | ||
| 20 | + | ||
| 21 | +import java.util.HashMap; | ||
| 22 | +import java.util.Map; | ||
| 23 | + | ||
| 24 | +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 25 | +import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | ||
| 26 | +import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.*; | ||
| 27 | + | ||
| 28 | +@Tag(name = "管理后台 - 操作日志") | ||
| 29 | +@RestController | ||
| 30 | +@RequestMapping("/crm/operate-log") | ||
| 31 | +@Validated | ||
| 32 | +public class CrmOperateLogController { | ||
| 33 | + | ||
| 34 | + @Resource | ||
| 35 | + private OperateLogApi operateLogApi; | ||
| 36 | + | ||
| 37 | + private static final Map<Integer, String> BIZ_TYPE_MAP = new HashMap<>(); | ||
| 38 | + | ||
| 39 | + static { | ||
| 40 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_LEADS.getType(), CRM_LEADS_TYPE); | ||
| 41 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CUSTOMER.getType(), CRM_CUSTOMER_TYPE); | ||
| 42 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CONTACT.getType(), CRM_CONTACT_TYPE); | ||
| 43 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_BUSINESS.getType(), CRM_BUSINESS_TYPE); | ||
| 44 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CONTRACT.getType(), CRM_CONTRACT_TYPE); | ||
| 45 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_PRODUCT.getType(), CRM_PRODUCT_TYPE); | ||
| 46 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_RECEIVABLE.getType(), CRM_RECEIVABLE_TYPE); | ||
| 47 | + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_RECEIVABLE_PLAN.getType(), CRM_RECEIVABLE_PLAN_TYPE); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @GetMapping("/page") | ||
| 51 | + @Operation(summary = "获得操作日志") | ||
| 52 | + @Parameter(name = "id", description = "客户编号", required = true) | ||
| 53 | + @PreAuthorize("@ss.hasPermission('crm:customer:query')") | ||
| 54 | + public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@Valid CrmOperateLogPageReqVO pageReqVO) { | ||
| 55 | + OperateLogV2PageReqDTO reqDTO = new OperateLogV2PageReqDTO(); | ||
| 56 | + reqDTO.setPageSize(PAGE_SIZE_NONE); // 默认不分页,需要分页需注释 | ||
| 57 | + reqDTO.setBizType(BIZ_TYPE_MAP.get(pageReqVO.getBizType())); | ||
| 58 | + reqDTO.setBizId(pageReqVO.getBizId()); | ||
| 59 | + return success(operateLogApi.getOperateLogPage(reqDTO)); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | +} |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/operatelog/vo/CrmOperateLogPageReqVO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.crm.controller.admin.operatelog.vo; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageParam; | ||
| 4 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 5 | +import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum; | ||
| 6 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 7 | +import jakarta.validation.constraints.NotNull; | ||
| 8 | +import lombok.Data; | ||
| 9 | +import lombok.EqualsAndHashCode; | ||
| 10 | +import lombok.ToString; | ||
| 11 | + | ||
| 12 | +@Schema(description = "管理后台 - 跟进记录分页 Request VO") | ||
| 13 | +@Data | ||
| 14 | +@EqualsAndHashCode(callSuper = true) | ||
| 15 | +@ToString(callSuper = true) | ||
| 16 | +public class CrmOperateLogPageReqVO extends PageParam { | ||
| 17 | + | ||
| 18 | + @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") | ||
| 19 | + @InEnum(CrmBizTypeEnum.class) | ||
| 20 | + @NotNull(message = "数据类型不能为空") | ||
| 21 | + private Integer bizType; | ||
| 22 | + | ||
| 23 | + @Schema(description = "数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") | ||
| 24 | + @NotNull(message = "数据编号不能为空") | ||
| 25 | + private Long bizId; | ||
| 26 | + | ||
| 27 | +} |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/permission/CrmPermissionController.java
| @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.permission; | @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.permission; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 5 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 6 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||
| 6 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; | 7 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; |
| 7 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | 8 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; |
| 8 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | 9 | 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; | @@ -11,6 +12,7 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | ||
| 11 | import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; | 12 | import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; |
| 12 | import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission; | 13 | import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission; |
| 13 | import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; | 14 | import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; |
| 15 | +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO; | ||
| 14 | import cn.iocoder.yudao.module.system.api.dept.DeptApi; | 16 | import cn.iocoder.yudao.module.system.api.dept.DeptApi; |
| 15 | import cn.iocoder.yudao.module.system.api.dept.PostApi; | 17 | import cn.iocoder.yudao.module.system.api.dept.PostApi; |
| 16 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | 18 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| @@ -55,7 +57,7 @@ public class CrmPermissionController { | @@ -55,7 +57,7 @@ public class CrmPermissionController { | ||
| 55 | @PreAuthorize("@ss.hasPermission('crm:permission:create')") | 57 | @PreAuthorize("@ss.hasPermission('crm:permission:create')") |
| 56 | @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) | 58 | @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) |
| 57 | public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) { | 59 | public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) { |
| 58 | - permissionService.createPermission(CrmPermissionConvert.INSTANCE.convert(reqVO)); | 60 | + permissionService.createPermission(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class)); |
| 59 | return success(true); | 61 | return success(true); |
| 60 | } | 62 | } |
| 61 | 63 |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/product/CrmProductController.java
| @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageParam; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.framework.common.util.collection.SetUtils; | 7 | import cn.iocoder.yudao.framework.common.util.collection.SetUtils; |
| 8 | -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||
| 9 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 8 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 10 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; | 9 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 11 | import cn.iocoder.yudao.module.crm.controller.admin.product.vo.product.CrmProductPageReqVO; | 10 | 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; | @@ -16,9 +15,6 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductCategoryDO; | ||
| 16 | import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; | 15 | import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; |
| 17 | import cn.iocoder.yudao.module.crm.service.product.CrmProductCategoryService; | 16 | import cn.iocoder.yudao.module.crm.service.product.CrmProductCategoryService; |
| 18 | import cn.iocoder.yudao.module.crm.service.product.CrmProductService; | 17 | import cn.iocoder.yudao.module.crm.service.product.CrmProductService; |
| 19 | -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; | ||
| 20 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO; | ||
| 21 | -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO; | ||
| 22 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; | 18 | import cn.iocoder.yudao.module.system.api.user.AdminUserApi; |
| 23 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | 19 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| 24 | import io.swagger.v3.oas.annotations.Operation; | 20 | import io.swagger.v3.oas.annotations.Operation; |
| @@ -38,12 +34,10 @@ import java.util.Map; | @@ -38,12 +34,10 @@ import java.util.Map; | ||
| 38 | import java.util.stream.Stream; | 34 | import java.util.stream.Stream; |
| 39 | 35 | ||
| 40 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 36 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 41 | -import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; | ||
| 42 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | 37 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; |
| 43 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap; | 38 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap; |
| 44 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; | 39 | import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; |
| 45 | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | 40 | import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
| 46 | -import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_PRODUCT_TYPE; | ||
| 47 | 41 | ||
| 48 | @Tag(name = "管理后台 - CRM 产品") | 42 | @Tag(name = "管理后台 - CRM 产品") |
| 49 | @RestController | 43 | @RestController |
| @@ -56,8 +50,6 @@ public class CrmProductController { | @@ -56,8 +50,6 @@ public class CrmProductController { | ||
| 56 | @Resource | 50 | @Resource |
| 57 | private CrmProductCategoryService productCategoryService; | 51 | private CrmProductCategoryService productCategoryService; |
| 58 | @Resource | 52 | @Resource |
| 59 | - private OperateLogApi operateLogApi; | ||
| 60 | - @Resource | ||
| 61 | private AdminUserApi adminUserApi; | 53 | private AdminUserApi adminUserApi; |
| 62 | 54 | ||
| 63 | @PostMapping("/create") | 55 | @PostMapping("/create") |
| @@ -131,14 +123,4 @@ public class CrmProductController { | @@ -131,14 +123,4 @@ public class CrmProductController { | ||
| 131 | return CrmProductConvert.INSTANCE.convertList(list, userMap, productCategoryList); | 123 | return CrmProductConvert.INSTANCE.convertList(list, userMap, productCategoryList); |
| 132 | } | 124 | } |
| 133 | 125 | ||
| 134 | - @GetMapping("/operate-log-page") | ||
| 135 | - @Operation(summary = "获得产品操作日志") | ||
| 136 | - @PreAuthorize("@ss.hasPermission('crm:product:query')") | ||
| 137 | - public CommonResult<PageResult<OperateLogV2RespDTO>> getProductOperateLog(@RequestParam("bizId") Long bizId) { | ||
| 138 | - OperateLogV2PageReqDTO reqVO = new OperateLogV2PageReqDTO(); | ||
| 139 | - reqVO.setPageSize(PAGE_SIZE_NONE); // 不分页 | ||
| 140 | - reqVO.setBizType(CRM_PRODUCT_TYPE).setBizId(bizId); | ||
| 141 | - return success(operateLogApi.getOperateLogPage(BeanUtils.toBean(reqVO, OperateLogV2PageReqDTO.class))); | ||
| 142 | - } | ||
| 143 | - | ||
| 144 | } | 126 | } |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/permission/CrmPermissionConvert.java
| @@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.crm.convert.permission; | @@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.crm.convert.permission; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 4 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 5 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | 5 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; |
| 6 | -import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; | ||
| 7 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; | 6 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; |
| 8 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | 7 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; |
| 9 | import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | 8 | import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; |
| 10 | -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO; | ||
| 11 | -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO; | ||
| 12 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | 9 | import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; |
| 13 | import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO; | 10 | import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO; |
| 14 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | 11 | import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; |
| @@ -32,14 +29,6 @@ public interface CrmPermissionConvert { | @@ -32,14 +29,6 @@ public interface CrmPermissionConvert { | ||
| 32 | 29 | ||
| 33 | CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class); | 30 | CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class); |
| 34 | 31 | ||
| 35 | - CrmPermissionDO convert(CrmPermissionCreateReqBO createBO); | ||
| 36 | - | ||
| 37 | - CrmPermissionDO convert(CrmPermissionUpdateReqBO updateBO); | ||
| 38 | - | ||
| 39 | - CrmPermissionCreateReqBO convert(CrmPermissionCreateReqVO reqVO); | ||
| 40 | - | ||
| 41 | - CrmPermissionUpdateReqBO convert(CrmPermissionUpdateReqVO updateReqVO); | ||
| 42 | - | ||
| 43 | List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission); | 32 | List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission); |
| 44 | 33 | ||
| 45 | default List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission, List<AdminUserRespDTO> userList, | 34 | default List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission, List<AdminUserRespDTO> userList, |
| @@ -65,7 +54,4 @@ public interface CrmPermissionConvert { | @@ -65,7 +54,4 @@ public interface CrmPermissionConvert { | ||
| 65 | id -> new CrmPermissionDO().setId(id).setLevel(updateReqVO.getLevel())); | 54 | id -> new CrmPermissionDO().setId(id).setLevel(updateReqVO.getLevel())); |
| 66 | } | 55 | } |
| 67 | 56 | ||
| 68 | - // TODO @puhui999:搞成 BeanUtils | ||
| 69 | - List<CrmPermissionDO> convertList(List<CrmPermissionCreateReqBO> list); | ||
| 70 | - | ||
| 71 | } | 57 | } |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java
| @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.service.permission; | @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.service.permission; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.util.ObjUtil; | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||
| 5 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; | 6 | import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; |
| 6 | import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert; | 7 | import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert; |
| 7 | import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; | 8 | import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; |
| @@ -50,7 +51,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -50,7 +51,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 50 | adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); | 51 | adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); |
| 51 | 52 | ||
| 52 | // 2. 创建 | 53 | // 2. 创建 |
| 53 | - CrmPermissionDO permission = CrmPermissionConvert.INSTANCE.convert(createReqBO); | 54 | + CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class); |
| 54 | permissionMapper.insert(permission); | 55 | permissionMapper.insert(permission); |
| 55 | return permission.getId(); | 56 | return permission.getId(); |
| 56 | } | 57 | } |
| @@ -62,7 +63,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -62,7 +63,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 62 | adminUserApi.validateUserList(convertSet(createReqBOs, CrmPermissionCreateReqBO::getUserId)); | 63 | adminUserApi.validateUserList(convertSet(createReqBOs, CrmPermissionCreateReqBO::getUserId)); |
| 63 | 64 | ||
| 64 | // 2. 创建 | 65 | // 2. 创建 |
| 65 | - List<CrmPermissionDO> permissions = CrmPermissionConvert.INSTANCE.convertList(createReqBOs); | 66 | + List<CrmPermissionDO> permissions = BeanUtils.toBean(createReqBOs, CrmPermissionDO.class); |
| 66 | permissionMapper.insertBatch(permissions); | 67 | permissionMapper.insertBatch(permissions); |
| 67 | } | 68 | } |
| 68 | 69 |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/bo/CrmPermissionUpdateReqBO.java deleted
| 1 | -package cn.iocoder.yudao.module.crm.service.permission.bo; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 4 | -import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; | ||
| 5 | -import lombok.Data; | ||
| 6 | - | ||
| 7 | -import jakarta.validation.constraints.NotNull; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * crm 数据权限 Update Req BO | ||
| 11 | - * | ||
| 12 | - * @author HUIHUI | ||
| 13 | - */ | ||
| 14 | -@Data | ||
| 15 | -public class CrmPermissionUpdateReqBO { | ||
| 16 | - | ||
| 17 | - /** | ||
| 18 | - * 数据权限编号 | ||
| 19 | - */ | ||
| 20 | - @NotNull(message = "数据权限编号不能为空") | ||
| 21 | - private Long id; | ||
| 22 | - | ||
| 23 | - /** | ||
| 24 | - * 当前登录用户编号 | ||
| 25 | - */ | ||
| 26 | - @NotNull(message = "用户编号不能为空") | ||
| 27 | - private Long userId; | ||
| 28 | - | ||
| 29 | - /** | ||
| 30 | - * 权限级别 | ||
| 31 | - */ | ||
| 32 | - @NotNull(message = "权限级别不能为空") | ||
| 33 | - @InEnum(CrmPermissionLevelEnum.class) | ||
| 34 | - private Integer level; | ||
| 35 | - | ||
| 36 | -} |