forked from angelo/java-retail-app
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
fc705f4510
|
@ -85,4 +85,9 @@ public interface CuMemberBonusMapper extends BaseMapper<CuMemberBonus> {
|
||||||
*/
|
*/
|
||||||
void insertOrUpdateCuMemberBonus(@Param("cuMemberBonusList") List<CuMemberBonus> cuMemberBonusList);
|
void insertOrUpdateCuMemberBonus(@Param("cuMemberBonusList") List<CuMemberBonus> cuMemberBonusList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回退奖金
|
||||||
|
*/
|
||||||
|
void mergeBackRangeBonusIncome(@Param("pkOrder") Long pkOrder, @Param("bonusValue") Integer bonusValue);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,4 +147,9 @@ public interface ICuMemberBonusService extends IService<CuMemberBonus> {
|
||||||
*/
|
*/
|
||||||
List<CuMemberBonusExt> queryMemberSecondBonusVoByCondition(BonusParam bonusParam);
|
List<CuMemberBonusExt> queryMemberSecondBonusVoByCondition(BonusParam bonusParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新零售撤单,回退奖金
|
||||||
|
*/
|
||||||
|
void mergeBackMemberBonusIncome(Long pkOrder);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,15 +135,8 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 订单撤单处理(逆向)
|
// 订单撤单处理(逆向)
|
||||||
// if (!DateUtils.isSameDay(saOrderExt.getPayTime(), DateUtils.currentDate())) {
|
// 处理收益
|
||||||
// settleDate = DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS));
|
iCuMemberBonusService.mergeBackMemberBonusIncome(saOrderExt.getPkId());
|
||||||
// currentPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
|
||||||
// }
|
|
||||||
// // 实时计算撤单数据(业绩、盒数、等级、奖衔、日奖)
|
|
||||||
// bonusSettleRangeHandle.calculateCuMemberBackRetailIncome(saOrderExt, bonusConfigDTO,
|
|
||||||
// secondRangeTableName, beforePeriod, currentPeriod);
|
|
||||||
// // 处理收益
|
|
||||||
// iCuMemberBonusService.mergeBackMemberBonusIncome(saOrderExt.getPkId());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -423,4 +423,11 @@ public class CuMemberBonusServiceImpl extends ServiceImpl<CuMemberBonusMapper, C
|
||||||
return getCuMemberBonusExtList(bonusParam);
|
return getCuMemberBonusExtList(bonusParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mergeBackMemberBonusIncome(Long pkOrder) {
|
||||||
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_RANGE_INCOME.getValue());
|
||||||
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_REPURCHASE_INCOME.getValue());
|
||||||
|
baseMapper.mergeBackRangeBonusIncome(pkOrder, EBonusItems.RETAIL_REPURCHASE_DELIVERY_INCOME.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -596,4 +596,42 @@
|
||||||
b.retail_real_subtotal)
|
b.retail_real_subtotal)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<!-- 回退奖金 -->
|
||||||
|
<update id="mergeBackRangeBonusIncome">
|
||||||
|
merge into cu_member_bonus a
|
||||||
|
using (
|
||||||
|
select b.* from bd_bonus_items bt
|
||||||
|
inner join (
|
||||||
|
select pk_bonus, pk_bonus_items,
|
||||||
|
sum(pretax_income) pretax_income,
|
||||||
|
sum(income_tax) income_tax,
|
||||||
|
sum(real_income) real_income
|
||||||
|
from
|
||||||
|
<choose>
|
||||||
|
<when test="bonusValue == 36">cu_member_bonus_detail</when>
|
||||||
|
<otherwise>cu_member_bonus_range</otherwise>
|
||||||
|
</choose>
|
||||||
|
where del_flag = 0
|
||||||
|
and pk_order= #{pkOrder}
|
||||||
|
group by pk_bonus, pk_bonus_items
|
||||||
|
) b
|
||||||
|
on bt.pk_id = b.pk_bonus_items
|
||||||
|
where bt.bonus_value = #{bonusValue}
|
||||||
|
) b
|
||||||
|
on (a.pk_id = b.pk_bonus)
|
||||||
|
when matched then
|
||||||
|
update set a.retail_real_subtotal = a.retail_real_subtotal - b.real_income,
|
||||||
|
a.back_points = a.back_points - b.income_tax,
|
||||||
|
a.real_income_total = a.real_income_total - b.real_income
|
||||||
|
<if test="bonusValue == 25">
|
||||||
|
,a.retail_range_income = a.retail_range_income - b.pretax_income
|
||||||
|
</if>
|
||||||
|
<if test="bonusValue == 35">
|
||||||
|
,a.repur_range_income = a.repur_range_income - b.pretax_income
|
||||||
|
</if>
|
||||||
|
<if test="bonusValue == 36">
|
||||||
|
,a.retail_area_income = a.retail_area_income - b.pretax_income
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -8,6 +8,7 @@ import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,7 +23,7 @@ import java.util.Date;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
public class RecommendListVO implements Serializable {
|
public class RecommendListVO implements Serializable {
|
||||||
|
//会员编号、会员姓名、会员等级、注册业绩、团队人数
|
||||||
/**
|
/**
|
||||||
* 会员编号
|
* 会员编号
|
||||||
*/
|
*/
|
||||||
|
@ -55,4 +56,15 @@ public class RecommendListVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 注册业绩
|
||||||
|
*/
|
||||||
|
|
||||||
|
private BigDecimal consumeAchieve;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 团队人数
|
||||||
|
*/
|
||||||
|
private Integer teamCount;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2313,19 +2313,40 @@
|
||||||
|
|
||||||
<!-- 推荐列表 -->
|
<!-- 推荐列表 -->
|
||||||
<select id="listRecommend" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
|
<select id="listRecommend" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
|
||||||
select cm.member_code,
|
WITH team_data AS (
|
||||||
cm.member_name,
|
SELECT
|
||||||
cm.nick_name,
|
connect_by_root pk_id AS root_pk_id,
|
||||||
cm.creation_time,
|
COUNT(*) OVER (PARTITION BY connect_by_root pk_id) - 1 AS team_count
|
||||||
cm.phone,
|
FROM
|
||||||
bg.grade_name settle_grade_val
|
cu_member
|
||||||
from cu_member cm
|
WHERE
|
||||||
left join bd_grade bg
|
del_flag = 0
|
||||||
on bg.pk_id = cm.pk_settle_grade
|
AND category = 0
|
||||||
where cm.del_flag = 0
|
START WITH
|
||||||
and cm.category = 0
|
pk_parent = #{pkMember}
|
||||||
and cm.pk_parent = #{pkMember}
|
CONNECT BY
|
||||||
order by cm.creation_time desc
|
PRIOR pk_id = pk_parent
|
||||||
|
)
|
||||||
|
SELECT DISTINCT
|
||||||
|
cm.member_code,
|
||||||
|
cm.member_name,
|
||||||
|
cm.nick_name,
|
||||||
|
cm.consume_achieve,
|
||||||
|
cm.creation_time,
|
||||||
|
cm.phone,
|
||||||
|
bg.grade_name AS settle_grade_val,
|
||||||
|
td.team_count
|
||||||
|
FROM
|
||||||
|
cu_member cm
|
||||||
|
LEFT JOIN
|
||||||
|
bd_grade bg ON bg.pk_id = cm.pk_settle_grade
|
||||||
|
LEFT JOIN
|
||||||
|
team_data td ON cm.pk_id = td.root_pk_id
|
||||||
|
WHERE
|
||||||
|
cm.del_flag = 0
|
||||||
|
AND cm.category = 0
|
||||||
|
AND cm.PK_PARENT = #{pkMember}
|
||||||
|
ORDER BY cm.creation_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询分享或空单并且没有订单会员列表 -->
|
<!-- 查询分享或空单并且没有订单会员列表 -->
|
||||||
|
|
|
@ -108,6 +108,10 @@ public class SaDeliverUnhandledController extends BaseController {
|
||||||
param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
|
param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
|
||||||
param.setVertexIdList(userAuthorityDTO.getVertexIdList());
|
param.setVertexIdList(userAuthorityDTO.getVertexIdList());
|
||||||
param.setTeamList(userAuthorityDTO.getUserTeamList());
|
param.setTeamList(userAuthorityDTO.getUserTeamList());
|
||||||
|
// 兼容调换货产品
|
||||||
|
if (CollectionUtil.isEmpty(param.getPkWaresList())) {
|
||||||
|
param.setPkWaresList(Collections.singletonList(0));
|
||||||
|
}
|
||||||
|
|
||||||
startPage();
|
startPage();
|
||||||
List<DeliverUnhandledVO> resultList = iSaOrderItemsService.queryDeliverUnhandledList(param, pkCountry);
|
List<DeliverUnhandledVO> resultList = iSaOrderItemsService.queryDeliverUnhandledList(param, pkCountry);
|
||||||
|
@ -151,6 +155,10 @@ public class SaDeliverUnhandledController extends BaseController {
|
||||||
param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
|
param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
|
||||||
param.setVertexIdList(userAuthorityDTO.getVertexIdList());
|
param.setVertexIdList(userAuthorityDTO.getVertexIdList());
|
||||||
param.setTeamList(userAuthorityDTO.getUserTeamList());
|
param.setTeamList(userAuthorityDTO.getUserTeamList());
|
||||||
|
// 兼容调换货产品
|
||||||
|
if (CollectionUtil.isEmpty(param.getPkWaresList())) {
|
||||||
|
param.setPkWaresList(Collections.singletonList(0));
|
||||||
|
}
|
||||||
|
|
||||||
List<DeliverUnhandledVO> resultList = iSaOrderItemsService.queryDeliverUnhandledList(param, pkCountry);
|
List<DeliverUnhandledVO> resultList = iSaOrderItemsService.queryDeliverUnhandledList(param, pkCountry);
|
||||||
|
|
||||||
|
|
|
@ -1335,6 +1335,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// 撤单秒结处理
|
||||||
|
this.pushCancelOrderMq(saOrderExt);
|
||||||
// 推送MQ的列表
|
// 推送MQ的列表
|
||||||
List<SaOrderExt> mqList = new ArrayList<>();
|
List<SaOrderExt> mqList = new ArrayList<>();
|
||||||
mqList.add(saOrderExt);
|
mqList.add(saOrderExt);
|
||||||
|
@ -1766,6 +1768,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// 撤单秒结处理
|
||||||
|
this.pushCancelOrderMq(saOrderExt);
|
||||||
// 推送MQ,处理活动回退
|
// 推送MQ,处理活动回退
|
||||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_CANCEL_EXCHANGE, RabbitMqConstants.ORDER_CANCEL_KEY, Collections.singletonList(saOrderExt));
|
rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_CANCEL_EXCHANGE, RabbitMqConstants.ORDER_CANCEL_KEY, Collections.singletonList(saOrderExt));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -2224,4 +2228,25 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单推送MQ处理
|
||||||
|
*
|
||||||
|
* @param saOrderExt 会员订单
|
||||||
|
*/
|
||||||
|
private void pushCancelOrderMq(SaOrderExt saOrderExt) {
|
||||||
|
try {
|
||||||
|
if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType()
|
||||||
|
|| EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType()
|
||||||
|
|| EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) {
|
||||||
|
// 撤单标记为 true
|
||||||
|
saOrderExt.setCancelBool(Boolean.TRUE);
|
||||||
|
// 计算奖金,通过mq分发消息,异步处理
|
||||||
|
log.info("新零售秒结消息,order.second.exchange:{}", saOrderExt.getOrderCode());
|
||||||
|
rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("新零售 pushOrderMq 推送MQ失败. order: {}", saOrderExt, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,11 +162,7 @@ public class ApiShoppingCartController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 专区购物车数量 getAreaShoppingCount
|
* 专区购物车数量 getAreaShoppingCount
|
||||||
* @author: zhang jing
|
|
||||||
* @date: 2024/3/28 10:27
|
|
||||||
* @param: [shoppingCartVO]
|
|
||||||
* @return: com.hzs.common.core.web.domain.AjaxResult
|
|
||||||
**/
|
**/
|
||||||
@GetMapping("/getAreaShoppingCount")
|
@GetMapping("/getAreaShoppingCount")
|
||||||
public AjaxResult getAreaShoppingCount(ShoppingCartVO shoppingCartVO) {
|
public AjaxResult getAreaShoppingCount(ShoppingCartVO shoppingCartVO) {
|
||||||
|
|
|
@ -571,6 +571,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
||||||
productList.addAll(productResultList);
|
productList.addAll(productResultList);
|
||||||
|
|
||||||
waresDetailVO.setProductList(productList);
|
waresDetailVO.setProductList(productList);
|
||||||
|
waresDetailVO.setSpecialArea(param.getSpecialArea());
|
||||||
return waresDetailVO;
|
return waresDetailVO;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -58,15 +58,15 @@ public enum EBonusItems {
|
||||||
////////////////////////////////////////////////// 新奖项 //////////////////////////////////////////////////
|
////////////////////////////////////////////////// 新奖项 //////////////////////////////////////////////////
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 直推级差收益 -- 日奖
|
* 直推级差收益 -- 日奖、秒奖
|
||||||
*/
|
*/
|
||||||
RETAIL_RANGE_INCOME(25, "直推级差收益", 0),
|
RETAIL_RANGE_INCOME(25, "直推级差收益", 0),
|
||||||
/**
|
/**
|
||||||
* 复购级差收益 -- 日奖
|
* 复购级差收益 -- 日奖、秒奖
|
||||||
*/
|
*/
|
||||||
RETAIL_REPURCHASE_INCOME(35, "复购级差收益", 0),
|
RETAIL_REPURCHASE_INCOME(35, "复购级差收益", 0),
|
||||||
/**
|
/**
|
||||||
* 复购配送收益 -- 日奖
|
* 复购配送收益 -- 日奖、秒奖
|
||||||
*/
|
*/
|
||||||
RETAIL_REPURCHASE_DELIVERY_INCOME(36, "复购配送收益", 0),
|
RETAIL_REPURCHASE_DELIVERY_INCOME(36, "复购配送收益", 0),
|
||||||
|
|
||||||
|
|
|
@ -183,6 +183,11 @@ public class CuMemberExt extends CuMember {
|
||||||
*/
|
*/
|
||||||
private String teamName;
|
private String teamName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 团队人数
|
||||||
|
*/
|
||||||
|
private Integer teamCount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 次数
|
* 次数
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue