提交 bf643dd6 authored 作者: 吕本才's avatar 吕本才

1、转移报表权限

上级 35e47a1f
......@@ -3,6 +3,7 @@ package com.link.report.controller.core;
import com.link.report.pojo.request.CustomerGroupAddVo;
import com.link.report.service.CustomerGroupService;
import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -19,21 +20,21 @@ public class CustomerGroupCoreController {
@Autowired
CustomerGroupService groupService;
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR,value = {"bi:supply:list","bi:finance_report:list"})
@PostMapping("/group/insertOrUpdate")
public R save(@RequestBody CustomerGroupAddVo customerGroupAddVo) {
groupService.save(customerGroupAddVo);
return R.ok();
}
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
@DeleteMapping("/group/delete")
public R delete(CustomerGroupAddVo customerGroupAddVo) {
groupService.delete(customerGroupAddVo);
return R.ok();
}
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
@GetMapping("/group/convert")
public R convert() {
groupService.convert();
......
......@@ -22,7 +22,7 @@ public class CustomerReportCoreController {
@Autowired
CustomerReportService customerReportService;
@RequiresPermissions("bi:supply:list")
@RequiresPermissions("jimureport:ext:list")
@PostMapping("/save")
public R save(@RequestBody CustomerReportAddVo customerReportAddVo) {
customerReportService.save(customerReportAddVo);
......
......@@ -3,6 +3,7 @@ package com.link.report.controller.core;
import com.link.report.pojo.request.CustomerReportGroupVo;
import com.link.report.service.CustomerReportGroupService;
import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -24,7 +25,7 @@ public class CustomerReportGroupCoreController {
@Autowired
CustomerReportGroupService customerReportGroupService;
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
@PostMapping("/group/save")
public R insertOrUpdate(@RequestBody List<CustomerReportGroupVo> vos) {
customerReportGroupService.save(vos);
......
......@@ -4,6 +4,7 @@ import com.link.report.pojo.request.CustomerReportQueryListVo;
import com.link.report.pojo.response.CustomerReportGroupResDto;
import com.link.report.service.CustomerReportGroupService;
import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -24,7 +25,7 @@ public class CustomerReportGroupQueryController {
@Autowired
CustomerReportGroupService customerReportGroupService;
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
@GetMapping("/group/list")
public R<List<CustomerReportGroupResDto>> queryList(CustomerReportQueryListVo vo) {
List<CustomerReportGroupResDto> dtos = customerReportGroupService.queryList(vo);
......
......@@ -4,6 +4,7 @@ import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.CustomerReportListDto;
import com.link.report.service.CustomerReportService;
import com.sfa.common.core.domain.R;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -24,7 +25,7 @@ public class CustomerReportQueryController {
@Autowired
CustomerReportService customerReportService;
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
@GetMapping("/list")
public R<List<CustomerReportListDto>> queryList(ReportShareListVo reportShareListVo) {
List<CustomerReportListDto> customerReportListDtos = customerReportService.queryCustomerReportList(reportShareListVo);
......
package com.link.report.controller.query;
import com.link.report.pojo.request.CustomerReportTransferVo;
import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.ReportShareBiListDto;
import com.link.report.service.ReportShareService;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.web.controller.BaseController;
import com.sfa.common.datascope.annotation.DataScope;
import com.sfa.common.security.annotation.Logical;
import com.sfa.common.security.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -35,10 +37,16 @@ public class ReportShareQueryController extends BaseController {
*/
@DataScope(deptAlias = "d", userAlias = "u")
@GetMapping("/list")
@RequiresPermissions("bi:supply:list")
@RequiresPermissions(logical= Logical.OR ,value = {"bi:supply:list","bi:finance_report:list"})
public R<List<ReportShareBiListDto>> selectList(ReportShareListVo reportShareListVo) {
List<ReportShareBiListDto> reportShareBiListDtos = reportShareService.selectList(reportShareListVo);
return R.ok(reportShareBiListDtos);
}
// 转让接口权限
@GetMapping("/transfer")
public R transfer( CustomerReportTransferVo customerReportTransferVo) {
reportShareService.transfer(customerReportTransferVo);
return R.ok();
}
}
package com.link.report.domain.dao;
import com.link.report.pojo.response.CustomerJimuReportDto;
public interface CustomerJimuReportDao {
CustomerJimuReportDto queryByName(String reportName);
void updateTenentId(CustomerJimuReportDto customerJimuReportDto);
}
package com.link.report.domain.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.link.report.domain.dao.CustomerJimuReportDao;
import com.link.report.domain.entity.CustomerJimuReport;
import com.link.report.domain.mapper.CustomerJimuReportMapper;
import com.link.report.pojo.response.CustomerJimuReportDto;
import com.sfa.common.core.utils.bean.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 报表分享数据
*/
@Component
public class CustomerJimuReportDaoImpl implements CustomerJimuReportDao {
@Autowired
private CustomerJimuReportMapper customerJimuReportMapper;
@Override
public CustomerJimuReportDto queryByName(String reportName) {
CustomerJimuReport jimuReport = customerJimuReportMapper.selectOne(new LambdaQueryWrapper<CustomerJimuReport>()
.eq(CustomerJimuReport::getName, reportName));
return BeanUtils.transitionDto(jimuReport, CustomerJimuReportDto.class);
}
@Override
public void updateTenentId(CustomerJimuReportDto customerJimuReportDto) {
CustomerJimuReport report = BeanUtils.transitionDto(customerJimuReportDto, CustomerJimuReport.class);
customerJimuReportMapper.updateById(report);
}
}
package com.link.report.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("jimu_report")
public class CustomerJimuReport {
private String id;
private String code;
private String name;
private String note;
private String status;
private String type;
private String jsonStr;
private String apiUrl;
private String apiMethod;
private String apiCode;
private String thumb;
private Integer template;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
// private Map<String, Object> dataList;
private Integer delFlag;
private Long viewCount;
private String cssStr;
private String jsStr;
private String pyStr;
private String tenantId;
private Integer updateCount;
// private Boolean isRefresh;
// private String shareViewUrl;
// private Integer submitForm;
//
// /** @deprecated */
// @Deprecated
// public String getJsonStr() {
// return this.getJsonStrJson() != null && !this.getJsonStrJson().isEmpty() ? this.getJsonStrJson().toJSONString() : null;
// }
//
// public void setJsonStr(String jsonStr) {
// this.jsonStr = jsonStr;
// }
//
// public JSONObject getJsonStrJson() {
// if ((this.jsonStrJson == null || this.jsonStrJson.isEmpty()) && OkConvertUtils.isNotEmpty(this.jsonStr)) {
// this.jsonStrJson = JSONObject.parseObject(this.jsonStr, new Feature[]{Feature.OrderedField});
// this.jsonStr = this.jsonStr.replaceAll(".*", "");
// }
//
// return this.jsonStrJson;
// }
}
package com.link.report.domain.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.link.report.domain.entity.CustomerJimuReport;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CustomerJimuReportMapper extends BaseMapper<CustomerJimuReport> {
}
package com.link.report.pojo.request;
import lombok.Data;
/**
* @author : lvbencai
* @date : 2025年03月19日12:09:19
* @describe : 自定义报表查询条件
*/
@Data
public class CustomerReportTransferVo {
private String reportName;
private String fromId;
private String toId;
}
package com.link.report.pojo.response;
import lombok.Data;
import java.util.Date;
@Data
public class CustomerJimuReportDto {
private String id;
private String code;
private String name;
private String note;
private String status;
private String type;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private String tenantId;
private Integer updateCount;
}
package com.link.report.service;
import com.link.report.pojo.request.CustomerReportTransferVo;
import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.ReportShareBiListDto;
......@@ -7,4 +8,6 @@ import java.util.List;
public interface ReportShareService {
List<ReportShareBiListDto> selectList(ReportShareListVo reportShareListVo);
void transfer(CustomerReportTransferVo customerReportTransferVo);
}
......@@ -74,7 +74,8 @@ public class CustomerGroupServiceImpl implements CustomerGroupService {
if (ObjectUtil.isNotEmpty(customerGroupDto)) {
// 匹配到了
CustomerGroupAddVo groupAddVo = new CustomerGroupAddVo();
groupAddVo.setCategoryName(customerGroupDto.getCategoryName());
// 分组
groupAddVo.setCategoryName(customerReportGroup.getCategoryName());
groupAddVo.setGroupName(customerGroupDto.getGroupName());
groupAddVo.setCreateBy(customerReportGroup.getCreateBy());
groupAddVo.setUpdateBy(customerReportGroup.getUpdateBy());
......
package com.link.report.service.impl;
import com.link.report.domain.dao.CustomerJimuReportDao;
import com.link.report.domain.dao.ReportShareDao;
import com.link.report.domain.wq.ReportShareListWq;
import com.link.report.pojo.request.CustomerReportTransferVo;
import com.link.report.pojo.request.ReportShareListVo;
import com.link.report.pojo.response.CustomerJimuReportDto;
import com.link.report.pojo.response.ReportShareBiListDto;
import com.link.report.service.ReportShareService;
import com.sfa.common.core.constant.SecurityConstants;
import com.sfa.common.core.domain.R;
import com.sfa.common.core.utils.bean.BeanUtils;
import com.sfa.system.api.RemoteUserService;
import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -18,6 +25,10 @@ import java.util.List;
public class ReportShareServiceImpl implements ReportShareService {
@Autowired
private ReportShareDao reportShareDao;
@Autowired
private CustomerJimuReportDao customerJimuReportDao;
@Autowired
private RemoteUserService remoteUserService;
@Override
public List<ReportShareBiListDto> selectList(ReportShareListVo reportShareListVo) {
......@@ -25,4 +36,18 @@ public class ReportShareServiceImpl implements ReportShareService {
BeanUtils.copyProperties(reportShareListVo, wq);
return reportShareDao.selectList(wq);
}
@Override
public void transfer(CustomerReportTransferVo customerReportTransferVo) {
// 查询当前的报表
CustomerJimuReportDto customerJimuReportDto = customerJimuReportDao.queryByName(customerReportTransferVo.getReportName());
R<LoginUser> userResult =remoteUserService.getUserInfo(customerReportTransferVo.getToId(), SecurityConstants.INNER) ;
// 获取新用户的租户id
Long deptId = userResult.getData().getSysUser().getDeptId();
customerJimuReportDto.setTenantId(deptId.toString());
// 修改报表
customerJimuReportDao.updateTenentId(customerJimuReportDto);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论