Compare commits

..

No commits in common. "bd7d788769dfebb23f594aafc86089917e39e151" and "7efa68ae01cd43f8de81c448d15bb73c879ef56b" have entirely different histories.

4 changed files with 37 additions and 92 deletions

View File

@ -70,59 +70,28 @@ public class CuRegionAssessServiceImpl extends ServiceImpl<CuRegionAssessMapper,
Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>(); Map<Long, CuRegionAssess> regionAssessMap = new HashMap<>();
List<CuRegionAssessDetail> regionAssessDetailList = new ArrayList<>(); List<CuRegionAssessDetail> regionAssessDetailList = new ArrayList<>();
for (CuMemberRetailRegion cuMemberRetailRegion : memberRetailRegionList) { for (CuMemberRetailRegion cuMemberRetailRegion : memberRetailRegionList) {
CuRegionAssess cuRegionAssess = CuRegionAssess.builder()
if (null != cuMemberRetailRegion.getEffectiveEndDate()) { .pkMember(cuMemberRetailRegion.getPkMember())
// 设置过生效结束时间 .pkRegion(cuMemberRetailRegion.getPkId())
CuRegionAssess cuRegionAssess = CuRegionAssess.builder() .assessPeriod(1)
.pkMember(cuMemberRetailRegion.getPkMember()) .assessStartDate(assessDate)
.pkRegion(cuMemberRetailRegion.getPkId()) .assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate)))
.assessPeriod(1) .source(cuMemberRetailRegion.getSource())
.assessStartDate(assessDate) .build();
// 考核结束期 cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN);
.assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(1, cuMemberRetailRegion.getEffectiveEndDate()))) cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry());
.source(cuMemberRetailRegion.getSource()) regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess);
// 保存明细
for (int i = 0; i < 6; i++) {
CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder()
.pkRegionAssess(cuRegionAssess.getPkMember())
.assessDate(DateUtils.afterMonthDate(i, assessDate))
.pkMember(cuRegionAssess.getPkMember())
.build(); .build();
cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN); cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry()); cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry());
regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess); regionAssessDetailList.add(cuRegionAssessDetail);
while (assessDate.compareTo(cuRegionAssess.getAssessEndDate()) <= 0) {
CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder()
.pkRegionAssess(cuRegionAssess.getPkMember())
.assessDate(assessDate)
.pkMember(cuRegionAssess.getPkMember())
.build();
cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry());
regionAssessDetailList.add(cuRegionAssessDetail);
assessDate = DateUtils.afterMonthDate(1, assessDate);
}
} else {
CuRegionAssess cuRegionAssess = CuRegionAssess.builder()
.pkMember(cuMemberRetailRegion.getPkMember())
.pkRegion(cuMemberRetailRegion.getPkId())
.assessPeriod(1)
.assessStartDate(assessDate)
// 考核结束期
.assessEndDate(DateUtils.currentMonthFirstDate(DateUtils.afterMonthDate(5, assessDate)))
.source(cuMemberRetailRegion.getSource())
.build();
cuRegionAssess.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuRegionAssess.setPkCountry(cuMemberRetailRegion.getPkCountry());
regionAssessMap.put(cuRegionAssess.getPkMember(), cuRegionAssess);
// 保存明细
for (int i = 0; i < 6; i++) {
CuRegionAssessDetail cuRegionAssessDetail = CuRegionAssessDetail.builder()
.pkRegionAssess(cuRegionAssess.getPkMember())
.assessDate(DateUtils.afterMonthDate(i, assessDate))
.pkMember(cuRegionAssess.getPkMember())
.build();
cuRegionAssessDetail.setPkCreator(MagicNumberConstants.PK_ADMIN);
cuRegionAssessDetail.setPkCountry(cuMemberRetailRegion.getPkCountry());
regionAssessDetailList.add(cuRegionAssessDetail);
}
} }
} }
saveCuRegionAssess(regionAssessMap, regionAssessDetailList); saveCuRegionAssess(regionAssessMap, regionAssessDetailList);
} }

View File

