From 4cfca176bb4f08ed50cc7c44249e66c8bc1c72eb Mon Sep 17 00:00:00 2001
From: cabbage <281119120@qq.com>
Date: Tue, 1 Jul 2025 14:53:45 +0800
Subject: [PATCH] =?UTF-8?q?##=20=E6=AF=8F=E6=9C=88=E5=8C=BA=E5=9F=9F?=
=?UTF-8?q?=E8=80=83=E6=A0=B8=E6=95=B0=E6=8D=AE=E7=94=9F=E6=88=90=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../hzs/retail/member/IMemberRetailApi.java | 7 +-
.../mapper/CuRegionAssessDetailMapper.java | 53 ++----
.../detail/mapper/CuRegionAssessMapper.java | 48 +----
.../service/ICuRegionAssessDetailService.java | 25 +--
.../service/ICuRegionAssessService.java | 29 +--
.../impl/CuRegionAssessDetailServiceImpl.java | 8 -
.../impl/CuRegionAssessServiceImpl.java | 62 +++----
.../detail/CuRegionAssessDetailMapper.xml | 168 +++++++++++-------
.../bonus/detail/CuRegionAssessMapper.xml | 166 +++++++++--------
.../member/provider/MemberRetailProvider.java | 6 +-
.../domain/member/detail/CuRegionAssess.java | 7 +-
.../member/detail/CuRegionAssessDetail.java | 8 +-
.../job/controller/JobTestController.java | 15 +-
13 files changed, 277 insertions(+), 325 deletions(-)
diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java
index cf060659..e994f225 100644
--- a/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java
+++ b/bd-api/bd-api-member/src/main/java/com/hzs/retail/member/IMemberRetailApi.java
@@ -5,11 +5,7 @@ import com.hzs.common.core.domain.R;
import java.util.List;
/**
- * @Description: 新零售会员dubbo服务
- * @Author: jiang chao
- * @Time: 2024/12/31 13:40
- * @Classname: IMemberRetailApi
- * @PackageName: com.hzs.retail.member
+ * 新零售会员dubbo服务
*/
public interface IMemberRetailApi {
@@ -20,7 +16,6 @@ public interface IMemberRetailApi {
*/
R> checkRegion();
-
/**
* 取消收益区域
*
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java
index c64e2b86..25efdea9 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessDetailMapper.java
@@ -8,78 +8,51 @@ import java.util.Date;
import java.util.List;
/**
- *
* 新零售会员区域考核明细表 Mapper 接口
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
public interface CuRegionAssessDetailMapper extends BaseMapper {
/*
- * @description: 考核开始日期
- * @author: sui q
- * @date: 2025/1/13 17:13
- * @param: null null
+ * 考核开始日期
**/
void deleteAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
/*
- * @description: 删除重复的数据
- * @author: sui q
- * @date: 2025/1/15 16:11
- * @param: null null
+ * 删除重复的数据
**/
void updateAssessRegionDetailByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
+ /**
+ * 批量生成考核明细seq
+ *
+ * @param rowNum
+ * @return
+ */
List batchQueryCuRegionAssessDetailSeq(Integer rowNum);
/*
- * @description: 批量插入区域考核数据
- * @author: sui q
- * @date: 2025/1/14 14:31
- * @param: null null
+ * 批量插入区域考核数据
**/
void batchInsertCuRegionAssessDetail(@Param("cuRegionAssessDetailList") List> cuRegionAssessDetailList);
/*
- * @description: 根据上月数据更新考核明细数据
- * @author: sui q
- * @date: 2025/1/14 16:44
- * @param: null null
+ * 根据上月数据更新考核明细数据
**/
void mergeCuRegionAssessDetailTeamPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
/*
- * @description: 根据上月数据更新考核明细数据
- * @author: sui q
- * @date: 2025/1/14 16:44
- * @param: null null
+ * 根据上月数据更新考核明细数据
**/
void mergeCuRegionAssessDetailSmallAreaPv(@Param("rangeTableName") String rangeTableName, @Param("assessDate") Date assessDate);
/*
- * @description: 初始化考核,先置为考核失败
- * @author: sui q
- * @date: 2025/1/14 17:30
- * @param: null null
+ * 初始化考核,先置为考核失败
**/
void updateCuRegionAssessDetailInit(@Param("assessDate") Date assessDate);
/*
- * @description: 根据月后业绩考核,汇总满足30w,小区10w
- * @author: sui q
- * @date: 2025/1/14 17:36
- * @param: null null
+ * 根据月后业绩考核,汇总满足30w,小区10w
**/
void updateCuRegionAssessDetailByPv(@Param("assessDate") Date assessDate);
- /*
- * @description: 根据月后业绩考核,汇总满足30w,小区10w
- * @author: sui q
- * @date: 2025/1/14 17:36
- * @param: null null
- **/
- void updateCuRegionAssessDetailByHand(@Param("assessDate") Date assessDate);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java
index 63b8f9ae..005d38f5 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/mapper/CuRegionAssessMapper.java
@@ -11,36 +11,22 @@ import java.util.Date;
import java.util.List;
/**
- *
* 新零售会员区域考核 Mapper 接口
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
public interface CuRegionAssessMapper extends BaseMapper {
/*
- * @description: 查询考核结果
- * @author: sui q
- * @date: 2025/1/15 17:22
- * @param: null null
+ * 查询考核结果
**/
List queryRegionAssessByCondition(@Param("regionAssessParam") CuRegionAssessParam regionAssessParam);
/*
- * @description: 考核开始日期
- * @author: sui q
- * @date: 2025/1/13 17:13
- * @param: null null
+ * 考核开始日期
**/
void deleteAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessPeriod") Integer assessPeriod);
/*
- * @description: 考核开始日期
- * @author: sui q
- * @date: 2025/1/13 17:13
- * @param: null null
+ * 考核开始日期
**/
void updateAssessRegionByDate(@Param("assessStartDate") Date assessStartDate, @Param("assessEndDate") Date assessEndDate);
@@ -48,49 +34,31 @@ public interface CuRegionAssessMapper extends BaseMapper {
* 批量获取cuMemberBonus主键
*
* @param rowNum 数量
- * @return: List
- * @Author: sui q
- * @Date: 2022/12/13 13:47
*/
List batchQueryCuRegionAssessSeq(Integer rowNum);
/*
- * @description: 批量插入区域考核数据
- * @author: sui q
- * @date: 2025/1/14 14:31
- * @param: null null
+ * 批量插入区域考核数据
**/
void batchInsertCuRegionAssess(@Param("cuRegionAssessList") List> cuRegionAssessList);
/*
- * @description: 更新达标次数
- * @author: sui q
- * @date: 2025/1/15 10:44
- * @param: null null
+ * 更新达标次数
**/
void mergeCuRegionAssess(@Param("assessDate") Date assessDate);
/*
- * @description: 查询待考核的区域
- * @author: sui q
- * @date: 2025/1/13 17:31
- * @param: null null
+ * 查询待考核的区域
**/
List queryCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
/*
- * @description: 查询到期日期是上个月的区域
- * @author: sui q
- * @date: 2025/2/25 15:45
- * @param: null null
+ * 查询到期日期是上个月的区域
**/
List queryDueCuMemberRetailRegion(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
/*
- * @description: 查询手动设置考核的近6个月考核记录
- * @author: sui q
- * @date: 2025/2/26 9:21
- * @param: null null
+ * 查询手动设置考核的近6个月考核记录
**/
List queryRegionAssessByDate(@Param("memberRetailRegionList") List memberRetailRegionList, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java
index 168dbe0c..f0e47195 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessDetailService.java
@@ -7,46 +7,29 @@ import java.util.Date;
import java.util.List;
/**
- *
* 新零售会员区域考核明细表 服务类
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
public interface ICuRegionAssessDetailService extends IService {
/*
- * @description: 考核开始日期
- * @author: sui q
- * @date: 2025/1/13 17:13
- * @param: null null
+ * 考核开始日期
**/
void deleteAssessRegionDetailByDate(Date assessStartDate, Integer assessPeriod);
/*
- * @description: 删除重复的数据
- * @author: sui q
- * @date: 2025/1/15 16:11
- * @param: null null
+ * 删除重复的数据
**/
void updateAssessRegionDetailByDate(Date assessStartDate, Date assessEndDate);
List batchQueryCuRegionAssessDetailSeq(Integer rowNum);
/*
- * @description: 批量插入区域考核数据
- * @author: sui q
- * @date: 2025/1/14 14:31
- * @param: null null
+ * 批量插入区域考核数据
**/
void batchInsertCuRegionAssessDetail(List> cuRegionAssessDetailList);
/*
- * @description: 根据上月数据考核区域
- * @author: sui q
- * @date: 2025/1/14 16:44
- * @param: null null
+ * 根据上月数据考核区域
**/
void assessCuRegionAssessDetail(String rangeTableName, Date assessDate);
}
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java
index 0f5fe7c0..29a77c3d 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/ICuRegionAssessService.java
@@ -5,51 +5,34 @@ import com.hzs.bonus.detail.vo.CuRegionAssessVO;
import com.hzs.bonus.param.CuRegionAssessParam;
import com.hzs.common.domain.member.detail.CuRegionAssess;
import com.hzs.common.domain.member.detail.ext.CuRegionAssessExt;
-import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
- *
* 新零售会员区域考核 服务类
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
public interface ICuRegionAssessService extends IService {
/*
- * @description: 每月考核区域是否达标
- * @author: sui q
- * @date: 2025/1/13 16:46
- * @param: null null
+ * 每月考核区域是否达标
**/
void assessRegionByEveryMonth(String settleDate, String rangeTableName);
/**
- * @description: 定时处理会员收益区域(处理前三天)
- * @author: zhang jing
- * @date: 2025/3/7 10:08
- * @param: [startDate]
+ * 定时处理会员收益区域(处理前三天)
+ *
* @return: void
**/
- void validateHandAreaAssess(Date startDate,Date endDate);
+ void validateHandAreaAssess(Date startDate, Date endDate);
/*
- * @description: 考核开始日期
- * @author: sui q
- * @date: 2025/1/13 17:13
- * @param: null null
+ * 考核开始日期
**/
void deleteAssessRegionByDate(Date assessStartDate, Integer assessPeriod);
/*
- * @description: 查询考核结果
- * @author: sui q
- * @date: 2025/1/15 17:22
- * @param: null null
+ * 查询考核结果
**/
List queryRegionAssessByCondition(CuRegionAssessParam regionAssessParam);
diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java
index 2897177b..89306255 100644
--- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java
+++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/detail/service/impl/CuRegionAssessDetailServiceImpl.java
@@ -10,12 +10,7 @@ import java.util.Date;
import java.util.List;
/**
- *
* 新零售会员区域考核明细表 服务实现类
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
@Service
public class CuRegionAssessDetailServiceImpl extends ServiceImpl implements ICuRegionAssessDetailService {
@@ -50,8 +45,5 @@ public class CuRegionAssessDetailServiceImpl extends ServiceImpl
* 新零售会员区域考核 服务实现类
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
+@Slf4j
@Service
public class CuRegionAssessServiceImpl extends ServiceImpl implements ICuRegionAssessService {
@DubboReference
- private IMemberRetailApi memberRetailApi;
+ IMemberRetailApi iMemberRetailApi;
@Autowired
- private ICuRegionAssessDetailService cuRegionAssessDetailService;
+ private ICuRegionAssessDetailService iCuRegionAssessDetailService;
@Autowired
private CuMemberBonusSettle cuMemberBonusSettle;
@@ -54,14 +48,23 @@ public class CuRegionAssessServiceImpl extends ServiceImpl memberRetailRegionList = baseMapper.queryCuMemberRetailRegion(startDate, assessDate);
if (memberRetailRegionList.size() > 0) {
Map regionAssessMap = new HashMap<>();
@@ -92,18 +95,19 @@ public class CuRegionAssessServiceImpl extends ServiceImpl cancelRegionList = new ArrayList<>();
// 开始考核,将 上月最后一天,奖衔、业绩同步到考核表中
// 查询主表考核结束日期=考核日期的,这部分需要生成下6期,最后一期结算完,验证是否达标,达标后继续生成下一期,不达标取消区域
// 查询考核结束日期次数不达标的区域,进行区域取消处理
List cuRegionAssessList = queryCuRegionAssessByEndDate(assessDate);
- List cancelRegionList = new ArrayList<>();
Map regionAssessMap = new HashMap<>();
List regionAssessDetailList = new ArrayList<>();
for (CuRegionAssess cuRegionAssess : cuRegionAssessList) {
- // 手动开区域的不参与考核,只有会员端选区域的参与考核
- if (cuRegionAssess.getReachNum() < 3 && cuRegionAssess.getSource() == 1) {
+ if (cuRegionAssess.getReachNum() < 3) {
cancelRegionList.add(cuRegionAssess.getPkRegion());
continue;
}
@@ -136,16 +140,13 @@ public class CuRegionAssessServiceImpl extends ServiceImpl 0) {
- if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
+ if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
throw new RuntimeException("区域更新失败");
}
}
}
}
- /**
- * 定时处理会员收益区域(处理前三天)
- **/
@Override
public void validateHandAreaAssess(Date startDate, Date endDate) {
List cancelRegionList = new ArrayList<>();
@@ -169,7 +170,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl 0) {
- if (!memberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
+ if (!iMemberRetailApi.cancelRegion(cancelRegionList).isSuccess()) {
throw new RuntimeException("区域更新失败");
}
}
@@ -193,21 +194,20 @@ public class CuRegionAssessServiceImpl extends ServiceImpl> lists = cuMemberBonusSettle.handleCutList(cuRegionAssessList);
- lists.forEach(list ->
- baseMapper.batchInsertCuRegionAssess(list));
- List idList = cuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
+ lists.forEach(list -> baseMapper.batchInsertCuRegionAssess(list));
+
+ List idList = iCuRegionAssessDetailService.batchQueryCuRegionAssessDetailSeq(regionAssessDetailList.size());
for (int j = 0; j < regionAssessDetailList.size(); j++) {
regionAssessDetailList.get(j).setPkId(idList.get(j));
}
// 明细表
List> detailList = cuMemberBonusSettle.handleCutList(regionAssessDetailList);
- detailList.forEach(detail ->
- cuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
+ detailList.forEach(detail -> iCuRegionAssessDetailService.batchInsertCuRegionAssessDetail(detail));
}
List queryCuRegionAssessByEndDate(Date settleDate) {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("ASSESS_END_DATE", settleDate);
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(CuRegionAssess::getAssessEndDate, settleDate);
return baseMapper.selectList(queryWrapper);
}
@@ -215,7 +215,7 @@ public class CuRegionAssessServiceImpl extends ServiceImpl
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
insert ALL
-
- into cu_region_assess_detail(pk_id,pk_member,pk_region_assess,assess_date,pk_creator,pk_country) values
- (
- #{item.pkId},#{item.pkMember},#{item.pkRegionAssess},#{item.assessDate},#{item.pkCreator},#{item.pkCountry}
- )
+
+ into cu_region_assess_detail (
+ pk_id, pk_member, pk_region_assess, assess_date,
+ pk_creator, pk_country)
+ values (
+ #{item.pkId}, #{item.pkMember}, #{item.pkRegionAssess}, #{item.assessDate},
+ #{item.pkCreator}, #{item.pkCountry})
SELECT 1 FROM dual
+
merge into cu_region_assess_detail a
- using(
- select cd.pk_id,cr.pk_member,cr.pk_awards,
- (cr.month_consume_pv+cr.team_month_pv) team_month_pv from cu_region_assess_detail cd
- inner join ${rangeTableName} cr
- on cd.pk_member=cr.pk_member
- where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE}
+ using (
+ select cd.pk_id,
+ cr.pk_member,
+ cr.pk_awards,
+ (cr.month_consume_pv + cr.team_month_pv) team_month_pv
+ from cu_region_assess_detail cd
+ inner join ${rangeTableName} cr
+ on cd.pk_member = cr.pk_member
+ where cd.del_flag = 0
+ and cd.assess_date = #{assessDate, jdbcType=DATE}
) b
- on(a.pk_id=b.pk_id)
+ on (a.pk_id = b.pk_id)
when matched then
- update set a.pk_awards=b.pk_awards,a.team_month_pv=b.team_month_pv
- WHERE a.pk_awards != b.pk_awards OR a.team_month_pv != b.team_month_pv
+ update set a.pk_awards = b.pk_awards, a.team_month_pv = b.team_month_pv
+ WHERE a.pk_awards != b.pk_awards
+ OR a.team_month_pv != b.team_month_pv
+
merge into cu_region_assess_detail a
- using(
- select pk_id,max(big_area_pv) big_area_pv from(
- select cd.pk_id,b.* from cu_region_assess_detail cd
- inner join(
- select pk_parent pk_member,(month_consume_pv+team_month_pv) big_area_pv from ${rangeTableName}
- union
- select pk_member,month_consume_pv big_area_pv from ${rangeTableName}) b
- on cd.pk_member=b.pk_member
- where cd.del_flag=0 and cd.assess_date = #{assessDate, jdbcType=DATE}
- )
+ using (
+ select pk_id, max(big_area_pv) big_area_pv
+ from (
+ select cd.pk_id, b.*
+ from cu_region_assess_detail cd
+ inner join (
+ select pk_parent pk_member, (month_consume_pv + team_month_pv) big_area_pv
+ from ${rangeTableName}
+ union
+ select pk_member, month_consume_pv big_area_pv
+ from ${rangeTableName}
+ ) b
+ on cd.pk_member = b.pk_member
+ where cd.del_flag = 0
+ and cd.assess_date = #{assessDate, jdbcType=DATE}
+ )
group by pk_id
) b
- on(a.pk_id=b.pk_id)
+ on (a.pk_id = b.pk_id)
when matched then
- update set a.small_area_pv=a.team_month_pv-b.big_area_pv
+ update set a.small_area_pv = a.team_month_pv - b.big_area_pv
+
- update cu_region_assess_detail set assess_status=2 where del_flag=0 and assess_date=#{assessDate, jdbcType=DATE}
-
-
- update cu_region_assess_detail set assess_status=0
- where del_flag=0 and team_month_pv>=46875 and small_area_pv>=15625
+ update cu_region_assess_detail
+ set assess_status = 2
+ where del_flag = 0
and assess_date = #{assessDate, jdbcType=DATE}
-
- update cu_region_assess_detail set assess_status=0
- where del_flag=0 and assess_date = #{assessDate, jdbcType=DATE}
- and pk_region_assess in(select pk_id from cu_region_assess where del_flag=0 and source=2)
+
+
+ update cu_region_assess_detail
+ set assess_status = 0
+ where del_flag = 0
+ and team_month_pv >= 300000
+ and small_area_pv >= 100000
+ and assess_date = #{assessDate, jdbcType=DATE}
+
- update cu_region_assess_detail set del_flag=1,modified_time=sysdate where pk_region_assess in(
- select ca.pk_id from cu_region_assess ca
- inner join (
- select pk_id from cu_member_retail_region
- where effective=0 and del_flag=0
- and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE}
- and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE}
- ) b
- on ca.pk_region =b.pk_id
- where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
+ update cu_region_assess_detail
+ set del_flag = 1,
+ modified_time = sysdate
+ where pk_region_assess in (
+ select ca.pk_id
+ from cu_region_assess ca
+ inner join (
+ select pk_id
+ from cu_member_retail_region
+ where effective = 0
+ and del_flag = 0
+ and nvl(modified_time, creation_time) >= #{assessStartDate, jdbcType=DATE}
+ and nvl(modified_time, creation_time) < #{assessEndDate, jdbcType=DATE}
+ ) b
+ on ca.pk_region = b.pk_id
+ where ca.del_flag = 0
+ and ca.assess_start_date != #{assessEndDate,jdbcType=DATE})
+
- delete from cu_region_assess_detail where del_flag=0 and
- pk_region_assess in(
- select pk_id from cu_region_assess where del_flag=0 and
- assess_start_date=#{assessStartDate, jdbcType=DATE}
-
- and assess_period=#{assessPeriod}
- and assess_period >= #{assessPeriod}
-
+ delete from cu_region_assess_detail
+ where del_flag = 0 and
+ pk_region_assess in (
+ select pk_id from cu_region_assess
+ where del_flag = 0
+ and assess_start_date = #{assessStartDate, jdbcType=DATE}
+
+ and assess_period = #{assessPeriod}
+ and assess_period >= #{assessPeriod}
+
)
+
diff --git a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml
index c80c17d6..60e3a2bb 100644
--- a/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml
+++ b/bd-business/bd-business-bonus/src/main/resources/mapper/bonus/detail/CuRegionAssessMapper.xml
@@ -4,96 +4,119 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
insert ALL
-
- into cu_region_assess(pk_id,pk_member,assess_period,pk_region,assess_start_date,assess_end_date,
- source,pk_creator,pk_country) values
- (
- #{item.pkId},#{item.pkMember},#{item.assessPeriod},#{item.pkRegion},#{item.assessStartDate},#{item.assessEndDate},
- #{item.source},#{item.pkCreator},#{item.pkCountry}
- )
+
+ into cu_region_assess (
+ pk_id, pk_member, assess_period, pk_region,
+ assess_start_date, assess_end_date,
+ source, pk_creator, pk_country)
+ values (
+ #{item.pkId}, #{item.pkMember}, #{item.assessPeriod}, #{item.pkRegion},
+ #{item.assessStartDate}, #{item.assessEndDate},
+ #{item.source}, #{item.pkCreator}, #{item.pkCountry})
SELECT 1 FROM dual
+
merge into CU_REGION_ASSESS a
- using(
- select cd.pk_region_assess,sum(1) REACH_NUM from cu_region_assess_detail cd
- inner join cu_region_assess ca
- on cd.pk_region_assess=ca.pk_id
- where cd.ASSESS_STATUS=0 and cd.del_flag=0 and ca.del_flag=0
- and ca.assess_start_date <= #{assessDate,jdbcType=DATE}
- and ca.assess_end_date >= #{assessDate,jdbcType=DATE}
+ using (
+ select cd.pk_region_assess, sum(1) REACH_NUM
+ from cu_region_assess_detail cd
+ inner join cu_region_assess ca
+ on cd.pk_region_assess = ca.pk_id
+ where cd.ASSESS_STATUS = 0
+ and cd.del_flag = 0
+ and ca.del_flag = 0
+ and ca.assess_start_date <= #{assessDate,jdbcType=DATE}
+ and ca.assess_end_date >= #{assessDate,jdbcType=DATE}
group by cd.pk_region_assess
) b
- on (a.pk_id=b.pk_region_assess)
+ on (a.pk_id = b.pk_region_assess)
when matched then
- update set a.REACH_NUM=b.REACH_NUM
+ update set a.REACH_NUM = b.REACH_NUM
+
- update cu_region_assess set del_flag=1,modified_time=sysdate where pk_id in(
- select ca.pk_id from cu_region_assess ca
- inner join (
- select pk_id from cu_member_retail_region
- where effective=0 and del_flag=0
- and nvl(modified_time,creation_time)>= #{assessStartDate,jdbcType=DATE}
- and nvl(modified_time,creation_time) < #{assessEndDate,jdbcType=DATE}
- ) b
- on ca.pk_region =b.pk_id
- where ca.del_flag=0 and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
+ update cu_region_assess
+ set del_flag = 1,
+ modified_time = sysdate
+ where pk_id in (
+ select ca.pk_id
+ from cu_region_assess ca
+ inner join (
+ select pk_id
+ from cu_member_retail_region
+ where effective = 0
+ and del_flag = 0
+ and nvl(modified_time, creation_time) >= #{assessStartDate,jdbcType=DATE}
+ and nvl(modified_time, creation_time) < #{assessEndDate,jdbcType=DATE}
+ ) b
+ on ca.pk_region = b.pk_id
+ where ca.del_flag = 0
+ and ca.assess_start_date !=#{assessEndDate,jdbcType=DATE})
+
delete from cu_region_assess where del_flag=0 and
- assess_start_date=#{assessStartDate, jdbcType=DATE}
+ assess_start_date=#{assessStartDate, jdbcType=DATE}
and assess_period=#{assessPeriod}
and assess_period >= #{assessPeriod}
+
+
+
diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java
index dddd4b2e..8e78ffa0 100644
--- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java
+++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/provider/MemberRetailProvider.java
@@ -10,11 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
- * @Description: 新零售会员dubbo服务
- * @Author: jiang chao
- * @Time: 2024/12/31 13:40
- * @Classname: MemberRetailProvider
- * @PackageName: com.hzs.retail.member.provider
+ * 新零售会员dubbo服务
*/
@Slf4j
@DubboService
diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java
index 1aad6248..251ceccf 100644
--- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java
+++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssess.java
@@ -2,7 +2,9 @@ package com.hzs.common.domain.member.detail;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
+
import java.util.Date;
+
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
@@ -10,12 +12,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
- *
* 新零售会员区域考核
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java
index 63cfa96a..c502d0db 100644
--- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java
+++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/detail/CuRegionAssessDetail.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
+
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
@@ -12,12 +13,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
- *
* 新零售会员区域考核明细表
- *
- *
- * @author hzs
- * @since 2025-01-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@@ -56,7 +52,7 @@ public class CuRegionAssessDetail extends BaseEntity {
private Date assessDate;
/**
- * 会员等级
+ * 会员奖衔
*/
@TableField("PK_AWARDS")
private Integer pkAwards;
diff --git a/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java b/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java
index 72160a75..83b916fa 100644
--- a/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java
+++ b/bd-third/src/main/java/com/hzs/third/job/controller/JobTestController.java
@@ -4,19 +4,20 @@ import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
+import com.hzs.bonus.settle.IMemberSettleBonusApi;
import com.hzs.common.core.domain.R;
+import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.member.account.IMemberJobServiceApi;
import com.hzs.system.base.IAreaServiceApi;
import com.hzs.system.base.dto.AreaDTO;
-import com.hzs.third.job.OrderJob;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.time.temporal.ChronoUnit;
import java.util.*;
/**
@@ -32,6 +33,16 @@ public class JobTestController {
@DubboReference
IMemberJobServiceApi iMemberJobServiceApi;
+ @DubboReference
+ IMemberSettleBonusApi iMemberSettleBonusApi;
+
+
+ @GetMapping("/test-settle")
+ public AjaxResult testSettle() {
+ Date startDate = DateUtils.beforeDate(1, ChronoUnit.DAYS, DateUtils.currentDate());
+ iMemberSettleBonusApi.autoCalculateBonus(startDate);
+ return AjaxResult.success();
+ }
/**
* 测试行政区划更新