From 1a1044bff43c48eb866aafda73880c87399d2828 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 24 Sep 2025 14:00:41 +0800 Subject: [PATCH] =?UTF-8?q?##=200=E5=85=83=E4=BC=9A=E5=91=987=E5=A4=A9?= =?UTF-8?q?=E6=B2=A1=E4=B8=8B=E5=8D=95=E5=88=99=E6=B8=85=E9=99=A4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/account/IMemberJobServiceApi.java | 7 +++++ .../hzs/member/base/IMemberServiceApi.java | 1 + .../account/mapper/CuMemberAccountMapper.java | 6 +++++ .../provider/IMemberJobServiceProvider.java | 27 +++++++++++++++++++ .../service/ICuMemberAccountService.java | 6 +++++ .../impl/CuMemberAccountServiceImpl.java | 5 ++++ .../member/base/mapper/CuMemberMapper.java | 6 +++++ .../base/mapper/CuMemberRegisterMapper.java | 5 ++++ .../service/ICuMemberRegisterService.java | 5 ++++ .../member/base/service/ICuMemberService.java | 4 +++ .../impl/CuMemberRegisterServiceImpl.java | 4 +++ .../service/impl/CuMemberServiceImpl.java | 4 +++ .../member/account/CuMemberAccountMapper.xml | 25 ++++++++++++++++- .../mapper/member/base/CuMemberMapper.xml | 20 ++++++++++++++ .../member/base/CuMemberRegisterMapper.xml | 19 +++++++++++++ .../java/com/hzs/third/job/CuMemberJob.java | 11 ++++++++ 16 files changed, 154 insertions(+), 1 deletion(-) diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/account/IMemberJobServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/account/IMemberJobServiceApi.java index b57f406e..28f9cf80 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/account/IMemberJobServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/account/IMemberJobServiceApi.java @@ -21,4 +21,11 @@ public interface IMemberJobServiceApi { */ R deleteAccountDetailByMonth(); + /** + * 清除7天前0元会员 + * + * @return + */ + R clearZeroMember(); + } diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index 86295d1d..f2fd998b 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -442,4 +442,5 @@ public interface IMemberServiceApi { R> memberRegionMap(Date settleDate); + } 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 965fa3cf..2fd34e4e 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 @@ -219,4 +219,10 @@ 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); + + /** + * 清除7天前0元会员 + */ + void clearZeroMember(); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/provider/IMemberJobServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/provider/IMemberJobServiceProvider.java index c23c724e..20a1eb1a 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/provider/IMemberJobServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/provider/IMemberJobServiceProvider.java @@ -3,9 +3,13 @@ package com.hzs.member.account.provider; import com.hzs.common.core.domain.R; import com.hzs.member.account.IMemberJobServiceApi; import com.hzs.member.account.service.ICuMemberAccountDetailService; +import com.hzs.member.account.service.ICuMemberAccountService; +import com.hzs.member.base.service.ICuMemberRegisterService; +import com.hzs.member.base.service.ICuMemberService; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; /** * 会员模块定时任务服务提供 @@ -16,6 +20,12 @@ public class IMemberJobServiceProvider implements IMemberJobServiceApi { @Autowired private ICuMemberAccountDetailService iCuMemberAccountDetailService; + @Autowired + private ICuMemberService iCuMemberService; + @Autowired + private ICuMemberAccountService iCuMemberAccountService; + @Autowired + private ICuMemberRegisterService iCuMemberRegisterService; @Override public R insertAccountDetail() { @@ -39,4 +49,21 @@ public class IMemberJobServiceProvider implements IMemberJobServiceApi { return R.ok(); } + @Transactional(rollbackFor = Exception.class) + @Override + public R clearZeroMember() { + try { + // 删除会员注册信息 + iCuMemberRegisterService.clearZeroMember(); + // 删除会员账户 + iCuMemberAccountService.clearZeroMember(); + // 账户会员信息 + iCuMemberService.clearZeroMember(); + } catch (Exception e) { + log.info("清除7天前0元会员失败:", e); + return R.fail(e.getMessage()); + } + return R.ok(); + } + } 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 f1f01edb..d9d3bd45 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 @@ -285,4 +285,10 @@ public interface ICuMemberAccountService extends IService { CuMemberAccountExt queryAccountSummaryByVertex(Long pkVertex, Integer pkCountry); void deleteCuMemberAccountByMemberCode(Long userId, Date date, String memberCode); + + /** + * 清除7天前0元会员 + */ + void clearZeroMember(); + } 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 d22c5a19..4a923eaf 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 @@ -809,5 +809,10 @@ public class CuMemberAccountServiceImpl extends ServiceImpl { List queryDeleteDeadLockList(@Param("memberCode") String memberCode); Integer queryIsDeadMember(@Param("memberCode") String memberCode); + + /** + * 清除7天前0元会员 + */ + void clearZeroMember(); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRegisterMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRegisterMapper.java index 038c5495..cd121dd2 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRegisterMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberRegisterMapper.java @@ -35,4 +35,9 @@ public interface CuMemberRegisterMapper extends BaseMapper { */ int insertBatchMemberRegister(@Param("registerMemberList") List registerMemberList); + /** + * 清除7天前0元会员 + */ + int clearZeroMember(); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberRegisterService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberRegisterService.java index 1d4ae7f3..ab35852d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberRegisterService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberRegisterService.java @@ -41,4 +41,9 @@ public interface ICuMemberRegisterService extends IService { */ int insertBatchMemberRegister(List registerMemberList); + /** + * 清除7天前0元会员 + */ + void clearZeroMember(); + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index 0e814d08..eb256a24 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -1021,5 +1021,9 @@ public interface ICuMemberService extends IService { */ CuMember shareRegisterMember(ShareRegisterParam registerParam); + /** + * 清除7天前0元会员 + */ + void clearZeroMember(); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegisterServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegisterServiceImpl.java index 49760771..01fd876a 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegisterServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberRegisterServiceImpl.java @@ -48,4 +48,8 @@ public class CuMemberRegisterServiceImpl extends ServiceImpl i return cuMember; } + @Override + public void clearZeroMember() { + baseMapper.clearZeroMember(); + } } 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 25667968..98f1cf87 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,9 +69,12 @@ + update cu_member_account cma - set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date} + 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 @@ -1239,4 +1242,24 @@ (select cm.pk_id from cu_member cm where cm.pk_vertex = #{pkVertex}) + + + update cu_member_account cma + set cma.del_flag = 1 + where cma.pk_member in + (select so.pk_member + from cu_member cm + left join sa_order so + on so.pk_member = cm.pk_id + and so.del_flag = 0 + and so.order_status = 1 + where cm.del_flag = 0 + and cm.pk_settle_grade = 1 + and cm.pay_status = 0 + and cm.pay_time is null + and sysdate - 8 > cm.creation_time + group by so.pk_member + having count(so.pk_member) = 0) + + diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index d839ab26..f3bd14ac 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -3245,5 +3245,25 @@ t.MEMBER_CODE != #{memberCode} + + + update cu_member cm + set cm.del_flag = 1, + cm.member_code = cm.member_code || '-' || + trunc(dbms_random.value(100, 999)) + where cm.pk_id in (select so.pk_member + from cu_member cm + left join sa_order so + on so.pk_member = cm.pk_id + and so.del_flag = 0 + and so.order_status = 1 + where cm.del_flag = 0 + and cm.pk_settle_grade = 1 + and cm.pay_status = 0 + and cm.pay_time is null + and sysdate - 8 > cm.creation_time + group by so.pk_member + having count(so.pk_member) = 0) + diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegisterMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegisterMapper.xml index 23a5930f..45f98249 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegisterMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberRegisterMapper.xml @@ -171,4 +171,23 @@ ) t + + + update cu_member_register cmr + set cmr.del_flag = 1 + where cmr.pk_member in (select so.pk_member + from cu_member cm + left join sa_order so + on so.pk_member = cm.pk_id + and so.del_flag = 0 + and so.order_status = 1 + where cm.del_flag = 0 + and cm.pk_settle_grade = 1 + and cm.pay_status = 0 + and cm.pay_time is null + and sysdate - 8 > cm.creation_time + group by so.pk_member + having count(so.pk_member) = 0); + + diff --git a/bd-third/src/main/java/com/hzs/third/job/CuMemberJob.java b/bd-third/src/main/java/com/hzs/third/job/CuMemberJob.java index c551f508..e8fd678d 100644 --- a/bd-third/src/main/java/com/hzs/third/job/CuMemberJob.java +++ b/bd-third/src/main/java/com/hzs/third/job/CuMemberJob.java @@ -67,4 +67,15 @@ public class CuMemberJob { } } + /** + * 清除7天前0元会员 + */ + @XxlJob("clearZeroMember") + public void clearZeroMember() { + R result = iMemberJobServiceApi.clearZeroMember(); + if (!result.isSuccess()) { + log.error("清除7天前0元会员失败,{}", result.getMsg()); + } + } + }