@ -99,13 +99,7 @@
big_box_num = 0, big_box_num = 0,
small_box_num = 0, small_box_num = 0,
big_team_pv = 0, big_team_pv = 0,
small_team_pv = 0, small_team_pv = 0
all_team_new_box_num = 0,
all_team_box_num = 0,
all_team_month_box_num = 0,
all_team_new_pv = 0,
all_team_consume_pv = 0,
all_team_month_pv = 0
</update> </update>
<update id="mergeMemberRetailRangeByYesterday"> <update id="mergeMemberRetailRangeByYesterday">
@ -118,9 +112,7 @@
team_new_pv, team_consume_pv, team_month_pv, team_new_pv, team_consume_pv, team_month_pv,
team_new_amount, team_consume_amount, team_month_amount, team_new_amount, team_consume_amount, team_month_amount,
recommend_num, team_num, recommend_num, team_num,
big_box_num, small_box_num, big_team_pv, small_team_pv, big_box_num, small_box_num, big_team_pv, small_team_pv
all_team_new_box_num, all_team_box_num, all_team_month_box_num,
all_team_new_pv, all_team_consume_pv, all_team_month_pv
from ${yesterdayRangeTableName} from ${yesterdayRangeTableName}
) b ) b
on (a.pk_member = b.pk_member) on (a.pk_member = b.pk_member)
@ -135,19 +127,13 @@
a.pk_grade = b.pk_grade, a.pk_grade = b.pk_grade,
a.enable_status = b.enable_status, a.enable_status = b.enable_status,
a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num, a.big_box_num = b.big_box_num, a.small_box_num = b.small_box_num,
a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv, a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv
a.all_team_new_box_num = b.all_team_new_box_num,
a.all_team_box_num = b.all_team_box_num,
a.all_team_new_pv = b.all_team_new_pv,
a.all_team_consume_pv = b.all_team_consume_pv
<if test="isSameMonth == 0"> <if test="isSameMonth == 0">
,a.month_box_num = b.month_box_num ,a.month_box_num = b.month_box_num
,a.month_consume_pv = b.month_consume_pv ,a.month_consume_pv = b.month_consume_pv
,a.team_month_box_num = b.team_month_box_num ,a.team_month_box_num = b.team_month_box_num
,a.team_month_pv = b.team_month_pv ,a.team_month_pv = b.team_month_pv
,a.team_month_amount = b.team_month_amount ,a.team_month_amount = b.team_month_amount
,a.all_team_month_box_num = b.all_team_month_box_num
,a.all_team_month_pv = b.all_team_month_pv
</if> </if>
</update> </update>

View File

@ -55,29 +55,11 @@
from cu_region_assess_detail cd from cu_region_assess_detail cd
inner join cu_region_assess ca inner join cu_region_assess ca
on cd.pk_region_assess = ca.pk_id on cd.pk_region_assess = ca.pk_id
inner join cu_member_retail_region cmrr
on cmrr.pk_id = ca.pk_region
where cd.ASSESS_STATUS = 0 where cd.ASSESS_STATUS = 0
and cd.del_flag = 0 and cd.del_flag = 0
and ca.del_flag = 0 and ca.del_flag = 0
and ca.assess_start_date &lt;= #{assessDate,jdbcType=DATE} and ca.assess_start_date &lt;= #{assessDate,jdbcType=DATE}
and ca.assess_end_date >= #{assessDate,jdbcType=DATE} and ca.assess_end_date >= #{assessDate,jdbcType=DATE}
and cmrr.del_flag = 0
and cmrr.effective_end_date is null
group by cd.pk_region_assess
union
<!-- 手动开通的只查询手效期前6个月的数据 -->
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
inner join CU_MEMBER_RETAIL_REGION cmrr
on cmrr.pk_id = ca.pk_region
where cd.del_flag = 0
and ca.del_flag = 0
and cmrr.del_flag = 0
and cmrr.effective_end_date is not null
and cd.assess_date > ADD_MONTHS(cmrr.effective_end_date, -6)
group by cd.pk_region_assess group by cd.pk_region_assess
) b ) b
on (a.pk_id = b.pk_region_assess) on (a.pk_id = b.pk_region_assess)

View File

@ -535,16 +535,24 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
LocalDate today = getLocalDate(date); LocalDate today = getLocalDate(date);
return ((Long) toLocalDate(date1).until(today, ChronoUnit.DAYS)).intValue(); return ((Long) toLocalDate(date1).until(today, ChronoUnit.DAYS)).intValue();
} }
/** /**
* 获得2个日期总共差的天数 * 计算2个日期之间的天数
* *
* @param date1 第一个日期 * @param date1 日期
* @param date 第二个日期 * @param date 日期2
* @return Integer * @return Integer
*/ */
public static Integer betweenMonth(Date date1, Date... date) { public static Boolean betweenMonth(Date date1, Date... date) {
LocalDate today = getLocalDate(date); LocalDate localDate = LocalDate.now();
return ((Long) toLocalDate(date1).until(today, ChronoUnit.MONTHS)).intValue(); if (date.length > 0) {
localDate = toLocalDate(date[0]);
}
LocalDate localDate1 = toLocalDate(date1);
if (localDate.getMonth() == localDate1.getMonth()) {
return Boolean.TRUE;
}
return Boolean.FALSE;
} }
/** /**