## 加购升级处理;

This commit is contained in:
cabbage 2025-10-21 13:42:00 +08:00
parent 3d996ff8da
commit 2bb0369e00
4 changed files with 46 additions and 61 deletions

View File

@ -33,15 +33,7 @@ public interface AcAddUpgradeConfigMapper extends BaseMapper<AcAddUpgradeConfig>
/**
* 查询符合条件的规则
*/
AcAddUpgradeConfigExt getUpgradeConfig(@Param("orderType") Integer orderType,
@Param("waresCodeList") List<String> waresCodeList,
@Param("pkGrade") Integer pkGrade);
/**
* 查询符合条件的规则
*/
AcAddUpgradeConfigExt getUpgradeConfigByPkWares(@Param("orderType") Integer orderType,
@Param("pkWaresList") List<Integer> pkWaresList,
@Param("pkGrade") Integer pkGrade);
List<AcAddUpgradeConfigExt> getUpgradeConfig(@Param("orderType") Integer orderType,
@Param("pkGrade") Integer pkGrade);
}

View File

@ -193,11 +193,18 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
if (CollectionUtil.isEmpty(orderItemsParams)) {
return;
}
List<String> waresCodeList = orderItemsParams.stream().map(OrderItemsParam::getWaresCode).collect(Collectors.toList());
AcAddUpgradeConfigExt configExt = baseMapper.getUpgradeConfig(orderParam.getSpecialArea(), waresCodeList, orderReturn.getPkGradeTmp());
if (null != configExt) {
orderReturn.setPkGradeVal(configExt.getGradeName());
List<AcAddUpgradeConfigExt> configExtList = baseMapper.getUpgradeConfig(orderParam.getSpecialArea(), orderReturn.getPkGradeTmp());
if (CollectionUtil.isNotEmpty(configExtList)) {
for (AcAddUpgradeConfigExt configExt : configExtList) {
for (OrderItemsParam orderItemsParam : orderItemsParams) {
if (orderItemsParam.getWaresCode().equals(configExt.getWaresCode())
&& orderItemsParam.getQuantity() >= configExt.getQuantity()) {
orderReturn.setPkGradeVal(configExt.getGradeName());
return;
}
}
}
}
}
@ -206,15 +213,22 @@ public class AcAddUpgradeConfigServiceImpl extends ServiceImpl<AcAddUpgradeConfi
if (CollectionUtil.isEmpty(orderItemsList)) {
return null;
}
List<Integer> pkWaresList = orderItemsList.stream().map(SaOrderItems::getPkWares).collect(Collectors.toList());
AcAddUpgradeConfigExt configExt = baseMapper.getUpgradeConfigByPkWares(specialArea, pkWaresList, pkGrade);
if (null != configExt) {
return GradeDTO.builder()
.pkId(configExt.getUpgradeLevel())
.gradeName(configExt.getGradeName())
.pkAwards(configExt.getPkAwards())
.registerAuthority(configExt.getRegisterAuthority())
.build();
List<AcAddUpgradeConfigExt> configExtList = baseMapper.getUpgradeConfig(specialArea, pkGrade);
if (CollectionUtil.isNotEmpty(configExtList)) {
for (AcAddUpgradeConfigExt configExt : configExtList) {
for (SaOrderItems orderItemsParam : orderItemsList) {
if (orderItemsParam.getPkWares().equals(configExt.getPkWares())
&& orderItemsParam.getWaresQuantity() >= configExt.getQuantity()) {
return GradeDTO.builder()
.pkId(configExt.getUpgradeLevel())
.gradeName(configExt.getGradeName())
.pkAwards(configExt.getPkAwards())
.registerAuthority(configExt.getRegisterAuthority())
.build();
}
}
}
}
return null;
}

View File

@ -97,12 +97,19 @@
<!-- 查询符合条件的规则 -->
<select id="getUpgradeConfig" resultType="com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt">
select t.*,
bg.grade_name, bg.grade_value, bg.pk_awards, bg.register_authority
from (select aauc.*
select aauc.*,
bg.grade_name,
bg.grade_value,
bg.pk_awards,
bg.register_authority,
bw.wares_code
from ac_base_config abc
left join AC_ADD_UPGRADE_CONFIG aauc
on aauc.pk_base_id = abc.pk_id
left join bd_wares bw
on bw.pk_id = aauc.pk_wares
left join bd_grade bg
on bg.pk_id = aauc.upgrade_level
where abc.del_flag = 0
and abc.act_type = 31
and sysdate >= abc.act_start_date
@ -110,41 +117,8 @@
and aauc.del_flag = 0
and aauc.order_type = #{orderType}
and aauc.original_level = #{pkGrade}
and aauc.pk_wares in (select pk_id
from bd_wares bw
where bw.wares_code in
<foreach collection="waresCodeList" item="items" open="(" separator="," close=")">
#{items}
</foreach>
and bw.del_flag = 0)
order by abc.act_start_date desc) t
left join bd_grade bg
on bg.pk_id = t.upgrade_level
where rownum = 1
</select>
<select id="getUpgradeConfigByPkWares" resultType="com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt">
select t.*,
bg.grade_name, bg.grade_value, bg.pk_awards, bg.register_authority
from (select aauc.*
from ac_base_config abc
left join AC_ADD_UPGRADE_CONFIG aauc
on aauc.pk_base_id = abc.pk_id
where abc.del_flag = 0
and abc.act_type = 31
and sysdate >= abc.act_start_date
and abc.act_end_date >= sysdate
and aauc.del_flag = 0
and aauc.order_type = #{orderType}
and aauc.original_level = #{pkGrade}
and aauc.pk_wares in
<foreach collection="pkWaresList" item="items" open="(" separator="," close=")">
#{items}
</foreach>
order by abc.act_start_date desc) t
left join bd_grade bg
on bg.pk_id = t.upgrade_level
where rownum = 1
and bw.del_flag = 0
order by abc.act_start_date desc, aauc.creation_time desc
</select>
</mapper>

View File

@ -25,4 +25,9 @@ public class AcAddUpgradeConfigExt extends AcAddUpgradeConfig {
*/
private Integer registerAuthority;
/**
* 商品编号
*/
private String waresCode;
}