Commit 382963e7 authored by shiyu's avatar shiyu

出价记录

parents 85acedac 9aa2772c
...@@ -121,4 +121,6 @@ public class SupplierItemVo implements Entity { ...@@ -121,4 +121,6 @@ public class SupplierItemVo implements Entity {
* 分销商是否购买过 * 分销商是否购买过
*/ */
private Boolean shopBought; private Boolean shopBought;
} }
...@@ -123,4 +123,7 @@ public interface DistributionOrderDao { ...@@ -123,4 +123,7 @@ public interface DistributionOrderDao {
* @return * @return
*/ */
List<DistributionOrderNum> countGroupByStateForUser(long userId); List<DistributionOrderNum> countGroupByStateForUser(long userId);
boolean isBuyItem(long buyerId, long itemId);
} }
...@@ -147,4 +147,15 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao { ...@@ -147,4 +147,15 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
public List<DistributionOrderNum> countGroupByStateForUser(long userId) { public List<DistributionOrderNum> countGroupByStateForUser(long userId) {
return distributionOrderMapper.countGroupByStateForUser(userId); return distributionOrderMapper.countGroupByStateForUser(userId);
} }
@Override
public boolean isBuyItem(long buyerId, long itemId) {
DistributionOrderExample example = new DistributionOrderExample();
DistributionOrderExample.Criteria criteria = example.createCriteria();
criteria.andBuyerIdEqualTo(buyerId);
criteria.andItemIdEqualTo(itemId);
//排除已取消的订单
criteria.andStateNotEqualTo(101);
return distributionOrderMapper.countByExample(example) > 0;
}
} }
...@@ -40,5 +40,10 @@ public class SelfPageInfoVo implements Entity { ...@@ -40,5 +40,10 @@ public class SelfPageInfoVo implements Entity {
*/ */
private List<DistributionOrderNum> orderNum; private List<DistributionOrderNum> orderNum;
/**
* 商家卖出去的商品订单
*/
private List<DistributionOrderNum> orderNumForDistributor;
} }
...@@ -11,7 +11,6 @@ import com.wwdz.ch.core.entity.wxPay.DistributionOrderRefundRequestDto; ...@@ -11,7 +11,6 @@ import com.wwdz.ch.core.entity.wxPay.DistributionOrderRefundRequestDto;
import com.wwdz.ch.core.type.PageSearchResult; import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.*; import com.wwdz.ch.core.util.*;
import com.wwdz.ch.core.util.UUID;
import com.wwdz.ch.db.dao.distribution.*; import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
...@@ -33,7 +32,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -33,7 +32,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.*;
...@@ -229,7 +227,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -229,7 +227,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributorProfitDao.insert(distributorProfit); distributorProfitDao.insert(distributorProfit);
return Result.success(map); return Result.success(map);
} else { } else {
return Result.failed("创建订单失败,稍后再试"); return Result.failed("稍后再试");
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("创建拍卖分销订单失败 error : {}", e); logger.error("创建拍卖分销订单失败 error : {}", e);
...@@ -280,24 +278,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -280,24 +278,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override @Override
public Result buySample(DistributionOrderRequestDto dto) { public Result buySample(DistributionOrderRequestDto dto) {
try { try {
String shareRecordId = dto.getShareRecordId(); long itemId = dto.getItemId();
DistributorShareRecord distributorShareRecord = null;
long itemId = 0;
if (com.xxdxxs.utils.StringUtils.isEmpty(shareRecordId) && dto.getItemId() == null) {
return Result.failed("商品信息为空");
} else if (com.xxdxxs.utils.StringUtils.hasLength(shareRecordId)) {
distributorShareRecord = distributorShareRecordDao.findById(shareRecordId);
if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) {
return Result.failed("该商品已下架");
} else {
itemId = distributorShareRecord.getItemId();
}
} else {
itemId = dto.getItemId();
}
//查询商品信息,检查商品库存 //查询商品信息,检查商品库存
SupplierItem supplierItem = supplierItemDao.findById(distributorShareRecord.getItemId()); SupplierItem supplierItem = supplierItemDao.findById(itemId);
int stock = supplierItem.getStock(); int stock = supplierItem.getStock();
if (stock <= 0) { if (stock <= 0) {
return Result.failed("商品库存不足"); return Result.failed("商品库存不足");
...@@ -305,7 +288,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -305,7 +288,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX); String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX);
DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto(); DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto();
prePayDto.setDistributionOrderId(distributionOrderId); prePayDto.setDistributionOrderId(distributionOrderId);
prePayDto.setAmount(String.valueOf(distributorShareRecord.getPrice() * dto.getItemNum())); prePayDto.setAmount(String.valueOf(supplierItem.getDistributionPrice()));
prePayDto.setBuyerOpenid(dto.getBuyerOpenid()); prePayDto.setBuyerOpenid(dto.getBuyerOpenid());
prePayDto.setItemName(supplierItem.getName()); prePayDto.setItemName(supplierItem.getName());
...@@ -317,7 +300,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -317,7 +300,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
DistributionOrder distributionOrder = new DistributionOrder(); DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setItemId(itemId); distributionOrder.setItemId(itemId);
distributionOrder.setItemNum(1); distributionOrder.setItemNum(1);
distributionOrder.setShareRecordId(StringUtils.isEmpty(distributorShareRecord.getShareId())? ("DA" + SYSTEM_ACCOUNT) : distributorShareRecord.getShareId()); distributionOrder.setShareRecordId("DA" + SYSTEM_ACCOUNT);
distributionOrder.setDistributionOrderId(distributionOrderId); distributionOrder.setDistributionOrderId(distributionOrderId);
distributionOrder.setPrepayId(prepayId); distributionOrder.setPrepayId(prepayId);
distributionOrder.setBuyerId(dto.getBuyerId()); distributionOrder.setBuyerId(dto.getBuyerId());
...@@ -331,6 +314,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -331,6 +314,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrder.setReceiverPhone(dto.getReceiverPhone()); distributionOrder.setReceiverPhone(dto.getReceiverPhone());
distributionOrder.setCreateTime(new Date()); distributionOrder.setCreateTime(new Date());
distributionOrder.setUpdateTime(new Date()); distributionOrder.setUpdateTime(new Date());
distributionOrder.setType(DistributionEnum.DistributionTypeEnum.FIXED_PRICE.getCode());
distributionOrder.setState(DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode()); distributionOrder.setState(DistributionEnum.DistributionOrderStateEnum.PRE_PAY.getCode());
distributionOrderDao.insert(distributionOrder); distributionOrderDao.insert(distributionOrder);
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
...@@ -360,6 +344,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -360,6 +344,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
return Result.failed("分销商购买失败"); return Result.failed("分销商购买失败");
} }
@Override @Override
public Result checkPayState(DistributionOrderRequestDto dto) { public Result checkPayState(DistributionOrderRequestDto dto) {
try { try {
...@@ -375,6 +360,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -375,6 +360,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
} }
@Override @Override
@Transactional @Transactional
public Result cancel(DistributionOrderRequestDto dto) { public Result cancel(DistributionOrderRequestDto dto) {
...@@ -425,6 +411,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -425,6 +411,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
return Result.failed(); return Result.failed();
} }
@Override @Override
public Result delivery(DistributionOrderRequestDto dto) { public Result delivery(DistributionOrderRequestDto dto) {
try { try {
......
...@@ -61,7 +61,14 @@ public class SelfPageServiceImpl implements SelfPageService { ...@@ -61,7 +61,14 @@ public class SelfPageServiceImpl implements SelfPageService {
distributionOrderNumList.forEach(distributionOrderNum -> { distributionOrderNumList.forEach(distributionOrderNum -> {
distributionOrderNum.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrderNum.getState())); distributionOrderNum.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrderNum.getState()));
}); });
selfPageInfoVo.setOrderNum(distributionOrderNumList); //分销商卖出去的商品订单
selfPageInfoVo.setOrderNumForDistributor(distributionOrderNumList);
//分销商自己购买的订单
List<DistributionOrderNum> selfBuyNumList = distributionOrderDao.countGroupByStateForUser(dto.getUserId());
selfBuyNumList.forEach(s -> {
s.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(s.getState()));
});
selfPageInfoVo.setOrderNum(selfBuyNumList);
return Result.success(selfPageInfoVo); return Result.success(selfPageInfoVo);
} catch (Exception e) { } catch (Exception e) {
logger.error("查询分销商个人主页失败 error : {}", e); logger.error("查询分销商个人主页失败 error : {}", e);
......
...@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service; ...@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.*; import java.util.*;
...@@ -43,6 +44,8 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -43,6 +44,8 @@ public class SupplierItemServiceImpl implements SupplierItemService {
private static final Logger logger = LoggerFactory.getLogger(SupplierItemServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(SupplierItemServiceImpl.class);
private final static Long SYSTEM_ACCOUNT = 8888888888L;
@Autowired @Autowired
SupplierItemDao supplierItemDao; SupplierItemDao supplierItemDao;
...@@ -104,17 +107,18 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -104,17 +107,18 @@ public class SupplierItemServiceImpl implements SupplierItemService {
String shareRecordId = dto.getShareRecordId(); String shareRecordId = dto.getShareRecordId();
DistributorShareRecord distributorShareRecord = null; DistributorShareRecord distributorShareRecord = null;
long itemId = 0; long itemId = 0;
if (StringUtils.isEmpty(shareRecordId) && dto.getId() == null) { if (dto.getId() != null) {
itemId = dto.getId();
}
else if (StringUtils.isEmpty(shareRecordId) && dto.getId() == null) {
return Result.failed("商品信息为空"); return Result.failed("商品信息为空");
} else if (StringUtils.hasLength(shareRecordId)) { } else {
distributorShareRecord = distributorShareRecordDao.findById(shareRecordId); distributorShareRecord = distributorShareRecordDao.findById(shareRecordId);
if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) { if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) {
return Result.failed("该商品已下架"); return Result.failed("该商品已下架");
} else { } else {
itemId = distributorShareRecord.getItemId(); itemId = distributorShareRecord.getItemId();
} }
} else {
itemId = dto.getId();
} }
SupplierItemVo supplierItemVo = new SupplierItemVo(); SupplierItemVo supplierItemVo = new SupplierItemVo();
//用户点击链接进入详情页需要记录 //用户点击链接进入详情页需要记录
...@@ -140,13 +144,12 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -140,13 +144,12 @@ public class SupplierItemServiceImpl implements SupplierItemService {
userRecentBrowseDao.insert(newRecord); userRecentBrowseDao.insert(newRecord);
} }
} }
} else { } else {
//店家进入详情,需要判断是否购买过样品 //店家进入详情,需要判断是否购买过样品
List<DistributionOrder> distributionOrders = distributionOrderDao.findByBuyerId(dto.getUserId()); if (distributionOrderDao.isBuyItem(dto.getUserId(), itemId)) {
if (CollectionUtils.isEmpty(distributionOrders)) {
supplierItemVo.setShopBought(false);
} else {
supplierItemVo.setShopBought(true); supplierItemVo.setShopBought(true);
} else {
supplierItemVo.setShopBought(false);
} }
} }
SupplierItem supplierItem = supplierItemDao.findById(itemId); SupplierItem supplierItem = supplierItemDao.findById(itemId);
......
...@@ -75,7 +75,6 @@ public class DistributionOrderController { ...@@ -75,7 +75,6 @@ public class DistributionOrderController {
} }
@ApiOperation(value = "分销商购买样品,尚未付款") @ApiOperation(value = "分销商购买样品,尚未付款")
@PostMapping("/buySample") @PostMapping("/buySample")
public Result buySample(@RequestBody DistributionOrderRequestDto dto) { public Result buySample(@RequestBody DistributionOrderRequestDto dto) {
......
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