Commit 7294a156 authored by shiyu's avatar shiyu

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

parent 3e64b233
......@@ -89,7 +89,8 @@ public class SysDistributionOrderServiceImpl implements SysDistributionOrderServ
}
}
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 {
String[] types = dto.getTypeStr().split(",");
List<Integer> typeList = new ArrayList<>();
......
......@@ -36,6 +36,15 @@ public interface DistributionOrderDao {
DistributionOrder findById(String distributionOrderId);
/**
* 预支付id
* @param prepayId
* @return
*/
DistributionOrder findByPrepayId(String prepayId);
/**
* 查询该商品是否生成了订单
* 用于拍卖生成订单判断
......
......@@ -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
public DistributionOrder findByItemId(long itemId) {
DistributionOrderExample example = new DistributionOrderExample();
......
......@@ -2,8 +2,11 @@ package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON;
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.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.GroupPurchaseRecordRequestDto;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
......@@ -19,6 +22,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
* 分销订单
*/
......@@ -34,6 +40,9 @@ public class DistributionOrderController {
@Autowired
WxPayServiceApi wxPayServiceApi;
@Autowired
DistributionOrderDao distributionOrderDao;
@ApiOperation(value = "分销单下单,尚未付款")
@PostMapping("/create")
public Result createDistributionOrder(@RequestBody DistributionOrderRequestDto dto) {
......@@ -126,6 +135,27 @@ public class DistributionOrderController {
if (!validator.isValid()) {
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());
}
......
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