Commit d556b29214e12fd5c33a7bb4c5dcafba9a00b41c
1 parent
6b752b5c
CRM:code review 权限的优化
Showing
6 changed files
with
23 additions
and
33 deletions
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java
| @@ -27,8 +27,6 @@ public class DateUtils { | @@ -27,8 +27,6 @@ public class DateUtils { | ||
| 27 | 27 | ||
| 28 | public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss"; | 28 | public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss"; |
| 29 | 29 | ||
| 30 | - public static final String FORMAT_HOUR_MINUTE_SECOND = "HH:mm:ss"; | ||
| 31 | - | ||
| 32 | /** | 30 | /** |
| 33 | * 将 LocalDateTime 转换成 Date | 31 | * 将 LocalDateTime 转换成 Date |
| 34 | * | 32 | * |
yudao-framework/yudao-spring-boot-starter-excel/src/main/java/cn/iocoder/yudao/framework/excel/core/handler/SelectSheetWriteHandler.java
| @@ -20,9 +20,11 @@ import org.apache.poi.hssf.usermodel.HSSFDataValidation; | @@ -20,9 +20,11 @@ import org.apache.poi.hssf.usermodel.HSSFDataValidation; | ||
| 20 | import org.apache.poi.ss.usermodel.*; | 20 | import org.apache.poi.ss.usermodel.*; |
| 21 | import org.apache.poi.ss.util.CellRangeAddressList; | 21 | import org.apache.poi.ss.util.CellRangeAddressList; |
| 22 | 22 | ||
| 23 | -import java.lang.annotation.Annotation; | ||
| 24 | import java.lang.reflect.Field; | 23 | import java.lang.reflect.Field; |
| 25 | -import java.util.*; | 24 | +import java.util.Comparator; |
| 25 | +import java.util.HashMap; | ||
| 26 | +import java.util.List; | ||
| 27 | +import java.util.Map; | ||
| 26 | 28 | ||
| 27 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | 29 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; |
| 28 | 30 | ||
| @@ -110,6 +112,7 @@ public class SelectSheetWriteHandler implements SheetWriteHandler { | @@ -110,6 +112,7 @@ public class SelectSheetWriteHandler implements SheetWriteHandler { | ||
| 110 | Workbook workbook = writeWorkbookHolder.getWorkbook(); // 获得工作簿 | 112 | Workbook workbook = writeWorkbookHolder.getWorkbook(); // 获得工作簿 |
| 111 | List<KeyValue<Integer, List<String>>> keyValues = convertList(selectMap.entrySet(), entry -> new KeyValue<>(entry.getKey(), entry.getValue())); | 113 | List<KeyValue<Integer, List<String>>> keyValues = convertList(selectMap.entrySet(), entry -> new KeyValue<>(entry.getKey(), entry.getValue())); |
| 112 | keyValues.sort(Comparator.comparing(item -> item.getValue().size())); // 升序不然创建下拉会报错 | 114 | keyValues.sort(Comparator.comparing(item -> item.getValue().size())); // 升序不然创建下拉会报错 |
| 115 | + | ||
| 113 | // 2. 创建数据字典的 sheet 页 | 116 | // 2. 创建数据字典的 sheet 页 |
| 114 | Sheet dictSheet = workbook.createSheet(DICT_SHEET_NAME); | 117 | Sheet dictSheet = workbook.createSheet(DICT_SHEET_NAME); |
| 115 | for (KeyValue<Integer, List<String>> keyValue : keyValues) { | 118 | for (KeyValue<Integer, List<String>> keyValue : keyValues) { |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contact/CrmContactMapper.java
| @@ -74,7 +74,8 @@ public interface CrmContactMapper extends BaseMapperX<CrmContactDO> { | @@ -74,7 +74,8 @@ public interface CrmContactMapper extends BaseMapperX<CrmContactDO> { | ||
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | default List<CrmContactDO> selectListByCustomerIdOwnerUserId(Long customerId, Long ownerUserId) { | 76 | default List<CrmContactDO> selectListByCustomerIdOwnerUserId(Long customerId, Long ownerUserId) { |
| 77 | - return selectList(CrmContactDO::getCustomerId, customerId, CrmContactDO::getOwnerUserId, ownerUserId); | 77 | + return selectList(CrmContactDO::getCustomerId, customerId, |
| 78 | + CrmContactDO::getOwnerUserId, ownerUserId); | ||
| 78 | } | 79 | } |
| 79 | 80 | ||
| 80 | } | 81 | } |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java
| @@ -63,17 +63,17 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -63,17 +63,17 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 63 | @Transactional(rollbackFor = Exception.class) | 63 | @Transactional(rollbackFor = Exception.class) |
| 64 | @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) | 64 | @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) |
| 65 | public void createPermission(CrmPermissionSaveReqVO reqVO, Long userId) { | 65 | public void createPermission(CrmPermissionSaveReqVO reqVO, Long userId) { |
| 66 | - // 创建数据权限 | 66 | + // 1. 创建数据权限 |
| 67 | createPermission0(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class)); | 67 | createPermission0(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class)); |
| 68 | 68 | ||
| 69 | - // 处理【同时添加至】的权限 | 69 | + // 2. 处理【同时添加至】的权限 |
| 70 | if (CollUtil.isEmpty(reqVO.getToBizTypes())) { | 70 | if (CollUtil.isEmpty(reqVO.getToBizTypes())) { |
| 71 | return; | 71 | return; |
| 72 | } | 72 | } |
| 73 | List<CrmPermissionCreateReqBO> createPermissions = new ArrayList<>(); | 73 | List<CrmPermissionCreateReqBO> createPermissions = new ArrayList<>(); |
| 74 | - createContactPermissions(reqVO, userId, createPermissions); | ||
| 75 | - createBusinessPermissions(reqVO, userId, createPermissions); | ||
| 76 | - createContractPermissions(reqVO, userId, createPermissions); | 74 | + buildContactPermissions(reqVO, userId, createPermissions); |
| 75 | + buildBusinessPermissions(reqVO, userId, createPermissions); | ||
| 76 | + buildContractPermissions(reqVO, userId, createPermissions); | ||
| 77 | if (CollUtil.isEmpty(createPermissions)) { | 77 | if (CollUtil.isEmpty(createPermissions)) { |
| 78 | return; | 78 | return; |
| 79 | } | 79 | } |
| @@ -87,18 +87,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -87,18 +87,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 87 | * @param userId 操作人 | 87 | * @param userId 操作人 |
| 88 | * @param createPermissions 待添加权限列表 | 88 | * @param createPermissions 待添加权限列表 |
| 89 | */ | 89 | */ |
| 90 | - private void createContactPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) { | 90 | + private void buildContactPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) { |
| 91 | // 1. 校验是否被同时添加 | 91 | // 1. 校验是否被同时添加 |
| 92 | Integer type = CrmBizTypeEnum.CRM_CONTACT.getType(); | 92 | Integer type = CrmBizTypeEnum.CRM_CONTACT.getType(); |
| 93 | if (!reqVO.getToBizTypes().contains(type)) { | 93 | if (!reqVO.getToBizTypes().contains(type)) { |
| 94 | return; | 94 | return; |
| 95 | } | 95 | } |
| 96 | - | ||
| 97 | - // 2.1 添加数据权限 | 96 | + // 2. 添加数据权限 |
| 98 | List<CrmContactDO> contactList = contactService.getContactListByCustomerIdOwnerUserId(reqVO.getBizId(), userId); | 97 | List<CrmContactDO> contactList = contactService.getContactListByCustomerIdOwnerUserId(reqVO.getBizId(), userId); |
| 99 | - contactList.forEach(item -> { | ||
| 100 | - createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions); | ||
| 101 | - }); | 98 | + contactList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions)); |
| 102 | } | 99 | } |
| 103 | 100 | ||
| 104 | /** | 101 | /** |
| @@ -108,18 +105,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -108,18 +105,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 108 | * @param userId 操作人 | 105 | * @param userId 操作人 |
| 109 | * @param createPermissions 待添加权限列表 | 106 | * @param createPermissions 待添加权限列表 |
| 110 | */ | 107 | */ |
| 111 | - private void createBusinessPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) { | 108 | + private void buildBusinessPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) { |
| 112 | // 1. 校验是否被同时添加 | 109 | // 1. 校验是否被同时添加 |
| 113 | Integer type = CrmBizTypeEnum.CRM_BUSINESS.getType(); | 110 | Integer type = CrmBizTypeEnum.CRM_BUSINESS.getType(); |
| 114 | if (!reqVO.getToBizTypes().contains(type)) { | 111 | if (!reqVO.getToBizTypes().contains(type)) { |
| 115 | return; | 112 | return; |
| 116 | } | 113 | } |
| 117 | - | ||
| 118 | - // 2.1 添加数据权限 | 114 | + // 2. 添加数据权限 |
| 119 | List<CrmBusinessDO> businessList = businessService.getBusinessListByCustomerIdOwnerUserId(reqVO.getBizId(), userId); | 115 | List<CrmBusinessDO> businessList = businessService.getBusinessListByCustomerIdOwnerUserId(reqVO.getBizId(), userId); |
| 120 | - businessList.forEach(item -> { | ||
| 121 | - createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions); | ||
| 122 | - }); | 116 | + businessList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions)); |
| 123 | } | 117 | } |
| 124 | 118 | ||
| 125 | /** | 119 | /** |
| @@ -129,18 +123,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -129,18 +123,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 129 | * @param userId 操作人 | 123 | * @param userId 操作人 |
| 130 | * @param createPermissions 待添加权限列表 | 124 | * @param createPermissions 待添加权限列表 |
| 131 | */ | 125 | */ |
| 132 | - private void createContractPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) { | 126 | + private void buildContractPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) { |
| 133 | // 1. 校验是否被同时添加 | 127 | // 1. 校验是否被同时添加 |
| 134 | Integer type = CrmBizTypeEnum.CRM_CONTRACT.getType(); | 128 | Integer type = CrmBizTypeEnum.CRM_CONTRACT.getType(); |
| 135 | if (!reqVO.getToBizTypes().contains(type)) { | 129 | if (!reqVO.getToBizTypes().contains(type)) { |
| 136 | return; | 130 | return; |
| 137 | } | 131 | } |
| 138 | - | ||
| 139 | - // 2.1 添加数据权限 | 132 | + // 2. 添加数据权限 |
| 140 | List<CrmContractDO> contractList = contractService.getContractListByCustomerIdOwnerUserId(reqVO.getBizId(), userId); | 133 | List<CrmContractDO> contractList = contractService.getContractListByCustomerIdOwnerUserId(reqVO.getBizId(), userId); |
| 141 | - contractList.forEach(item -> { | ||
| 142 | - createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions); | ||
| 143 | - }); | 134 | + contractList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions)); |
| 144 | } | 135 | } |
| 145 | 136 | ||
| 146 | private void createBizTypePermissions(CrmPermissionSaveReqVO reqVO, Integer type, Long bizId, String name, | 137 | private void createBizTypePermissions(CrmPermissionSaveReqVO reqVO, Integer type, Long bizId, String name, |
| @@ -167,8 +158,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | @@ -167,8 +158,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { | ||
| 167 | validatePermissionNotExists(Collections.singletonList(createReqBO)); | 158 | validatePermissionNotExists(Collections.singletonList(createReqBO)); |
| 168 | // 1. 校验用户是否存在 | 159 | // 1. 校验用户是否存在 |
| 169 | adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); | 160 | adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); |
| 170 | - | ||
| 171 | - // 2. 创建 | 161 | + // 2. 插入权限 |
| 172 | CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class); | 162 | CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class); |
| 173 | permissionMapper.insert(permission); | 163 | permissionMapper.insert(permission); |
| 174 | return permission.getId(); | 164 | return permission.getId(); |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/delivery/vo/pickup/DeliveryPickUpStorePageReqVO.java
| @@ -4,14 +4,11 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | @@ -4,14 +4,11 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | ||
| 4 | import cn.iocoder.yudao.framework.common.validation.InEnum; | 4 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 5 | import lombok.*; | 5 | import lombok.*; |
| 6 | 6 | ||
| 7 | -import java.time.LocalTime; | ||
| 8 | -import java.util.*; | ||
| 9 | import io.swagger.v3.oas.annotations.media.Schema; | 7 | import io.swagger.v3.oas.annotations.media.Schema; |
| 10 | import cn.iocoder.yudao.framework.common.pojo.PageParam; | 8 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 11 | import org.springframework.format.annotation.DateTimeFormat; | 9 | import org.springframework.format.annotation.DateTimeFormat; |
| 12 | import java.time.LocalDateTime; | 10 | import java.time.LocalDateTime; |
| 13 | 11 | ||
| 14 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND; | ||
| 15 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | 12 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
| 16 | 13 | ||
| 17 | @Schema(description = "管理后台 - 自提门店分页 Request VO") | 14 | @Schema(description = "管理后台 - 自提门店分页 Request VO") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/brokerage/BrokerageRecordMapper.java
| @@ -88,6 +88,7 @@ public interface BrokerageRecordMapper extends BaseMapperX<BrokerageRecordDO> { | @@ -88,6 +88,7 @@ public interface BrokerageRecordMapper extends BaseMapperX<BrokerageRecordDO> { | ||
| 88 | @Param("beginTime") LocalDateTime beginTime, | 88 | @Param("beginTime") LocalDateTime beginTime, |
| 89 | @Param("endTime") LocalDateTime endTime); | 89 | @Param("endTime") LocalDateTime endTime); |
| 90 | 90 | ||
| 91 | + // TODO @芋艿:收敛掉 @Select 注解操作,统一成 MyBatis-Plus 的方式,或者 xml | ||
| 91 | @Select("SELECT user_id AS id, SUM(price) AS brokeragePrice FROM trade_brokerage_record " + | 92 | @Select("SELECT user_id AS id, SUM(price) AS brokeragePrice FROM trade_brokerage_record " + |
| 92 | "WHERE biz_type = #{bizType} AND status = #{status} AND deleted = FALSE " + | 93 | "WHERE biz_type = #{bizType} AND status = #{status} AND deleted = FALSE " + |
| 93 | "AND unfreeze_time BETWEEN #{beginTime} AND #{endTime} " + | 94 | "AND unfreeze_time BETWEEN #{beginTime} AND #{endTime} " + |