From 4cd8982c8120ee0a289fc2dd6304d35e4d28a0ca Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 11 Sep 2025 15:43:12 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/mapper/CuMemberAccountMapper.java | 2 + .../service/ICuMemberAccountService.java | 1 + .../impl/CuMemberAccountServiceImpl.java | 5 ++ .../manage/DeleteDeadLockController.java | 50 ++++++++++++++++ .../member/base/mapper/CuMemberMapper.java | 3 + .../base/param/DeleteDeadLockParam.java | 26 +++++++++ .../base/service/DeleteDeadLockService.java | 13 +++++ .../impl/DeleteDeadLockServiceImpl.java | 58 +++++++++++++++++++ .../hzs/member/base/vo/DeleteDeadLockVO.java | 48 +++++++++++++++ .../member/account/CuMemberAccountMapper.xml | 8 +++ .../mapper/member/base/CuMemberMapper.xml | 40 ++++++++++++- .../core/constant/msg/MemberMsgConstants.java | 4 ++ .../common/core/enums/EOperationModule.java | 2 + 13 files changed, 259 insertions(+), 1 deletion(-) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java index 95c45108..7e87daca 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java @@ -14,6 +14,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -268,4 +269,5 @@ public interface CuMemberAccountMapper extends BaseMapper { */ CuMemberAccountExt queryAccountSummaryByVertex(@Param("pkVertex") Long pkVertex, @Param("pkCountry") Integer pkCountry); + void deleteCuMemberAccountByMemberCode(@Param("userId") Long userId, @Param("date")Date date, @Param("memberCode")String memberCode); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java index 1f26196b..af8586a5 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java @@ -331,4 +331,5 @@ public interface ICuMemberAccountService extends IService { */ CuMemberAccountExt queryAccountSummaryByVertex(Long pkVertex, Integer pkCountry); + void deleteCuMemberAccountByMemberCode(Long userId, Date date, String memberCode); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java index 48d27424..772d4c05 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java @@ -841,5 +841,10 @@ public class CuMemberAccountServiceImpl extends ServiceImpl DeleteDeadLockList = deleteDeadLockService.queryDeleteDeadLockList(deleteDeadLockParam.getMemberCode()); + return getDataTable(DeleteDeadLockList); + } + + /** + * 删除死点 + */ + @Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.DELETE) + @PostMapping("delete") + public AjaxResult delete(@RequestBody DeleteDeadLockParam deleteDeadLockParam) { + String check = deleteDeadLockService.deleteDeadLockMember(deleteDeadLockParam); + if (check == null) { + return AjaxResult.success(); + } + return AjaxResult.error(check); + } +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index 969e5955..051eec49 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -791,4 +791,7 @@ public interface CuMemberMapper extends BaseMapper { @Param("pkGrade") Integer pkGrade, @Param("pkCountry") Integer pkCountry); + List queryDeleteDeadLockList(@Param("memberCode") String memberCode); + + Integer queryIsDeadMember(@Param("memberCode") String memberCode); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java new file mode 100644 index 00000000..16e345f2 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java @@ -0,0 +1,26 @@ +package com.hzs.member.base.param; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DeleteDeadLockParam { + + /** + * 会员编号 + */ + @NotNull(message = "会员编号不可为空") + private String memberCode; + + /** + * 所属国家 + */ + private Integer PkCountry; + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java new file mode 100644 index 00000000..cc3db73e --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java @@ -0,0 +1,13 @@ +package com.hzs.member.base.service; + +import com.hzs.member.base.param.DeleteDeadLockParam; +import com.hzs.member.base.vo.DeleteDeadLockVO; + +import java.util.List; + +public interface DeleteDeadLockService { + List queryDeleteDeadLockList(String memberCode); + + String deleteDeadLockMember(DeleteDeadLockParam deleteDeadLockParam); + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java new file mode 100644 index 00000000..ea11891c --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -0,0 +1,58 @@ +package com.hzs.member.base.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hzs.common.core.constant.msg.MemberMsgConstants; +import com.hzs.common.domain.member.base.CuMember; +import com.hzs.common.security.utils.SecurityUtils; +import com.hzs.member.account.service.ICuMemberAccountService; +import com.hzs.member.base.mapper.CuMemberMapper; +import com.hzs.member.base.param.DeleteDeadLockParam; +import com.hzs.member.base.service.DeleteDeadLockService; +import com.hzs.member.base.vo.DeleteDeadLockVO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +@Slf4j +public class DeleteDeadLockServiceImpl extends ServiceImpl implements DeleteDeadLockService { + @Autowired + private ICuMemberAccountService iCuMemberAccountService; + + @Override + public List queryDeleteDeadLockList(String memberCode) { + return baseMapper.queryDeleteDeadLockList(memberCode); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String deleteDeadLockMember(DeleteDeadLockParam deleteDeadLockParam) { + if (deleteDeadLockParam.getMemberCode() == null) { + return MemberMsgConstants.REQUIRED_NOT_EMPTY; + } + // 查询安置伞下和推荐伞下未删除会员数量,如果未删除会员数量为0返回true + Integer isNoDeadNum = baseMapper.queryIsDeadMember(deleteDeadLockParam.getMemberCode()); + log.info("安置伞下和推荐伞下未删除会员数量:{}",isNoDeadNum); + if(isNoDeadNum == 0){ + // 删除操作 + Long userId = SecurityUtils.getUserId(); + Date date=new Date();//此时date为当前的时间 + // 删除会员 + baseMapper.update(null,new LambdaUpdateWrapper() + .eq(CuMember::getMemberCode,deleteDeadLockParam.getMemberCode()) + .set(CuMember::getPkModified,userId) + .set(CuMember::getModifiedTime,date) + .set(CuMember::getDelFlag,1)); + // 删除会员账户 + iCuMemberAccountService.deleteCuMemberAccountByMemberCode(userId,date,deleteDeadLockParam.getMemberCode()); + } else { + return MemberMsgConstants.NOT_DEAD_MEMBER; + } + return null; + } +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java new file mode 100644 index 00000000..26eafa6c --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java @@ -0,0 +1,48 @@ +package com.hzs.member.base.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@AllArgsConstructor +@NoArgsConstructor +public class DeleteDeadLockVO { + + /** + * 会员编号 + */ + private String memberCode; + + /** + * 会员姓名 + */ + private String memberName; + /** + * 结算等级 + */ + private Integer pkSettleGrade; + /** + * 推荐人编号 + */ + private String parMemberCode; + /** + * 安置人编号 + */ + private String placeMemberCode; + /** + * 安置位置 + */ + private String placeDept; + /** + * 注册时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; +} diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml index 0f88925c..0a42ce8a 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml @@ -69,6 +69,14 @@ + + update cu_member_account cma + set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date} + where cma.pk_member in + (select cm.pk_id + from cu_member cm + where cm.member_code = #{memberCode}) + - + + diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java index 2e921b37..ba328736 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java @@ -287,5 +287,9 @@ public class MemberMsgConstants { * 已超最大门票销售数量,不能购买! */ public static final String NOT_CHECK_AC_ACTIVITY = "门票数量已售罄,请稍后再试!"; + /** + * 会员安置伞下和推荐伞下还有未删除会员,不可删除 + */ + public static final String NOT_DEAD_MEMBER = "会员安置伞下和推荐伞下还有未删除会员,不可删除"; } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java index 9c3199b4..fe0ae054 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java @@ -425,6 +425,8 @@ public enum EOperationModule { CANCEL_ORDER_CONFIRM("撤销订单确认"), + DELETE_DEAD_LOCK("删除死点"), + ///////////////////////////统计分析//////////////////////////// STATISTIC_ANALYSIS("统计分析"),