From c05f05a7c2fdabddbf4a73b9cf056fdbb763b85a Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 18 Mar 2024 11:10:28 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A0=87=E5=8D=8F=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E9=97=A8=E6=88=B7=E7=AB=AF=E6=9D=83=E9=99=90=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/shiro/ShiroConfig.java | 3 + .../impl/PayMeetingSituationServiceImpl.java | 8 ++- .../TbMemberProjectSubitemController.java | 38 +++++------ .../ITbMemberProjectSubitemService.java | 6 ++ .../TbMemberProjectSubitemServiceImpl.java | 50 ++++++++++++++- .../java/com/jero/member/vo/QueryAggVO.java | 38 +++++++++++ .../service/impl/MeetingNewsServiceImpl.java | 1 - .../service/IMemberInfoService.java | 8 --- .../service/impl/MemberInfoServiceImpl.java | 64 ------------------- 9 files changed, 120 insertions(+), 96 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/member/vo/QueryAggVO.java diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index 0953459f..9e7b2a0d 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -139,6 +139,9 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/oss/file/queryById","anon");//通过id查询文件 filterChainDefinitionMap.put("/meeting/internalMeetingSituation/checkMember","anon");//校验是否为会员单位 filterChainDefinitionMap.put("/meeting/internalMeeting/getLinkTopics","anon");//查询关联会议 + //通过单位名称查询该单位是否可用 + filterChainDefinitionMap.put("/member/tbMemberProjectSubitem/enableMemberByCompanyName", "anon"); + filterChainDefinitionMap.put("/", "anon"); filterChainDefinitionMap.put("/doc.html", "anon"); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 36f634ce..6fb0d97f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -66,6 +66,8 @@ import com.jero.meeting.service.PayRandomCodeService; import com.jero.meeting.valid.group.*; import com.jero.meeting.vo.*; 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.service.IOSSFileService; import com.jero.pack.entity.PayPackCompanyProject; @@ -166,6 +168,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl 0; + PayCompanyManagement company = companyManagementService.getCompanyByName(companyName); + TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(company.getId()); + return takeEffectInfo != null; } private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/TbMemberProjectSubitemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/TbMemberProjectSubitemController.java index 29d98b3b..6e083d89 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/TbMemberProjectSubitemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/TbMemberProjectSubitemController.java @@ -17,10 +17,7 @@ import com.jero.member.service.ITbMemberProjectSubitemService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.jero.member.vo.CopyMemberVO; -import com.jero.member.vo.EditMemberBenefitsVO; -import com.jero.member.vo.PaymentInfo; -import com.jero.member.vo.TbMemberProjectSubitemEditVO; +import com.jero.member.vo.*; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -150,6 +147,22 @@ public class TbMemberProjectSubitemController extends JeroController 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 */ @@ -162,21 +175,4 @@ public class TbMemberProjectSubitemController extends JeroController 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(); - } - } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/ITbMemberProjectSubitemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/ITbMemberProjectSubitemService.java index ed6be03b..fe0bc242 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/ITbMemberProjectSubitemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/ITbMemberProjectSubitemService.java @@ -7,9 +7,11 @@ import com.jero.member.entity.TbMemberProjectSubitem; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.member.vo.CopyMemberVO; import com.jero.member.vo.EditMemberBenefitsVO; +import com.jero.member.vo.QueryAggVO; import com.jero.statistics.entity.MemberLineChartVO; import com.jero.statistics.entity.MemberPieChartVO; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -99,4 +101,8 @@ public interface ITbMemberProjectSubitemService extends IService pieChart(); IPage pieChartPage(Page page, QueryWrapper queryWrapper); + + void dataDownloadPower(QueryAggVO queryAggVO, HttpServletRequest request); + + void enableMemberByCompanyName(String companyName); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/TbMemberProjectSubitemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/TbMemberProjectSubitemServiceImpl.java index 9b513a48..a952bf6b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/TbMemberProjectSubitemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/TbMemberProjectSubitemServiceImpl.java @@ -16,18 +16,25 @@ import com.jero.common.service.RolePermissionService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.DictModel; 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.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.service.IPayMailBillProjectService; 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.enums.MemberStatusEnum; import com.jero.member.mapper.TbMemberProjectSubitemMapper; import com.jero.member.service.ITbMemberProjectSubitemService; import com.jero.member.vo.CopyMemberVO; import com.jero.member.vo.EditMemberBenefitsVO; +import com.jero.member.vo.QueryAggVO; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; 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.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService; +import com.sun.javaws.exceptions.JreExecException; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -51,6 +59,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import static freemarker.template.utility.NullArgumentException.check; @@ -73,7 +82,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl 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) { TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem(); tbMemberProjectSubitem.setMemberNo(memberProjectSubitem.getMemberNo()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/QueryAggVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/QueryAggVO.java new file mode 100644 index 00000000..0ee89e2f --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/QueryAggVO.java @@ -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; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/meetingNews/service/impl/MeetingNewsServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/meetingNews/service/impl/MeetingNewsServiceImpl.java index 5d5c0d1b..ef516da4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/meetingNews/service/impl/MeetingNewsServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/meetingNews/service/impl/MeetingNewsServiceImpl.java @@ -44,7 +44,6 @@ import java.util.*; */ @Service @Transactional -@DS(value = "multi-datasource1") public class MeetingNewsServiceImpl extends ServiceImpl implements IMeetingNewsService { } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/IMemberInfoService.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/IMemberInfoService.java index 11dec669..e92cc8b6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/IMemberInfoService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/IMemberInfoService.java @@ -15,12 +15,4 @@ import java.util.Map; */ public interface IMemberInfoService extends IService { - int check(String companyName); - - /** - * 查询会员信息 - * @param contacts - * @return - */ - Map baseInfo(PayCompanyManagement company); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java index c3d7e204..de3257b6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java @@ -1,27 +1,15 @@ package com.jero.standards.memberinfo.service.impl; 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.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.SysUser; -import com.jero.standards.memberinfo.entity.TbContacts; import com.jero.standards.memberinfo.mapper.MemberInfoMapper; 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.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.Map; /** * @Description: 会员信息表 @@ -30,58 +18,6 @@ import java.util.Map; * @Version: V1.0 */ @Service -@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) -@DS(value = "multi-datasource1") public class MemberInfoServiceImpl extends ServiceImpl implements IMemberInfoService { - @Resource - MemberInfoMapper memberInfoMapper; - @Override - public int check(String companyName) { - return baseMapper.countByCompanyName(companyName); - } - /** - * 查询会员信息 - * @return - */ - @Override - public Map baseInfo(PayCompanyManagement company) { - - //右侧本企业信息 - LambdaQueryWrapper 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 map = new HashMap<>(); - map.put("memberInfo",memberInfo); - map.put("secretariat",secretariat); - map.put("tbContacts",tbContacts); - - return map; - } }