Переглянути джерело

fix bug

release_toaliyun_real
xiaohanzi 4 роки тому
джерело
коміт
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); List<WxOrder> findList(WxOrder wxOrder);


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


List<WxOrder> findListOfUnpaidOrderByDate(Map dateMap); 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 user
* @param counpon * @param counpon
* @return * @return
*/ */
private int getUserOrderCount(WxCUserBasicInfo user, WxCoupon counpon) {
private int getUserOrderProductCount(WxCUserBasicInfo user, WxCoupon counpon) {
// + Order 待支付 // + Order 待支付
try { try {
WxOrder orderQ = new WxOrder(); 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_PENDING_PAYMENT.getCode());
statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode());
orderQ.setStatusS(statusS); orderQ.setStatusS(statusS);
return wxOrderMapper.countList(orderQ);
return wxOrderMapper.countListProduct(orderQ);
} catch (Exception e) { } catch (Exception e) {
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage(),e); logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage(),e);
throw new MallinkException(ErrorCode.ORDER_IS_FAIL.getCode(),"["+counpon.getTitle()+"]查询待支付错误."+e.getMessage()); 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) { if (coupon.getSalePrice() > 0) {
// 检查是否未支付订单 // 检查是否未支付订单
try { try {
unPaidcount = getUserOrderCount(user, coupon);
unPaidcount = getUserOrderProductCount(user, coupon);
} catch (Exception e) { } catch (Exception e) {
throw new MallinkException(ErrorCode.DB_FAIL.getCode(),"["+coupon.getTitle()+"]查询未支付订单失败."); 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 { try {


+ 5
- 0
mallinkService/src/main/resources/mapper/WxOrderMapper.xml Переглянути файл

@@ -161,6 +161,11 @@
select count(1) from wx_order select count(1) from wx_order
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
</select> </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 id="countCouponConditionType1" parameterType="com.iformall.domain.po.WxOrder" resultType="java.lang.Integer">
select count(*) from wx_order o,wx_coupon c select count(*) from wx_order o,wx_coupon c


Завантаження…
Відмінити
Зберегти