update 标协会员门户端权限判断

This commit is contained in:
lijiarao
2024-03-18 11:10:28 +08:00
parent b6d7fc633d
commit c05f05a7c2
9 changed files with 120 additions and 96 deletions
@@ -139,6 +139,9 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/sys/oss/file/queryById","anon");//通过id查询文件 filterChainDefinitionMap.put("/sys/oss/file/queryById","anon");//通过id查询文件
filterChainDefinitionMap.put("/meeting/internalMeetingSituation/checkMember","anon");//校验是否为会员单位 filterChainDefinitionMap.put("/meeting/internalMeetingSituation/checkMember","anon");//校验是否为会员单位
filterChainDefinitionMap.put("/meeting/internalMeeting/getLinkTopics","anon");//查询关联会议 filterChainDefinitionMap.put("/meeting/internalMeeting/getLinkTopics","anon");//查询关联会议
//通过单位名称查询该单位是否可用
filterChainDefinitionMap.put("/member/tbMemberProjectSubitem/enableMemberByCompanyName", "anon");
filterChainDefinitionMap.put("/", "anon"); filterChainDefinitionMap.put("/", "anon");
filterChainDefinitionMap.put("/doc.html", "anon"); filterChainDefinitionMap.put("/doc.html", "anon");
@@ -66,6 +66,8 @@ import com.jero.meeting.service.PayRandomCodeService;
import com.jero.meeting.valid.group.*; import com.jero.meeting.valid.group.*;
import com.jero.meeting.vo.*; import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*; import com.jero.meeting.vo.excel.*;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.entity.PayPackCompanyProject;
@@ -166,6 +168,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
private ISysBaseAPI sysBaseAPI; private ISysBaseAPI sysBaseAPI;
@Resource @Resource
private IPayDraftingGroupSubItemContactsService draftingGroupSubItemContactsService; private IPayDraftingGroupSubItemContactsService draftingGroupSubItemContactsService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
private static final String[] CAN_MODIFY_LIST = private static final String[] CAN_MODIFY_LIST =
@@ -1481,7 +1485,9 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
*/ */
@Override @Override
public Boolean checkMemberCompany(String companyName){ public Boolean checkMemberCompany(String companyName){
return memberInfoService.check(companyName) > 0; PayCompanyManagement company = companyManagementService.getCompanyByName(companyName);
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(company.getId());
return takeEffectInfo != null;
} }
private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement) { private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement) {
@@ -17,10 +17,7 @@ import com.jero.member.service.ITbMemberProjectSubitemService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.vo.CopyMemberVO; import com.jero.member.vo.*;
import com.jero.member.vo.EditMemberBenefitsVO;
import com.jero.member.vo.PaymentInfo;
import com.jero.member.vo.TbMemberProjectSubitemEditVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -150,6 +147,22 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
return Result.OK("编辑会员权益成功!"); return Result.OK("编辑会员权益成功!");
} }
@ApiOperation(value = "资料_下载权限校验", notes = "资料_下载权限校验")
@PostMapping(value = "/dataDownloadPower")
public Result<?> dataDownloadPower(@RequestBody QueryAggVO queryAggVO, HttpServletRequest request) {
tbMemberProjectSubitemService.dataDownloadPower(queryAggVO, request);
return Result.OK(Result.SELECT_SUCCESS, Boolean.TRUE);
}
/**
* 通过单位名称查询该单位是否可用,即已缴费状态
*/
@PostMapping(value = "/enableMemberByCompanyName")
public Result<?> enableMemberByCompanyName(@RequestBody String companyName) {
tbMemberProjectSubitemService.enableMemberByCompanyName(companyName);
return Result.OK();
}
/** /**
* 导出excel * 导出excel
*/ */
@@ -162,21 +175,4 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
return super.exportListXls(pageList.getRecords(), TbMemberProjectSubitem.class, "标协会员项目成员表"); return super.exportListXls(pageList.getRecords(), TbMemberProjectSubitem.class, "标协会员项目成员表");
} }
@PostMapping(value = "/incomingUpdatePayment")
public Result<Object> incomingUpdatePayment(@RequestBody TbMemberProjectSubitem tbMemberProjectSubitem) {
PaymentInfo paymentInfo = new PaymentInfo();
paymentInfo.setId(tbMemberProjectSubitem.getTbPaymentId());
paymentInfo.setMemberId(tbMemberProjectSubitem.getMemberId());
paymentInfo.setInvoiceRequirements(tbMemberProjectSubitem.getInvoiceRequirements());
paymentInfo.setHeaderName(tbMemberProjectSubitem.getHeaderName());
paymentInfo.setTaxNumber(tbMemberProjectSubitem.getTaxNumber());
paymentInfo.setDepositBank(tbMemberProjectSubitem.getDepositBank());
paymentInfo.setBankAccount(tbMemberProjectSubitem.getBankAccount());
paymentInfo.setInvoiceAddress(tbMemberProjectSubitem.getInvoiceAddress());
paymentInfo.setInvoicePhone(tbMemberProjectSubitem.getInvoicePhone());
paymentInfo.setLinkBankNumber(tbMemberProjectSubitem.getLinkBankNumber());
AuthenticationUtils.post("/paymentInfo/incomingUpdatePayment",null,paymentInfo);
return Result.OK();
}
} }
@@ -7,9 +7,11 @@ import com.jero.member.entity.TbMemberProjectSubitem;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.member.vo.CopyMemberVO; import com.jero.member.vo.CopyMemberVO;
import com.jero.member.vo.EditMemberBenefitsVO; import com.jero.member.vo.EditMemberBenefitsVO;
import com.jero.member.vo.QueryAggVO;
import com.jero.statistics.entity.MemberLineChartVO; import com.jero.statistics.entity.MemberLineChartVO;
import com.jero.statistics.entity.MemberPieChartVO; import com.jero.statistics.entity.MemberPieChartVO;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
/** /**
@@ -99,4 +101,8 @@ public interface ITbMemberProjectSubitemService extends IService<TbMemberProject
List<MemberPieChartVO> pieChart(); List<MemberPieChartVO> pieChart();
IPage<TbMemberProjectSubitem> pieChartPage(Page<TbMemberProjectSubitem> page, QueryWrapper<TbMemberProjectSubitem> queryWrapper); IPage<TbMemberProjectSubitem> pieChartPage(Page<TbMemberProjectSubitem> page, QueryWrapper<TbMemberProjectSubitem> queryWrapper);
void dataDownloadPower(QueryAggVO queryAggVO, HttpServletRequest request);
void enableMemberByCompanyName(String companyName);
} }
@@ -16,18 +16,25 @@ import com.jero.common.service.RolePermissionService;
import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService; import com.jero.contract.service.IPayIncomeContractService;
import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.service.IPayMailBillProjectService; import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.mail.service.IPayMailBillService; import com.jero.mail.service.IPayMailBillService;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.member.entity.TbMemberProjectSubitem; import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.enums.MemberStatusEnum; import com.jero.member.enums.MemberStatusEnum;
import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.ITbMemberProjectSubitemService; import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.member.vo.CopyMemberVO; import com.jero.member.vo.CopyMemberVO;
import com.jero.member.vo.EditMemberBenefitsVO; import com.jero.member.vo.EditMemberBenefitsVO;
import com.jero.member.vo.QueryAggVO;
import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.payment.entity.PayConfirmPaymentRecord; import com.jero.payment.entity.PayConfirmPaymentRecord;
@@ -40,6 +47,7 @@ import com.jero.statistics.entity.MemberLineChartVO;
import com.jero.statistics.entity.MemberPieChartVO; import com.jero.statistics.entity.MemberPieChartVO;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import com.sun.javaws.exceptions.JreExecException;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -51,6 +59,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import static freemarker.template.utility.NullArgumentException.check; import static freemarker.template.utility.NullArgumentException.check;
@@ -73,7 +82,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
@Autowired @Autowired
private IPayPackCompanyProjectService payPackCompanyProjectService; private IPayPackCompanyProjectService payPackCompanyProjectService;
@Autowired @Autowired
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService; private IPayCompanyManagementService companyManagementService;
@Autowired @Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Resource @Resource
@@ -90,6 +99,8 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
private IPayMailBillService payMailBillService; private IPayMailBillService payMailBillService;
@Resource @Resource
private ISysBaseAPI sysBaseAPI; private ISysBaseAPI sysBaseAPI;
@Resource
private PayMeetingSituationMapper payMeetingSituationMapper;
/** /**
* 保存 * 保存
@@ -397,6 +408,43 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
return baseMapper.pieChartPage(page,queryWrapper); return baseMapper.pieChartPage(page,queryWrapper);
} }
@Override
public void dataDownloadPower(QueryAggVO queryAggVO, HttpServletRequest request) {
String meetingId = queryAggVO.getMeetingId();
String meetingType = queryAggVO.getMeetingType();
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
String companyId = loginUser.getCompanyId();
TbMemberProjectSubitem takeEffectInfo = getTakeEffectInfo(companyId);
boolean isNotMember = false;
if (takeEffectInfo == null){
isNotMember = true;
}
//如果是标准宣贯&&学习培训要判断是否为参会人员
if ("6".equals(meetingType) || "7".equals(meetingType)) {
LambdaQueryWrapper<PayMeetingSituation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingSituation::getMeetingId,meetingId);
wrapper.eq(PayMeetingSituation::getCompanyContactId,userId);
Integer count = payMeetingSituationMapper.selectCount(wrapper);
if (count <= 0 && isNotMember) {
throw new JeroBootException("只有参会人员和有效期内的缴费会员可以下载和预览文件!");
}
}else if (isNotMember){
throw new JeroBootException("只有有效期内的缴费会员可以下载和预览文件!");
}
}
@Override
public void enableMemberByCompanyName(String companyName) {
PayCompanyManagement company = companyManagementService.getCompanyByName(companyName);
TbMemberProjectSubitem takeEffectInfo = getTakeEffectInfo(company.getId());
if (takeEffectInfo == null){
throw new JeroBootException(companyName + "不是有效会员");
}
}
private TbMemberProjectSubitem setCopyValue(TbMemberProjectSubitem memberProjectSubitem) { private TbMemberProjectSubitem setCopyValue(TbMemberProjectSubitem memberProjectSubitem) {
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem(); TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
tbMemberProjectSubitem.setMemberNo(memberProjectSubitem.getMemberNo()); tbMemberProjectSubitem.setMemberNo(memberProjectSubitem.getMemberNo());
@@ -0,0 +1,38 @@
package com.jero.member.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value="QueryAggVO对象", description="查询聚合VO")
public class QueryAggVO {
@ApiModelProperty(value = "用户id")
private String userId;
@ApiModelProperty(value = "页数")
private Integer pageNo;
@ApiModelProperty(value = "条数")
private Integer pageSize;
@ApiModelProperty(value = "会议id")
private String meetingId;
/**
* 会议类型
* 协会概况: 1, SURVEY
* 工作动态: 2, WORK_TREND
* 行业新闻: 3, NEWS
* 会员服务: 4, SERVE
* 合作交流: 5, CONTACT
* 标准宣贯: 6, TRAIN
* 学习培训: 7, LEARN
* 技术资料: 8, SKILL
* 期刊杂志: 9, MAGAZINE
* 综合资源: 10, RESOURCE
*/
@ApiModelProperty(value = "会议类型")
private String meetingType;
}
@@ -44,7 +44,6 @@ import java.util.*;
*/ */
@Service @Service
@Transactional @Transactional
@DS(value = "multi-datasource1")
public class MeetingNewsServiceImpl extends ServiceImpl<MeetingNewsMapper, MeetingNews> implements IMeetingNewsService { public class MeetingNewsServiceImpl extends ServiceImpl<MeetingNewsMapper, MeetingNews> implements IMeetingNewsService {
} }
@@ -15,12 +15,4 @@ import java.util.Map;
*/ */
public interface IMemberInfoService extends IService<MemberInfo> { public interface IMemberInfoService extends IService<MemberInfo> {
int check(String companyName);
/**
* 查询会员信息
* @param contacts
* @return
*/
Map<String,Object> baseInfo(PayCompanyManagement company);
} }
@@ -1,27 +1,15 @@
package com.jero.standards.memberinfo.service.impl; package com.jero.standards.memberinfo.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.member.entity.PayMemberProject;
import com.jero.standards.memberinfo.entity.MemberInfo; import com.jero.standards.memberinfo.entity.MemberInfo;
import com.jero.standards.memberinfo.entity.SysUser;
import com.jero.standards.memberinfo.entity.TbContacts;
import com.jero.standards.memberinfo.mapper.MemberInfoMapper; import com.jero.standards.memberinfo.mapper.MemberInfoMapper;
import com.jero.standards.memberinfo.service.IMemberInfoService; import com.jero.standards.memberinfo.service.IMemberInfoService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/** /**
* @Description: 会员信息表 * @Description: 会员信息表
@@ -30,58 +18,6 @@ import java.util.Map;
* @Version: V1.0 * @Version: V1.0
*/ */
@Service @Service
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
@DS(value = "multi-datasource1")
public class MemberInfoServiceImpl extends ServiceImpl<MemberInfoMapper, MemberInfo> implements IMemberInfoService { public class MemberInfoServiceImpl extends ServiceImpl<MemberInfoMapper, MemberInfo> implements IMemberInfoService {
@Resource
MemberInfoMapper memberInfoMapper;
@Override
public int check(String companyName) {
return baseMapper.countByCompanyName(companyName);
}
/**
* 查询会员信息
* @return
*/
@Override
public Map<String,Object> baseInfo(PayCompanyManagement company) {
//右侧本企业信息
LambdaQueryWrapper<MemberInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MemberInfo::getId,company.getMemberId());
MemberInfo memberInfo = memberInfoMapper.selectOne(wrapper);
if (memberInfo != null){
//解密
String memberMobile = PasswordUtil.decrypt(memberInfo.getMobile());
memberInfo.setMobile(memberMobile);
String memberEmail = PasswordUtil.decrypt(memberInfo.getEmail());
memberInfo.setEmail(memberEmail);
String memberInfoPhone = PasswordUtil.decrypt(memberInfo.getPhone());
memberInfo.setPhone(memberInfoPhone);
String standardMobile = PasswordUtil.decrypt(memberInfo.getStandardMobile());
memberInfo.setStandardMobile(standardMobile);
String standardPhone = PasswordUtil.decrypt(memberInfo.getStandardPhone());
memberInfo.setStandardPhone(standardPhone);
String standardEmail = PasswordUtil.decrypt(memberInfo.getStandardEmail());
memberInfo.setStandardEmail(standardEmail);
}
//左侧秘书处信息
SysUser secretariat = memberInfoMapper.getBXGLZ();
//解密
String phone = PasswordUtil.decrypt(secretariat.getPhone());
secretariat.setPhone(phone);
String email = PasswordUtil.decrypt(secretariat.getEmail());
secretariat.setEmail(email);
TbContacts tbContacts = memberInfoMapper.getTbContacts();
Map<String,Object> map = new HashMap<>();
map.put("memberInfo",memberInfo);
map.put("secretariat",secretariat);
map.put("tbContacts",tbContacts);
return map;
}
} }