feat(crm): 添加报价单数据权限注解

- 在 CrmQuoteInfoMapper 接口的多个查询方法上添加@DataPermission注解
- 使用@DataColumn注解绑定部门和用户字段权限("deptName"对应"t.create_dept","userName"对应"t.create_by")
- 修改 CrmQuoteInfoServiceImpl 中查询列表方法,调用带数据权限的方法selectCustomCrmQuoteInfoVoList
- 实现对报价单相关查询的部门及用户级别数据权限控制
dev
zangch@mesnac.com 3 weeks ago
parent 11e7303f8e
commit 5f98db3519

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.annotation.DataColumn;
import org.dromara.common.mybatis.annotation.DataPermission;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.oa.crm.domain.CrmQuoteInfo;
import org.dromara.oa.crm.domain.vo.CrmQuoteInfoVo;
@ -27,6 +29,10 @@ public interface CrmQuoteInfoMapper extends BaseMapperPlus<CrmQuoteInfo, CrmQuot
* @param queryWrapper
* @return
*/
@DataPermission({
@DataColumn(key = "deptName", value = "t.create_dept"),
@DataColumn(key = "userName", value = "t.create_by")
})
public Page<CrmQuoteInfoVo> selectCustomCrmQuoteInfoVoList(@Param("page") Page<CrmQuoteInfoVo> page, @Param(Constants.WRAPPER) MPJLambdaWrapper<CrmQuoteInfo> queryWrapper);
/**
@ -35,6 +41,10 @@ public interface CrmQuoteInfoMapper extends BaseMapperPlus<CrmQuoteInfo, CrmQuot
* @param queryWrapper
* @return
*/
@DataPermission({
@DataColumn(key = "deptName", value = "t.create_dept"),
@DataColumn(key = "userName", value = "t.create_by")
})
public List<CrmQuoteInfoVo> selectCustomCrmQuoteInfoVoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<CrmQuoteInfo> queryWrapper);
/**
@ -59,6 +69,10 @@ public interface CrmQuoteInfoMapper extends BaseMapperPlus<CrmQuoteInfo, CrmQuot
* @param queryWrapper
* @return
*/
@DataPermission({
@DataColumn(key = "deptName", value = "t.create_dept"),
@DataColumn(key = "userName", value = "t.create_by")
})
Long countCustomCrmQuoteInfo(@Param(Constants.WRAPPER) Wrapper<CrmQuoteInfo> queryWrapper);
/**
@ -68,6 +82,10 @@ public interface CrmQuoteInfoMapper extends BaseMapperPlus<CrmQuoteInfo, CrmQuot
* @param queryWrapper
* @return
*/
@DataPermission({
@DataColumn(key = "deptName", value = "t.create_dept"),
@DataColumn(key = "userName", value = "t.create_by")
})
Page<CrmQuoteInfoVo> selectCustomCrmQuoteInfoVoPage(@Param("page") Page<CrmQuoteInfoVo> page, @Param(Constants.WRAPPER) Wrapper<CrmQuoteInfo> queryWrapper);
/**
@ -108,6 +126,10 @@ public interface CrmQuoteInfoMapper extends BaseMapperPlus<CrmQuoteInfo, CrmQuot
* @param queryWrapper
* @return
*/
@DataPermission({
@DataColumn(key = "deptName", value = "t.create_dept"),
@DataColumn(key = "userName", value = "t.create_by")
})
Boolean existsCrmQuoteInfo(@Param(Constants.WRAPPER) Wrapper<CrmQuoteInfo> queryWrapper);

@ -12,7 +12,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.oa.crm.domain.*;
import org.dromara.oa.crm.domain.bo.CrmQuoteInfoBo;
import org.dromara.oa.crm.domain.bo.CrmQuoteMaterialBo;
import org.dromara.oa.crm.domain.bo.CrmSupplierInfoBo;
import org.dromara.oa.crm.domain.vo.CrmCustomerContactVo;
import org.dromara.oa.crm.domain.vo.CrmQuoteInfoVo;
import org.dromara.oa.crm.domain.vo.CrmQuoteMaterialVo;
@ -23,9 +22,9 @@ import org.dromara.oa.crm.service.ICrmQuoteInfoService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -88,7 +87,7 @@ public class CrmQuoteInfoServiceImpl implements ICrmQuoteInfoService {
@Override
public List<CrmQuoteInfoVo> queryList(CrmQuoteInfoBo bo) {
MPJLambdaWrapper<CrmQuoteInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
return baseMapper.selectCustomCrmQuoteInfoVoList(lqw);
}
private MPJLambdaWrapper<CrmQuoteInfo> buildQueryWrapper(CrmQuoteInfoBo bo) {

Loading…
Cancel
Save