add 标协会员项目成员-开票后更新有效期
This commit is contained in:
+2
-23
@@ -203,30 +203,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
for (int i = 0; i < bmpList.size(); i++) {
|
||||
PayMailBillProject payMailBillProject = bmpList.get(i);
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(payMailBillProject.getProjectType()))) {
|
||||
// 更新会员有效期
|
||||
String id = payMailBillProject.getProjectId();
|
||||
LambdaQueryWrapper<PayMailBillProject> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMailBillProject::getProjectId, id);
|
||||
wrapper.eq(PayMailBillProject::getProjectType, PayIncomeContractCommon.PROJECT_TYPE5);
|
||||
List<PayMailBillProject> type5List = payMailBillProjectService.list(wrapper);
|
||||
|
||||
if (type5List != null && type5List.size() > 0) {
|
||||
throw new JeroBootException("标协会员项目,只能开票一次。");
|
||||
}
|
||||
//推送开票数据到会员系统
|
||||
pushBillToStandards(payMailBill, id,StandardsTypeEnum.STANDARDS);
|
||||
}
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE6.equals(String.valueOf(payMailBillProject.getProjectType()))) {
|
||||
String id = payMailBillProject.getProjectId();
|
||||
LambdaQueryWrapper<PayMailBillProject> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMailBillProject::getProjectId, id);
|
||||
wrapper.eq(PayMailBillProject::getProjectType, PayIncomeContractCommon.PROJECT_TYPE6);
|
||||
List<PayMailBillProject> type6List = payMailBillProjectService.list(wrapper);
|
||||
|
||||
if (type6List != null && type6List.size() > 0) {
|
||||
throw new JeroBootException("标协证书项目,只能开票一次。");
|
||||
}
|
||||
//推送开票数据到会员系统
|
||||
pushBillToStandards(payMailBill, id,StandardsTypeEnum.CERTIFICATE);
|
||||
tbMemberProjectSubitemService.generateValidDate(id);
|
||||
}
|
||||
//会议项目开票时,获取参会人配置的邮寄信息
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE3.equals(String.valueOf(payMailBillProject.getProjectType()))) {
|
||||
|
||||
+4
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* @Description: 标协会员项目成员表
|
||||
@@ -34,4 +35,7 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProject
|
||||
IPage<TbMemberProjectSubitem> pageList(Page<TbMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryWrapper);
|
||||
|
||||
List<TbMemberProjectSubitem> getAllTakeEffectByCompanyId(@Param("companyId") String companyId);
|
||||
|
||||
@Select("SELECT IFNULL(MAX(SUBSTRING(member_no,13)),'0') + 1 FROM tb_member_info WHERE member_no LIKE concat(#{date},'%')")
|
||||
Integer getMaxMemberNo(@Param("date") String date);
|
||||
}
|
||||
|
||||
+2
@@ -82,4 +82,6 @@ public interface ITbMemberProjectSubitemService extends IService<TbMemberProject
|
||||
void ticketCollection(String id);
|
||||
|
||||
void editMemberBenefits(EditMemberBenefitsVO editMemberBenefitsVO);
|
||||
|
||||
void generateValidDate(String id);
|
||||
}
|
||||
|
||||
+56
@@ -1,6 +1,10 @@
|
||||
package com.jero.member.service.impl;
|
||||
import java.util.*;
|
||||
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -251,4 +255,56 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
|
||||
.set(TbMemberProjectSubitem::getInvalidationDate,invalidationDate);
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
@Override
|
||||
public void generateValidDate(String id){
|
||||
TbMemberProjectSubitem memberProjectSubitem = getById(id);
|
||||
String companyId = memberProjectSubitem.getCompanyId();
|
||||
//获得有效数据
|
||||
TbMemberProjectSubitem takeEffectInfo = getTakeEffectInfo(companyId);
|
||||
DateTime effectiveDate;
|
||||
LambdaUpdateWrapper<TbMemberProjectSubitem> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(TbMemberProjectSubitem::getId,id);
|
||||
DateTime date = DateUtil.date();
|
||||
//如果是新会员,或者当前日期大于之前的失效日期
|
||||
if (takeEffectInfo == null || date.compareTo(takeEffectInfo.getInvalidationDate()) > 0){
|
||||
//获得当月1日
|
||||
effectiveDate = DateUtil.beginOfMonth(date);
|
||||
// 如果是续费
|
||||
}else {
|
||||
//获取上一个失效日期
|
||||
Date previousInvalidationDate = takeEffectInfo.getInvalidationDate();
|
||||
//获得失效日期的下个月1日
|
||||
effectiveDate = DateUtil.beginOfMonth(DateUtil.date(previousInvalidationDate).offset(DateField.MONTH, 1));
|
||||
}
|
||||
//获得生效日期明年当月月底
|
||||
DateTime invalidationDate = DateUtil.endOfMonth(effectiveDate.offset(DateField.YEAR, 1));
|
||||
//设置生效失效日期
|
||||
updateWrapper.set(TbMemberProjectSubitem::getEffectiveDate,effectiveDate);
|
||||
updateWrapper.set(TbMemberProjectSubitem::getInvalidationDate,invalidationDate);
|
||||
//设置会员状态为已缴费
|
||||
updateWrapper.set(TbMemberProjectSubitem::getMemberStatus,MemberStatusEnum.PAID.getValue());
|
||||
//如果是新会员,生成会员编号
|
||||
if (takeEffectInfo == null){
|
||||
//格式化日期为yyyyMMdd
|
||||
String dateStr = date.toString(DatePattern.PURE_DATE_PATTERN);
|
||||
String memberNoPrefix = "CASA" + dateStr;
|
||||
Integer maxMemberNo = tbMemberProjectSubitemMapper.getMaxMemberNo(memberNoPrefix);
|
||||
//生成会员编号
|
||||
String memberNo = buildMemberNo(memberNoPrefix, maxMemberNo);
|
||||
updateWrapper.set(TbMemberProjectSubitem::getMemberNo,memberNo);
|
||||
}
|
||||
this.update(updateWrapper);
|
||||
}
|
||||
|
||||
private String buildMemberNo(String prefix, Integer no) {
|
||||
if (no == null || no <= 0) {
|
||||
return prefix + "001";
|
||||
}
|
||||
String suffix = no.toString();
|
||||
while (suffix.length() < 3) {
|
||||
suffix = "0" + suffix;
|
||||
}
|
||||
return prefix + suffix;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-2
@@ -515,8 +515,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
tbMember.setPaymentStatus(paymentStatus);
|
||||
tbMemberProjectSubitemMapper.updateById(tbMember);
|
||||
|
||||
//生成有效期
|
||||
|
||||
//拼装推到标协缴费的参数
|
||||
// TbCheckVo tbCheckVo = new TbCheckVo();
|
||||
// tbCheckVo.setId(tbMember.getTbPaymentId());
|
||||
|
||||
Reference in New Issue
Block a user