## 加购升级处理;

This commit is contained in:
cabbage 2025-10-21 13:42:00 +08:00
parent a296582304
commit 84558a3552
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, List<AcAddUpgradeConfigExt> getUpgradeConfig(@Param("orderType") Integer orderType,
@Param("waresCodeList") List<String> waresCodeList, @Param("pkGrade") Integer pkGrade);
@Param("pkGrade") Integer pkGrade);
/**
* 查询符合条件的规则
*/
AcAddUpgradeConfigExt getUpgradeConfigByPkWares(@Param("orderType") Integer orderType,
@Param("pkWaresList") List<Integer> pkWaresList,
@Param("pkGrade") Integer pkGrade);
} }

View File

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

View File

@ -97,12 +97,19 @@
<!-- 查询符合条件的规则 --> <!-- 查询符合条件的规则 -->
<select id="getUpgradeConfig" resultType="com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt"> <select id="getUpgradeConfig" resultType="com.hzs.common.domain.activity.add.ext.AcAddUpgradeConfigExt">
select t.*, select aauc.*,
bg.grade_name, bg.grade_value, bg.pk_awards, bg.register_authority bg.grade_name,
from (select aauc.* bg.grade_value,
bg.pk_awards,
bg.register_authority,
bw.wares_code
from ac_base_config abc from ac_base_config abc
left join AC_ADD_UPGRADE_CONFIG aauc left join AC_ADD_UPGRADE_CONFIG aauc
on aauc.pk_base_id = abc.pk_id 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 where abc.del_flag = 0
and abc.act_type = 31 and abc.act_type = 31
and sysdate >= abc.act_start_date and sysdate >= abc.act_start_date
@ -110,41 +117,8 @@
and aauc.del_flag = 0 and aauc.del_flag = 0
and aauc.order_type = #{orderType} and aauc.order_type = #{orderType}
and aauc.original_level = #{pkGrade} and aauc.original_level = #{pkGrade}
and aauc.pk_wares in (select pk_id and bw.del_flag = 0
from bd_wares bw order by abc.act_start_date desc, aauc.creation_time desc
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
</select> </select>
</mapper> </mapper>

View File

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