111
This commit is contained in:
parent
3df54fd625
commit
3cc44f8272
@ -438,10 +438,16 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService {
|
||||
Integer storeId = paymentActiveDTO.getStoreId();
|
||||
double finalAmount = 0.00;
|
||||
Integer userId = TokenUtil.getNowAccountInfo().getId();
|
||||
//折扣
|
||||
//折扣有限制
|
||||
List<ActiveDiscountPayVO> activeDiscountVOList = oilOrderMapper.selectActiveDiscount(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
||||
//满减
|
||||
//折扣无限制
|
||||
List<ActiveDiscountPayVO> activeDiscountVOLists = oilOrderMapper.selectActiveDiscounts(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
||||
activeDiscountVOList.addAll(activeDiscountVOLists);
|
||||
//满减有限制
|
||||
List<ActiveDiscountPayVO> activeFuletVOList = oilOrderMapper.selectActiveFule(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
||||
//满减无限制
|
||||
List<ActiveDiscountPayVO> activeFuletVOLists = oilOrderMapper.selectActiveFules(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
||||
activeFuletVOList.addAll(activeFuletVOLists);
|
||||
//优惠券
|
||||
paymentActiveDTO.setUserId(userId);
|
||||
List<CardFavorableRecordVO> canUserCardFavorableList = cardFavorableRecordMapper.getCanUserCardFavorableList(paymentActiveDTO);
|
||||
|
@ -91,6 +91,7 @@ public interface OilOrderMapper extends BaseMapper<OilOrder> {
|
||||
* @return
|
||||
*/
|
||||
List<ActiveDiscountPayVO> selectActiveDiscount(@Param("storeId") Integer storeId, @Param("amount") BigDecimal amount,@Param("oilId") Integer oilId,@Param("levelId") Integer levelId);
|
||||
List<ActiveDiscountPayVO> selectActiveDiscounts(@Param("storeId") Integer storeId, @Param("amount") BigDecimal amount,@Param("oilId") Integer oilId,@Param("levelId") Integer levelId);
|
||||
|
||||
/**
|
||||
* 满减
|
||||
@ -99,6 +100,7 @@ public interface OilOrderMapper extends BaseMapper<OilOrder> {
|
||||
* @return
|
||||
*/
|
||||
List<ActiveDiscountPayVO> selectActiveFule(@Param("storeId") Integer storeId, @Param("amount")BigDecimal amount,@Param("oilId") Integer oilId,@Param("levelId") Integer levelId);
|
||||
List<ActiveDiscountPayVO> selectActiveFules(@Param("storeId") Integer storeId, @Param("amount")BigDecimal amount,@Param("oilId") Integer oilId,@Param("levelId") Integer levelId);
|
||||
|
||||
/**
|
||||
* 消费有礼
|
||||
|
@ -371,9 +371,35 @@
|
||||
AND ad.STATUS = 0
|
||||
AND concat(',',ad.adapt_oil,',') like concat('%',#{oilId},'%')
|
||||
AND concat(',',ad.diesel_user_level,',') like concat('%',#{levelId},'%')
|
||||
AND ad.participation_acount = 1
|
||||
GROUP BY ad.id
|
||||
HAVING IFNULL(sum(adr.id),0) <![CDATA[ < ]]> limitAcount
|
||||
</select>
|
||||
<select id="selectActiveDiscounts" resultType="com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO">
|
||||
SELECT
|
||||
ad.id activeId,
|
||||
ad.NAME activeName,
|
||||
ad.diesel_user_level adaptUser,
|
||||
ad.adapt_oil oilId,
|
||||
ad.limit_acount as limitAcount,
|
||||
ad.participation_condition,
|
||||
max((case ad.store_id when ${storeId} then adc.amount * (1-(adc.discount * 0.1))
|
||||
end)) as discount
|
||||
FROM
|
||||
active_discount ad
|
||||
LEFT JOIN active_discount_child adc ON ad.id = adc.active_discount_id
|
||||
left join active_discount_records adr on adr.active_discount_id = ad.id
|
||||
WHERE
|
||||
ad.store_id = #{storeId}
|
||||
AND adc.amount <![CDATA[ <= ]]> #{amount}
|
||||
and now() BETWEEN ad.active_start_time
|
||||
AND ad.active_end_time
|
||||
AND ad.STATUS = 0
|
||||
AND concat(',',ad.adapt_oil,',') like concat('%',#{oilId},'%')
|
||||
AND concat(',',ad.diesel_user_level,',') like concat('%',#{levelId},'%')
|
||||
AND ad.participation_acount = 0
|
||||
GROUP BY ad.id
|
||||
</select>
|
||||
|
||||
<select id="selectActiveFule" resultType="com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO">
|
||||
SELECT
|
||||
@ -387,7 +413,7 @@
|
||||
FROM
|
||||
active_fullminus af
|
||||
LEFT JOIN active_discount_child adc ON af.id = adc.active_fullminus_id
|
||||
left join active_fullminus_records afr on afr.active_fullminus_id = ad.id
|
||||
left join active_fullminus_records afr on afr.active_fullminus_id = af.id
|
||||
WHERE
|
||||
af.store_id = #{storeId}
|
||||
AND adc.amount <![CDATA[ <= ]]> #{amount}
|
||||
@ -396,9 +422,34 @@
|
||||
AND af.STATUS = 0
|
||||
AND concat(',',af.adapt_oil,',') like concat('%',#{oilId},'%')
|
||||
AND concat(',',af.diesel_user_level,',') like concat('%',#{levelId},'%')
|
||||
AND af.participation_acount = 1
|
||||
GROUP BY af.id
|
||||
HAVING IFNULL(sum(afr.id),0) <![CDATA[ < ]]> limitAcount
|
||||
</select>
|
||||
<select id="selectActiveFules" resultType="com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO">
|
||||
SELECT
|
||||
af.id activeId,
|
||||
af.NAME activeName,
|
||||
af.diesel_user_level adaptUser,
|
||||
af.adapt_oil oilId,
|
||||
af.limit_acount as limitAcount,
|
||||
af.participation_condition,
|
||||
max(adc.deduction_amount) discount
|
||||
FROM
|
||||
active_fullminus af
|
||||
LEFT JOIN active_discount_child adc ON af.id = adc.active_fullminus_id
|
||||
left join active_fullminus_records afr on afr.active_fullminus_id = af.id
|
||||
WHERE
|
||||
af.store_id = #{storeId}
|
||||
AND adc.amount <![CDATA[ <= ]]> #{amount}
|
||||
and now() BETWEEN af.active_start_time
|
||||
AND af.active_end_time
|
||||
AND af.STATUS = 0
|
||||
AND concat(',',af.adapt_oil,',') like concat('%',#{oilId},'%')
|
||||
AND concat(',',af.diesel_user_level,',') like concat('%',#{levelId},'%')
|
||||
AND af.participation_acount = 0
|
||||
GROUP BY af.id
|
||||
</select>
|
||||
|
||||
<select id="selectActiveConsumption" resultType="com.fuint.business.marketingActivity.activeDiscount.vo.ActiveConsumptionVO">
|
||||
SELECT
|
||||
|
Loading…
Reference in New Issue
Block a user