111
This commit is contained in:
parent
3df54fd625
commit
3cc44f8272
@ -438,10 +438,16 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService {
|
|||||||
Integer storeId = paymentActiveDTO.getStoreId();
|
Integer storeId = paymentActiveDTO.getStoreId();
|
||||||
double finalAmount = 0.00;
|
double finalAmount = 0.00;
|
||||||
Integer userId = TokenUtil.getNowAccountInfo().getId();
|
Integer userId = TokenUtil.getNowAccountInfo().getId();
|
||||||
//折扣
|
//折扣有限制
|
||||||
List<ActiveDiscountPayVO> activeDiscountVOList = oilOrderMapper.selectActiveDiscount(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
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> 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);
|
paymentActiveDTO.setUserId(userId);
|
||||||
List<CardFavorableRecordVO> canUserCardFavorableList = cardFavorableRecordMapper.getCanUserCardFavorableList(paymentActiveDTO);
|
List<CardFavorableRecordVO> canUserCardFavorableList = cardFavorableRecordMapper.getCanUserCardFavorableList(paymentActiveDTO);
|
||||||
|
@ -91,6 +91,7 @@ public interface OilOrderMapper extends BaseMapper<OilOrder> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ActiveDiscountPayVO> selectActiveDiscount(@Param("storeId") Integer storeId, @Param("amount") BigDecimal amount,@Param("oilId") Integer oilId,@Param("levelId") Integer levelId);
|
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
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ActiveDiscountPayVO> selectActiveFule(@Param("storeId") Integer storeId, @Param("amount")BigDecimal amount,@Param("oilId") Integer oilId,@Param("levelId") Integer levelId);
|
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 ad.STATUS = 0
|
||||||
AND concat(',',ad.adapt_oil,',') like concat('%',#{oilId},'%')
|
AND concat(',',ad.adapt_oil,',') like concat('%',#{oilId},'%')
|
||||||
AND concat(',',ad.diesel_user_level,',') like concat('%',#{levelId},'%')
|
AND concat(',',ad.diesel_user_level,',') like concat('%',#{levelId},'%')
|
||||||
|
AND ad.participation_acount = 1
|
||||||
GROUP BY ad.id
|
GROUP BY ad.id
|
||||||
HAVING IFNULL(sum(adr.id),0) <![CDATA[ < ]]> limitAcount
|
HAVING IFNULL(sum(adr.id),0) <![CDATA[ < ]]> limitAcount
|
||||||
</select>
|
</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 id="selectActiveFule" resultType="com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO">
|
||||||
SELECT
|
SELECT
|
||||||
@ -387,7 +413,7 @@
|
|||||||
FROM
|
FROM
|
||||||
active_fullminus af
|
active_fullminus af
|
||||||
LEFT JOIN active_discount_child adc ON af.id = adc.active_fullminus_id
|
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
|
WHERE
|
||||||
af.store_id = #{storeId}
|
af.store_id = #{storeId}
|
||||||
AND adc.amount <![CDATA[ <= ]]> #{amount}
|
AND adc.amount <![CDATA[ <= ]]> #{amount}
|
||||||
@ -396,9 +422,34 @@
|
|||||||
AND af.STATUS = 0
|
AND af.STATUS = 0
|
||||||
AND concat(',',af.adapt_oil,',') like concat('%',#{oilId},'%')
|
AND concat(',',af.adapt_oil,',') like concat('%',#{oilId},'%')
|
||||||
AND concat(',',af.diesel_user_level,',') like concat('%',#{levelId},'%')
|
AND concat(',',af.diesel_user_level,',') like concat('%',#{levelId},'%')
|
||||||
|
AND af.participation_acount = 1
|
||||||
GROUP BY af.id
|
GROUP BY af.id
|
||||||
HAVING IFNULL(sum(afr.id),0) <![CDATA[ < ]]> limitAcount
|
HAVING IFNULL(sum(afr.id),0) <![CDATA[ < ]]> limitAcount
|
||||||
</select>
|
</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 id="selectActiveConsumption" resultType="com.fuint.business.marketingActivity.activeDiscount.vo.ActiveConsumptionVO">
|
||||||
SELECT
|
SELECT
|
||||||
|
Loading…
Reference in New Issue
Block a user