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()); + } + } + }