update 标协会员项目成员- 开票后更新有效期,会员编号

This commit is contained in:
lijiarao
2024-03-08 15:26:27 +08:00
parent 336ea2ced8
commit cf8dddcb2f
6 changed files with 45 additions and 5 deletions
@@ -29,6 +29,8 @@ import com.jero.mail.entity.PayMailBill;
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.member.entity.TbMemberProjectSubitem;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.entity.PayPaymentRecord;
@@ -94,6 +96,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
private IPayDraftingGroupSubItemService payDraftingGroupSubItemService; private IPayDraftingGroupSubItemService payDraftingGroupSubItemService;
@Resource @Resource
private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService; private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Override @Override
public ProjectDetailVO getProjectDetail(String projectId) { public ProjectDetailVO getProjectDetail(String projectId) {
@@ -360,6 +364,15 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress()); projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
} }
} }
//会员权益
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(payCommonProject.getChargeCompanyId());
if (takeEffectInfo != null){
projectDetailVO.setMemberNo(takeEffectInfo.getMemberNo());
projectDetailVO.setEffectiveDate(takeEffectInfo.getEffectiveDate());
projectDetailVO.setInvalidationDate(takeEffectInfo.getInvalidationDate());
}
}
// 到账信息 // 到账信息
LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,projectId); queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,projectId);
@@ -7,9 +7,11 @@ import com.jero.payment.entity.PayPaymentRecord;
import com.jero.project.entity.PayWorkingGroupSubItemContacts; import com.jero.project.entity.PayWorkingGroupSubItemContacts;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
@@ -289,5 +291,23 @@ public class ProjectDetailVO implements Serializable {
/**起草组成员联系人**/ /**起草组成员联系人**/
@ApiModelProperty(value = "起草组成员联系人") @ApiModelProperty(value = "起草组成员联系人")
private List<PayDraftingGroupSubItemContacts> payDraftingGroupSubItemContactsLists; private List<PayDraftingGroupSubItemContacts> payDraftingGroupSubItemContactsLists;
/**
* 会员编号
*/
@ApiModelProperty(value = "会员编号")
private String memberNo;
/** 生效日期 */
@ApiModelProperty(value = "生效日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date effectiveDate;
/**
* 失效日期
*/
@ApiModelProperty(value = "失效日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date invalidationDate;
} }
@@ -203,7 +203,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
for (int i = 0; i < bmpList.size(); i++) { for (int i = 0; i < bmpList.size(); i++) {
PayMailBillProject payMailBillProject = bmpList.get(i); PayMailBillProject payMailBillProject = bmpList.get(i);
if (PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(payMailBillProject.getProjectType()))) { if (PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(payMailBillProject.getProjectType()))) {
// 更新会员有效期 // 生成会员有效期
String id = payMailBillProject.getProjectId(); String id = payMailBillProject.getProjectId();
tbMemberProjectSubitemService.generateValidDate(id); tbMemberProjectSubitemService.generateValidDate(id);
} }
@@ -36,6 +36,6 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProject
List<TbMemberProjectSubitem> getAllTakeEffectByCompanyId(@Param("companyId") String companyId); 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},'%')") @Select("SELECT IFNULL(MAX(SUBSTRING(member_no,13)),'0') + 1 FROM tb_member_project_subitem WHERE member_no LIKE concat(#{date},'%')")
Integer getMaxMemberNo(@Param("date") String date); Integer getMaxMemberNo(@Param("date") String date);
} }
@@ -82,7 +82,9 @@ public interface ITbMemberProjectSubitemService extends IService<TbMemberProject
void ticketCollection(String id); void ticketCollection(String id);
void editMemberBenefits(EditMemberBenefitsVO editMemberBenefitsVO); TbMemberProjectSubitem getTakeEffectInfo(String companyId);
void editMemberBenefits(EditMemberBenefitsVO editMemberBenefitsVO);
void generateValidDate(String id); void generateValidDate(String id);
@@ -235,6 +235,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
* @param companyId * @param companyId
* @return * @return
*/ */
@Override
public TbMemberProjectSubitem getTakeEffectInfo(String companyId){ public TbMemberProjectSubitem getTakeEffectInfo(String companyId){
//获得所有生效数据 //获得所有生效数据
List<TbMemberProjectSubitem> allByCompanyId = tbMemberProjectSubitemMapper.getAllTakeEffectByCompanyId(companyId); List<TbMemberProjectSubitem> allByCompanyId = tbMemberProjectSubitemMapper.getAllTakeEffectByCompanyId(companyId);
@@ -266,6 +267,10 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
@Override @Override
public void generateValidDate(String id){ public void generateValidDate(String id){
TbMemberProjectSubitem memberProjectSubitem = getById(id); TbMemberProjectSubitem memberProjectSubitem = getById(id);
//如果有有效期就不执行了
if (memberProjectSubitem.getEffectiveDate() != null){
return;
}
String companyId = memberProjectSubitem.getCompanyId(); String companyId = memberProjectSubitem.getCompanyId();
//获得有效数据 //获得有效数据
TbMemberProjectSubitem takeEffectInfo = getTakeEffectInfo(companyId); TbMemberProjectSubitem takeEffectInfo = getTakeEffectInfo(companyId);
@@ -274,7 +279,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
updateWrapper.eq(TbMemberProjectSubitem::getId,id); updateWrapper.eq(TbMemberProjectSubitem::getId,id);
DateTime date = DateUtil.date(); DateTime date = DateUtil.date();
//如果是新会员,或者当前日期大于之前的失效日期 //如果是新会员,或者当前日期大于之前的失效日期
if (takeEffectInfo == null || date.compareTo(takeEffectInfo.getInvalidationDate()) > 0){ if (takeEffectInfo == null || DateUtil.compare(date,takeEffectInfo.getInvalidationDate()) > 0){
//获得当月1日 //获得当月1日
effectiveDate = DateUtil.beginOfMonth(date); effectiveDate = DateUtil.beginOfMonth(date);
// 如果是续费 // 如果是续费
@@ -292,7 +297,7 @@ public class TbMemberProjectSubitemServiceImpl extends ServiceImpl<TbMemberProje
//设置会员状态为已缴费 //设置会员状态为已缴费
updateWrapper.set(TbMemberProjectSubitem::getMemberStatus,MemberStatusEnum.PAID.getValue()); updateWrapper.set(TbMemberProjectSubitem::getMemberStatus,MemberStatusEnum.PAID.getValue());
//如果是新会员,生成会员编号 //如果是新会员,生成会员编号
if (takeEffectInfo == null){ if (takeEffectInfo == null || memberProjectSubitem.getMemberNo() == null){
//格式化日期为yyyyMMdd //格式化日期为yyyyMMdd
String dateStr = date.toString(DatePattern.PURE_DATE_PATTERN); String dateStr = date.toString(DatePattern.PURE_DATE_PATTERN);
String memberNoPrefix = "CASA" + dateStr; String memberNoPrefix = "CASA" + dateStr;