Commit 7294a156 authored by shiyu's avatar shiyu

盲盒订单校验编码是否已被购买2

parent 3e64b233
...@@ -89,7 +89,8 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ ...@@ -89,7 +89,8 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
} }
} }
if (dto.getTypeStr() == null) { if (dto.getTypeStr() == null) {
dto.setTypeList(Arrays.asList(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode(), DistributionEnum.DistributionTypeEnum.DISCOUNT.getCode())); dto.setTypeList(Arrays.asList(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode(), DistributionEnum.DistributionTypeEnum.DISCOUNT.getCode(),
DistributionEnum.DistributionTypeEnum.BLACK_COLLECTION.getCode()));
} else { } else {
String[] types = dto.getTypeStr().split(","); String[] types = dto.getTypeStr().split(",");
List<Integer> typeList = new ArrayList<>(); List<Integer> typeList = new ArrayList<>();
......
...@@ -36,6 +36,15 @@ public interface DistributionOrderDao { ...@@ -36,6 +36,15 @@ public interface DistributionOrderDao {
DistributionOrder findById(String distributionOrderId); DistributionOrder findById(String distributionOrderId);
/**
* 预支付id
* @param prepayId
* @return
*/
DistributionOrder findByPrepayId(String prepayId);
/** /**
* 查询该商品是否生成了订单 * 查询该商品是否生成了订单
* 用于拍卖生成订单判断 * 用于拍卖生成订单判断
......
...@@ -45,6 +45,14 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao { ...@@ -45,6 +45,14 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
} }
@Override
public DistributionOrder findByPrepayId(String prepayId) {
DistributionOrderExample example = new DistributionOrderExample();
DistributionOrderExample.Criteria criteria = example.createCriteria();
criteria.andPrepayIdEqualTo(prepayId);
return distributionOrderMapper.selectOneByExample(example);
}
@Override @Override
public DistributionOrder findByItemId(long itemId) { public DistributionOrder findByItemId(long itemId) {
DistributionOrderExample example = new DistributionOrderExample(); DistributionOrderExample example = new DistributionOrderExample();
......
...@@ -2,8 +2,11 @@ package com.wwdz.ch.wx.web.distribution; ...@@ -2,8 +2,11 @@ package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.api.wxpay.WxPayServiceApi; import com.wwdz.ch.core.api.wxpay.WxPayServiceApi;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.ResultCode; import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.distribution.DistributionOrderDao;
import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.db.dto.request.distribution.GroupPurchaseRecordRequestDto; import com.wwdz.ch.db.dto.request.distribution.GroupPurchaseRecordRequestDto;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
...@@ -19,6 +22,9 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -19,6 +22,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/** /**
* 分销订单 * 分销订单
*/ */
...@@ -34,6 +40,9 @@ public class DistributionOrderController { ...@@ -34,6 +40,9 @@ public class DistributionOrderController {
@Autowired @Autowired
WxPayServiceApi wxPayServiceApi; WxPayServiceApi wxPayServiceApi;
@Autowired
DistributionOrderDao distributionOrderDao;
@ApiOperation(value = "分销单下单,尚未付款") @ApiOperation(value = "分销单下单,尚未付款")
@PostMapping("/create") @PostMapping("/create")
public Result createDistributionOrder(@RequestBody DistributionOrderRequestDto dto) { public Result createDistributionOrder(@RequestBody DistributionOrderRequestDto dto) {
...@@ -126,6 +135,27 @@ public class DistributionOrderController { ...@@ -126,6 +135,27 @@ public class DistributionOrderController {
if (!validator.isValid()) { if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo()); return Result.failed(validator.getErrorInfo());
} }
//盲袋订单校验
DistributionOrder distributionOrder = distributionOrderDao.findByPrepayId(dto.getPrepayId());
if (distributionOrder != null && DistributionEnum.DistributionTypeEnum.BLACK_COLLECTION.getCode() == distributionOrder.getType()) {
//购买记录
List<String> codeList = new ArrayList<>();
List<DistributionOrder> distributionOrderList = distributionOrderDao.findBuyRecordByItemId(distributionOrder.getItemId());
for (DistributionOrder order : distributionOrderList) {
String remark = order.getRemark();
if (org.springframework.util.StringUtils.hasLength(remark)) {
for (String code : remark.split(",")) {
codeList.add(code);
}
}
}
String[] codeArr = dto.getRemark().split(",");
for (String code : codeArr) {
if (codeList.contains(code)) {
return Result.failed(code + "号已售出");
}
}
}
return wxPayServiceApi.wxAppPayTuneUp(dto.getPrepayId()); return wxPayServiceApi.wxAppPayTuneUp(dto.getPrepayId());
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment