Просмотр исходного кода

[卡券][更改]:新的卡券购买数量逻辑

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
4fea3d11a6
10 измененных файлов: 24 добавлений и 79 удалений
  1. +3
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java
  2. +0
    -2
      mallinkService/src/main/java/com/iformall/mapper/WxOrderMapper.java
  3. +0
    -2
      mallinkService/src/main/java/com/iformall/service/WxCouponService.java
  4. +4
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java
  5. +0
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java
  6. +0
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  7. +16
    -27
      mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java
  8. +1
    -0
      mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml
  9. +0
    -17
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml
  10. +0
    -20
      mallinkService/src/main/resources/mapper/WxOrderMapper.xml

+ 3
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java Просмотреть файл

@@ -133,7 +133,9 @@ public class CouponSendSchedule {
params.put("cUserId", cu.getId());
params.put("couponId", cs.getCouponId());
params.put("startTime", startTime);
params.put("endTime", endTime );
params.put("endTime", endTime);
params.put("channelType", EnumCouponSendSendType.TIMED.getCode());

int sentCount = wxCouponActionLogMapper.getCountByUserAndCouponAndDate(params);

logger.info("定时发券:给["+ cu.getNickName() +


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

@@ -14,8 +14,6 @@ public interface WxOrderMapper extends CommonMapper<WxOrder, Long> {

Integer countList(WxOrder wxOrder);

Integer dayCountList(WxOrder wxOrder);

List<WxOrder> findListOfUnpaidOrderByDate(Map dateMap);
List<WxOrder> findListOfUnpaidPressOrderByDate(Map dateMap);



+ 0
- 2
mallinkService/src/main/java/com/iformall/service/WxCouponService.java Просмотреть файл

@@ -44,6 +44,4 @@ public interface WxCouponService {
void deleteById(Long id);


void reduceInventory(Long id,Integer number);

}

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

@@ -237,13 +237,14 @@ public class WxCouponInjectServiceImpl implements WxCouponInjectService {
WxCouponOrder couponOrder = null;
try {
couponOrder = wxOrderService.sendFreeCouponToUser(tempCUser.getId(), wxCoupon.getId());
if (couponOrder != null) {
wxCouponActionLogService.addOne(tempCUser.getTenantId(), wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId);
}
} catch (MallinkException e) {
logger.error(e.getMessage());
return false;
}
if (couponOrder != null) {
wxCouponActionLogService.addOne(tempCUser.getTenantId(), wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId);
}

return true;
}



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

@@ -186,7 +186,6 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
wxCouponActionLogService.addOne(tenantId, send.getCouponId(), couponOrder.getId(), type.getCode(), send.getId());
bRet = true;
}
// wxCouponService.reduceInventory(send.getCouponId(), 1);
} catch (Exception e) {
logger.error(e.getMessage());
}


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

@@ -246,10 +246,4 @@ public class WxCouponServiceImpl implements WxCouponService {
wxCouponMapper.deleteByPrimaryKey(id);
}

@Override
public void reduceInventory(Long id, Integer number) {
wxCouponMapper.reduceInventory(id,number);
}


}

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

@@ -172,38 +172,28 @@ public class WxOrderServiceImpl implements WxOrderService {
// + Order 待支付
// + couponOrder ---待使用
int countOrder = 0, countCouponOrder = 0;
WxOrder orderQ = new WxOrder();
orderQ.setTenantId(user.getTenantId());
orderQ.setProductId(counpon.getId());
orderQ.setType(EnumOrderType.COUPON.getCode());
orderQ.setcUserId(user.getId());
orderQ.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());

try {
if (counpon.getType().equals(EnumCouponType.COUPON_TINGCHE.getCode())) {
countOrder = wxOrderMapper.dayCountList(orderQ);
} else {
countOrder = wxOrderMapper.countList(orderQ);
}
WxOrder orderQ = new WxOrder();
orderQ.setTenantId(user.getTenantId());
orderQ.setProductId(counpon.getId());
orderQ.setType(EnumOrderType.COUPON.getCode());
orderQ.setcUserId(user.getId());
orderQ.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode());
countOrder = wxOrderMapper.countList(orderQ);
} catch (Exception e) {
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.ORDER_IS_FAIL);
}

try {
if (counpon.getType().equals(EnumCouponType.COUPON_TINGCHE.getCode())) {
// 停车券 每日限领1张
Map params = new HashMap<String, Object>();
params.put("couponId", counpon.getId());
params.put("cUserId", user.getId());
countCouponOrder = wxCouponOrderMapper.dayCountCarList(params);
} else {
WxCouponOrder couponOrderQ = new WxCouponOrder();
couponOrderQ.setTenantId(user.getTenantId());
couponOrderQ.setCouponId(counpon.getId());
couponOrderQ.setCUserId(user.getId());
//////couponOrderQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode());
countCouponOrder = wxCouponOrderMapper.countList(couponOrderQ);
}
WxCouponOrder couponOrderQ = new WxCouponOrder();
couponOrderQ.setTenantId(user.getTenantId());
couponOrderQ.setCouponId(counpon.getId());
couponOrderQ.setCUserId(user.getId());
if (counpon.getSendType().equals(EnumCouponSendType.PASSIVE))
couponOrderQ.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode());
countCouponOrder = wxCouponOrderMapper.countList(couponOrderQ);
} catch (Exception e) {
logger.error("购买是否超限-DB, couponId: " + counpon.getId() + ", e:" + e.getMessage());
throw new MallinkException(ErrorCode.ORDER_IS_FAIL);
@@ -249,8 +239,7 @@ public class WxOrderServiceImpl implements WxOrderService {

try {
// 减库存
coupon.setRemainInventory(coupon.getRemainInventory() - 1);
wxCouponMapper.updateByPrimaryKeySelective(coupon);
wxCouponMapper.reduceInventory(coupon.getId(), 1);
//解锁
redisLock.unlock(couponIdStr, timeStr);
} catch (RuntimeException e) {


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

@@ -188,6 +188,7 @@
AND a.tenant_id = #{tenantId}
AND o.c_user_id = #{cUserId}
AND a.coupon_id = #{couponId}
AND a.channel_type = #{channelType}
and a.create_time &gt;= #{startTime}
and a.create_time &lt;= #{endTime}
</select>


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

@@ -94,23 +94,6 @@
<include refid="dynamicWhereConditions" />
</select>

<select id="dayCountCarList" parameterType="hashmap" resultType="java.lang.Integer">
select count(*) from wx_coupon_order
<where>
<if test=" null != tenantId ">
and `tenant_id` = #{tenantId}
</if>

<if test=" null != couponId ">
and `coupon_id` = #{couponId}
</if>

<if test=" null != cUserId ">
and `c_user_id` = #{cUserId}
</if>
and date(`create_date`) = curdate()
</where>
</select>

<select id="findCountByDateLimit" resultType="java.lang.Integer">
select COUNT(*) FROM wx_coupon_order


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

@@ -118,26 +118,6 @@
<include refid="dynamicWhereConditions"/>
</select>

<select id="dayCountList" parameterType="com.iformall.domain.po.WxOrder" resultType="java.lang.Integer">
select count(*) from wx_order
where 1=1
<if test=" null != tenantId ">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != cUserId ">
and `c_user_id` = #{cUserId}
</if>
<if test=" null != couponChannelId ">
and `coupon_channel_id` = #{couponChannelId}
</if>
<if test=" null != productId ">
and `product_id` = #{productId}
</if>
<if test=" null != orderStatus ">
and `order_status` = #{orderStatus}
</if>
and date(`create_date`) = curdate()
</select>

<select id="findListOfUnpaidOrderByDate" parameterType="map" resultMap="BaseResultMap">
select


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