mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-22 15:21:53 +08:00
CRM:code review 权限的优化
This commit is contained in:
parent
6b752b5cb4
commit
d556b29214
@ -27,8 +27,6 @@ public class DateUtils {
|
||||
|
||||
public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
public static final String FORMAT_HOUR_MINUTE_SECOND = "HH:mm:ss";
|
||||
|
||||
/**
|
||||
* 将 LocalDateTime 转换成 Date
|
||||
*
|
||||
|
@ -20,9 +20,11 @@ import org.apache.poi.hssf.usermodel.HSSFDataValidation;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddressList;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
|
||||
|
||||
@ -110,6 +112,7 @@ public class SelectSheetWriteHandler implements SheetWriteHandler {
|
||||
Workbook workbook = writeWorkbookHolder.getWorkbook(); // 获得工作簿
|
||||
List<KeyValue<Integer, List<String>>> keyValues = convertList(selectMap.entrySet(), entry -> new KeyValue<>(entry.getKey(), entry.getValue()));
|
||||
keyValues.sort(Comparator.comparing(item -> item.getValue().size())); // 升序不然创建下拉会报错
|
||||
|
||||
// 2. 创建数据字典的 sheet 页
|
||||
Sheet dictSheet = workbook.createSheet(DICT_SHEET_NAME);
|
||||
for (KeyValue<Integer, List<String>> keyValue : keyValues) {
|
||||
|
@ -74,7 +74,8 @@ public interface CrmContactMapper extends BaseMapperX<CrmContactDO> {
|
||||
}
|
||||
|
||||
default List<CrmContactDO> selectListByCustomerIdOwnerUserId(Long customerId, Long ownerUserId) {
|
||||
return selectList(CrmContactDO::getCustomerId, customerId, CrmContactDO::getOwnerUserId, ownerUserId);
|
||||
return selectList(CrmContactDO::getCustomerId, customerId,
|
||||
CrmContactDO::getOwnerUserId, ownerUserId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -63,17 +63,17 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER)
|
||||
public void createPermission(CrmPermissionSaveReqVO reqVO, Long userId) {
|
||||
// 创建数据权限
|
||||
// 1. 创建数据权限
|
||||
createPermission0(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class));
|
||||
|
||||
// 处理【同时添加至】的权限
|
||||
// 2. 处理【同时添加至】的权限
|
||||
if (CollUtil.isEmpty(reqVO.getToBizTypes())) {
|
||||
return;
|
||||
}
|
||||
List<CrmPermissionCreateReqBO> createPermissions = new ArrayList<>();
|
||||
createContactPermissions(reqVO, userId, createPermissions);
|
||||
createBusinessPermissions(reqVO, userId, createPermissions);
|
||||
createContractPermissions(reqVO, userId, createPermissions);
|
||||
buildContactPermissions(reqVO, userId, createPermissions);
|
||||
buildBusinessPermissions(reqVO, userId, createPermissions);
|
||||
buildContractPermissions(reqVO, userId, createPermissions);
|
||||
if (CollUtil.isEmpty(createPermissions)) {
|
||||
return;
|
||||
}
|
||||
@ -87,18 +87,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
||||
* @param userId 操作人
|
||||
* @param createPermissions 待添加权限列表
|
||||
*/
|
||||
private void createContactPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
|
||||
private void buildContactPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
|
||||
// 1. 校验是否被同时添加
|
||||
Integer type = CrmBizTypeEnum.CRM_CONTACT.getType();
|
||||
if (!reqVO.getToBizTypes().contains(type)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 2.1 添加数据权限
|
||||
// 2. 添加数据权限
|
||||
List<CrmContactDO> contactList = contactService.getContactListByCustomerIdOwnerUserId(reqVO.getBizId(), userId);
|
||||
contactList.forEach(item -> {
|
||||
createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions);
|
||||
});
|
||||
contactList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -108,18 +105,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
||||
* @param userId 操作人
|
||||
* @param createPermissions 待添加权限列表
|
||||
*/
|
||||
private void createBusinessPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
|
||||
private void buildBusinessPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
|
||||
// 1. 校验是否被同时添加
|
||||
Integer type = CrmBizTypeEnum.CRM_BUSINESS.getType();
|
||||
if (!reqVO.getToBizTypes().contains(type)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 2.1 添加数据权限
|
||||
// 2. 添加数据权限
|
||||
List<CrmBusinessDO> businessList = businessService.getBusinessListByCustomerIdOwnerUserId(reqVO.getBizId(), userId);
|
||||
businessList.forEach(item -> {
|
||||
createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions);
|
||||
});
|
||||
businessList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -129,18 +123,15 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
||||
* @param userId 操作人
|
||||
* @param createPermissions 待添加权限列表
|
||||
*/
|
||||
private void createContractPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
|
||||
private void buildContractPermissions(CrmPermissionSaveReqVO reqVO, Long userId, List<CrmPermissionCreateReqBO> createPermissions) {
|
||||
// 1. 校验是否被同时添加
|
||||
Integer type = CrmBizTypeEnum.CRM_CONTRACT.getType();
|
||||
if (!reqVO.getToBizTypes().contains(type)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 2.1 添加数据权限
|
||||
// 2. 添加数据权限
|
||||
List<CrmContractDO> contractList = contractService.getContractListByCustomerIdOwnerUserId(reqVO.getBizId(), userId);
|
||||
contractList.forEach(item -> {
|
||||
createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions);
|
||||
});
|
||||
contractList.forEach(item -> createBizTypePermissions(reqVO, type, item.getId(), item.getName(), createPermissions));
|
||||
}
|
||||
|
||||
private void createBizTypePermissions(CrmPermissionSaveReqVO reqVO, Integer type, Long bizId, String name,
|
||||
@ -167,8 +158,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
||||
validatePermissionNotExists(Collections.singletonList(createReqBO));
|
||||
// 1. 校验用户是否存在
|
||||
adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId()));
|
||||
|
||||
// 2. 创建
|
||||
// 2. 插入权限
|
||||
CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class);
|
||||
permissionMapper.insert(permission);
|
||||
return permission.getId();
|
||||
|
@ -4,14 +4,11 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
import cn.iocoder.yudao.framework.common.validation.InEnum;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalTime;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE_SECOND;
|
||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 自提门店分页 Request VO")
|
||||
|
@ -88,6 +88,7 @@ public interface BrokerageRecordMapper extends BaseMapperX<BrokerageRecordDO> {
|
||||
@Param("beginTime") LocalDateTime beginTime,
|
||||
@Param("endTime") LocalDateTime endTime);
|
||||
|
||||
// TODO @芋艿:收敛掉 @Select 注解操作,统一成 MyBatis-Plus 的方式,或者 xml
|
||||
@Select("SELECT user_id AS id, SUM(price) AS brokeragePrice FROM trade_brokerage_record " +
|
||||
"WHERE biz_type = #{bizType} AND status = #{status} AND deleted = FALSE " +
|
||||
"AND unfreeze_time BETWEEN #{beginTime} AND #{endTime} " +
|
||||
|
Loading…
Reference in New Issue
Block a user