xiaohanzi 4 лет назад
Родитель
Сommit
69e1b471c5
3 измененных файлов: 13 добавлений и 9 удалений
  1. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java
  2. +7
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  3. +5
    -0
      mallinkService/src/main/resources/mapper/WxOrderMapper.xml

+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java Просмотреть файл

@@ -19,6 +19,7 @@ public interface WxOrderMapper extends CommonMapper<WxOrder, Long> {
List<WxOrder> findList(WxOrder wxOrder);

Integer countList(WxOrder wxOrder);
Integer countListProduct(WxOrder wxOrder);
int countCouponConditionType1(WxOrder wxOrder);

List<WxOrder> findListOfUnpaidOrderByDate(Map dateMap);


+ 7
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java Просмотреть файл

@@ -354,13 +354,13 @@ public class WxOrderServiceImpl implements WxOrderService {


/**
* 用户购买的订单数量
* 用户购买的订单产品数量
*
* @param user
* @param counpon
* @return
*/
private int getUserOrderCount(WxCUserBasicInfo user, WxCoupon counpon) {
private int getUserOrderProductCount(WxCUserBasicInfo user, WxCoupon counpon) {
// + Order 待支付
try {
WxOrder orderQ = new WxOrder();
@@ -374,7 +374,7 @@ public class WxOrderServiceImpl implements WxOrderService {
statusS.add(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());
statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode());
orderQ.setStatusS(statusS);
return wxOrderMapper.countList(orderQ);
return wxOrderMapper.countListProduct(orderQ);
} catch (Exception e) {
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage(),e);
throw new MallinkException(ErrorCode.ORDER_IS_FAIL.getCode(),"["+counpon.getTitle()+"]查询待支付错误."+e.getMessage());
@@ -608,7 +608,7 @@ public class WxOrderServiceImpl implements WxOrderService {
if (coupon.getSalePrice() > 0) {
// 检查是否未支付订单
try {
unPaidcount = getUserOrderCount(user, coupon);
unPaidcount = getUserOrderProductCount(user, coupon);
} catch (Exception e) {
throw new MallinkException(ErrorCode.DB_FAIL.getCode(),"["+coupon.getTitle()+"]查询未支付订单失败.");
}
@@ -644,11 +644,9 @@ public class WxOrderServiceImpl implements WxOrderService {
}
//如果允许未支付的,则未支付的+已支付的不能超过限购
if (allowUnPayOrder) {
if ((unPaidcount+paidCount) > coupon.getUseLimitQuantity()) {
logger.error("此券[未支付+已支付]购买数量已超限, couponId: " + couponIdStr + ", count: " + paidCount);
throw new MallinkException(ErrorCode.ORDER_IS_LIMITED.getCode(),"此券[未支付+已支付]购买数量已超限["+coupon.getTitle()+"], couponId: " + couponIdStr + ", count: " + paidCount);
}
if ((unPaidcount+paidCount) > coupon.getUseLimitQuantity()) {
logger.error("此券[未支付+已支付]购买数量已超限, couponId: " + couponIdStr + ", count: " + paidCount);
throw new MallinkException(ErrorCode.ORDER_IS_LIMITED.getCode(),"此券[未支付+已支付]购买数量已超限["+coupon.getTitle()+"], couponId: " + couponIdStr + ", count: " + paidCount);
}

try {


+ 5
- 0
mallinkService/src/main/resources/mapper/WxOrderMapper.xml Просмотреть файл

@@ -161,6 +161,11 @@
select count(1) from wx_order
<include refid="dynamicWhereConditions"/>
</select>
<select id="countListProduct" parameterType="com.iformall.domain.po.WxOrder" resultType="java.lang.Integer">
select COALESCE(sum(coupon_number),0) from wx_order
<include refid="dynamicWhereConditions"/>
</select>

<select id="countCouponConditionType1" parameterType="com.iformall.domain.po.WxOrder" resultType="java.lang.Integer">
select count(*) from wx_order o,wx_coupon c


Загрузка…
Отмена
Сохранить