Commit e77ed490 by 不悦

ycf0729

parent 913a6600
...@@ -92,7 +92,7 @@ public class BargainController { ...@@ -92,7 +92,7 @@ public class BargainController {
.like(bargain.getProdName() != null, Bargain::getProdName, bargain.getProdName())); .like(bargain.getProdName() != null, Bargain::getProdName, bargain.getProdName()));
for(Bargain BG:bargainList){ for(Bargain BG:bargainList){
Product product = productService.getProductByProdId(BG.getProdId()); Product product = productService.getProductByProdId(BG.getProdId());
BG.setCostPrice(product.getPrice()); BG.setProduct(product);
} }
return ResponseEntity.ok(bargainList); return ResponseEntity.ok(bargainList);
} }
......
...@@ -59,6 +59,7 @@ public class BargainController { ...@@ -59,6 +59,7 @@ public class BargainController {
IPage<Bargain> bargains = bargainService.page(page, IPage<Bargain> bargains = bargainService.page(page,
new LambdaQueryWrapper<Bargain>() new LambdaQueryWrapper<Bargain>()
.eq(Bargain::getStatus,1) .eq(Bargain::getStatus,1)
.gt(Bargain::getStocks,0)
.orderByDesc(Bargain::getCreatedAt)); .orderByDesc(Bargain::getCreatedAt));
if(bargains.getRecords().size()>0){ if(bargains.getRecords().size()>0){
for(Bargain bargain:bargains.getRecords()){ for(Bargain bargain:bargains.getRecords()){
...@@ -116,6 +117,7 @@ public class BargainController { ...@@ -116,6 +117,7 @@ public class BargainController {
BargainSend BS=bargainSendService.selectBargainTask(userId,bargainSend.getActivityId()); BargainSend BS=bargainSendService.selectBargainTask(userId,bargainSend.getActivityId());
if(ObjectUtil.isNull(BS)){ if(ObjectUtil.isNull(BS)){
Bargain bargain = bargainService.getBargainById(bargainSend.getActivityId());//取能砍的最低价格 Bargain bargain = bargainService.getBargainById(bargainSend.getActivityId());//取能砍的最低价格
isFirstTime = 1; isFirstTime = 1;
bargainSend.setCreatedAt(new Date()); bargainSend.setCreatedAt(new Date());
bargainSend.setIsAddorder(0);//未下单 bargainSend.setIsAddorder(0);//未下单
...@@ -149,6 +151,9 @@ public class BargainController { ...@@ -149,6 +151,9 @@ public class BargainController {
ProductDto product = prodController.prodInfoBargain(bargainSend.getProdId()); ProductDto product = prodController.prodInfoBargain(bargainSend.getProdId());
BS.setProductDto(product); BS.setProductDto(product);
Bargain bargain = bargainService.getBargainById(bargainSend.getActivityId()); Bargain bargain = bargainService.getBargainById(bargainSend.getActivityId());
if(product.getTotalStocks()<bargain.getStocks()){
bargain.setStocks(product.getTotalStocks());
}
BS.setBargain(bargain); BS.setBargain(bargain);
List<BargainHelp> bargainHelpList = bargainHelpService.selectListByBargainOrderId(BS.getId()); List<BargainHelp> bargainHelpList = bargainHelpService.selectListByBargainOrderId(BS.getId());
double cutMoney = 0; double cutMoney = 0;
......
...@@ -17,8 +17,7 @@ import javax.validation.Valid; ...@@ -17,8 +17,7 @@ import javax.validation.Valid;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.yami.shop.bean.app.dto.*; import com.yami.shop.bean.app.dto.*;
import com.yami.shop.bean.event.ConfirmOrderEvent; import com.yami.shop.bean.event.ConfirmOrderEvent;
import com.yami.shop.bean.model.BargainHelp; import com.yami.shop.bean.model.*;
import com.yami.shop.bean.model.BargainSend;
import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.exception.YamiShopBindException;
import com.yami.shop.security.util.SecurityUtils; import com.yami.shop.security.util.SecurityUtils;
import com.yami.shop.service.*; import com.yami.shop.service.*;
...@@ -33,8 +32,6 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -33,8 +32,6 @@ import org.springframework.web.bind.annotation.RestController;
import com.yami.shop.bean.app.param.OrderParam; import com.yami.shop.bean.app.param.OrderParam;
import com.yami.shop.bean.app.param.OrderShopParam; import com.yami.shop.bean.app.param.OrderShopParam;
import com.yami.shop.bean.app.param.SubmitOrderParam; import com.yami.shop.bean.app.param.SubmitOrderParam;
import com.yami.shop.bean.model.Order;
import com.yami.shop.bean.model.UserAddr;
import com.yami.shop.common.util.Arith; import com.yami.shop.common.util.Arith;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
...@@ -67,6 +64,8 @@ public class OrderController { ...@@ -67,6 +64,8 @@ public class OrderController {
private BargainHelpService bargainHelpService; private BargainHelpService bargainHelpService;
@Autowired @Autowired
private ProdController prodController; private ProdController prodController;
@Autowired
private BargainService bargainService;
/** /**
* 生成订单 * 生成订单
*/ */
...@@ -83,7 +82,7 @@ public class OrderController { ...@@ -83,7 +82,7 @@ public class OrderController {
isBargain=orderParam.getOrderItem().getIsBargain(); isBargain=orderParam.getOrderItem().getIsBargain();
} }
// 组装获取用户提交的购物车商品项 // 组装获取用户提交的购物车商品项
List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(isBargain,orderParam.getBasketIds(),orderParam.getOrderItem(),userId); List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(orderParam,isBargain,orderParam.getBasketIds(),orderParam.getOrderItem(),userId);
if (CollectionUtil.isEmpty(shopCartItems)) { if (CollectionUtil.isEmpty(shopCartItems)) {
throw new YamiShopBindException("请选择您需要的商品加入购物车"); throw new YamiShopBindException("请选择您需要的商品加入购物车");
...@@ -148,8 +147,10 @@ public class OrderController { ...@@ -148,8 +147,10 @@ public class OrderController {
actualTotal=product.getPrice()-cutMoney; actualTotal=product.getPrice()-cutMoney;
total = actualTotal; total = actualTotal;
} }
shopCartOrderMergerDto.setActualTotal(actualTotal); // shopCartOrderMergerDto.setActualTotal(actualTotal);
shopCartOrderMergerDto.setTotal(total); // shopCartOrderMergerDto.setTotal(total);
shopCartOrderMergerDto.setActualTotal(0.01);
shopCartOrderMergerDto.setTotal(0.01);
shopCartOrderMergerDto.setTotalCount(totalCount); shopCartOrderMergerDto.setTotalCount(totalCount);
shopCartOrderMergerDto.setShopCartOrders(shopCartOrders); shopCartOrderMergerDto.setShopCartOrders(shopCartOrders);
shopCartOrderMergerDto.setOrderReduce(orderReduce); shopCartOrderMergerDto.setOrderReduce(orderReduce);
...@@ -184,10 +185,11 @@ public class OrderController { ...@@ -184,10 +185,11 @@ public class OrderController {
} }
} }
} }
String isBargain ="";
List<Order> orders = orderService.submit(userId,mergerOrder); if("1".equals(submitOrderParam.getIsBargain())){
isBargain=submitOrderParam.getIsBargain();
}
List<Order> orders = orderService.submit(userId,mergerOrder,isBargain,submitOrderParam);
StringBuilder orderNumbers = new StringBuilder(); StringBuilder orderNumbers = new StringBuilder();
for (Order order : orders) { for (Order order : orders) {
......
...@@ -38,7 +38,6 @@ public class PayNoticeController { ...@@ -38,7 +38,6 @@ public class PayNoticeController {
@RequestMapping("/order") @RequestMapping("/order")
public ResponseEntity<Void> submit(@RequestBody String xmlData) throws WxPayException { public ResponseEntity<Void> submit(@RequestBody String xmlData) throws WxPayException {
WxPayOrderNotifyResult parseOrderNotifyResult = wxMiniPayService.parseOrderNotifyResult(xmlData); WxPayOrderNotifyResult parseOrderNotifyResult = wxMiniPayService.parseOrderNotifyResult(xmlData);
String payNo = parseOrderNotifyResult.getOutTradeNo(); String payNo = parseOrderNotifyResult.getOutTradeNo();
String bizPayNo = parseOrderNotifyResult.getTransactionId(); String bizPayNo = parseOrderNotifyResult.getTransactionId();
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
package com.yami.shop.api.listener; package com.yami.shop.api.listener;
import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.yami.shop.bean.app.dto.ShopCartItemDiscountDto; import com.yami.shop.bean.app.dto.ShopCartItemDiscountDto;
import com.yami.shop.bean.app.dto.ShopCartItemDto; import com.yami.shop.bean.app.dto.ShopCartItemDto;
...@@ -67,6 +68,8 @@ public class SubmitOrderListener { ...@@ -67,6 +68,8 @@ public class SubmitOrderListener {
private final BasketMapper basketMapper; private final BasketMapper basketMapper;
private final BargainMapper bargainMapper;
/** /**
* 计算订单金额 * 计算订单金额
*/ */
...@@ -144,6 +147,15 @@ public class SubmitOrderListener { ...@@ -144,6 +147,15 @@ public class SubmitOrderListener {
if (shopCartItem.getBasketId() != null && shopCartItem.getBasketId() != 0) { if (shopCartItem.getBasketId() != null && shopCartItem.getBasketId() != 0) {
basketIds.add(shopCartItem.getBasketId()); basketIds.add(shopCartItem.getBasketId());
} }
if(ObjectUtil.isNotNull(shopCartItem.getBasketId())){
Bargain bargain = bargainMapper.getBargain(shopCartItem.getBargainId());
if(bargain.getStocks()==0){
throw new YamiShopBindException("商品库存不足");
}
}
} }
} }
......
...@@ -49,4 +49,6 @@ public class ShopCartItemDto extends ProductItemDto implements Serializable { ...@@ -49,4 +49,6 @@ public class ShopCartItemDto extends ProductItemDto implements Serializable {
@ApiModelProperty(value = "加入购物车的时间") @ApiModelProperty(value = "加入购物车的时间")
private Date basketDate; private Date basketDate;
@ApiModelProperty(value = "砍价活动id")
private Long bargainId;
} }
...@@ -41,6 +41,7 @@ public class OrderParam { ...@@ -41,6 +41,7 @@ public class OrderParam {
@ApiModelProperty(value = "优惠券id数组") @ApiModelProperty(value = "优惠券id数组")
private List<Long> couponIds; private List<Long> couponIds;
private Long bargainId;
// @ApiModelProperty(value = "每次订单提交时的uuid") // @ApiModelProperty(value = "每次订单提交时的uuid")
// private String uuid; // private String uuid;
......
...@@ -21,4 +21,12 @@ import lombok.Data; ...@@ -21,4 +21,12 @@ import lombok.Data;
public class SubmitOrderParam { public class SubmitOrderParam {
@ApiModelProperty(value = "每个店铺提交的订单信息",required=true) @ApiModelProperty(value = "每个店铺提交的订单信息",required=true)
private List<OrderShopParam> orderShopParam; private List<OrderShopParam> orderShopParam;
@ApiModelProperty(value = "1、砍价页面,0,、其他页面")
private String isBargain;
@ApiModelProperty(value = "砍价活动id")
private Long bargainId;
private Long prodId;
} }
...@@ -139,8 +139,8 @@ public class Bargain implements Serializable { ...@@ -139,8 +139,8 @@ public class Bargain implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Integer SendCount; private Integer SendCount;
@ApiModelProperty(value = "商品现价", required = false) @ApiModelProperty(value = "后台商品信息", required = false)
@TableField(exist = false) @TableField(exist = false)
private Double costPrice; private Product product;
} }
...@@ -189,4 +189,14 @@ public class Order implements Serializable { ...@@ -189,4 +189,14 @@ public class Order implements Serializable {
*/ */
@TableField(exist = false) @TableField(exist = false)
private UserAddrOrder userAddrOrder; private UserAddrOrder userAddrOrder;
/**
* 是否砍价模块进来:1是,0否
*/
private String isBargain;
/**
* 砍价活动id
*/
private Long bargainId;
} }
...@@ -24,4 +24,8 @@ public interface BargainMapper extends BaseMapper<Bargain> { ...@@ -24,4 +24,8 @@ public interface BargainMapper extends BaseMapper<Bargain> {
Bargain getBargainById(@Param("id")Long id); Bargain getBargainById(@Param("id")Long id);
int updateStocks(@Param("id")Long id);
Bargain getBargain(@Param("id")Long id);
} }
...@@ -15,4 +15,6 @@ public interface BargainSendMapper extends BaseMapper<BargainSend> { ...@@ -15,4 +15,6 @@ public interface BargainSendMapper extends BaseMapper<BargainSend> {
BargainSend selectBargainTask(@Param("userId") String userId,@Param("activityId") Long activityId); BargainSend selectBargainTask(@Param("userId") String userId,@Param("activityId") Long activityId);
int updateCount(@Param("id") Long id); int updateCount(@Param("id") Long id);
int updateStatus(@Param("userId") String userId,@Param("activityId") Long activityId);
} }
...@@ -45,4 +45,7 @@ public interface BargainService extends IService<Bargain> { ...@@ -45,4 +45,7 @@ public interface BargainService extends IService<Bargain> {
List<BargainDetailParm> selectBargainDetail(Long id); List<BargainDetailParm> selectBargainDetail(Long id);
int selectBargainNum(Long id); int selectBargainNum(Long id);
Bargain getBargain(Long id);
void updateStocks(Long id);
} }
...@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.app.dto.*; import com.yami.shop.bean.app.dto.*;
import com.yami.shop.bean.app.param.ChangeShopCartParam; import com.yami.shop.bean.app.param.ChangeShopCartParam;
import com.yami.shop.bean.app.param.OrderItemParam; import com.yami.shop.bean.app.param.OrderItemParam;
import com.yami.shop.bean.app.param.OrderParam;
import com.yami.shop.bean.app.param.ShopCartParam; import com.yami.shop.bean.app.param.ShopCartParam;
import com.yami.shop.bean.model.Basket; import com.yami.shop.bean.model.Basket;
...@@ -63,6 +64,6 @@ public interface BasketService extends IService<Basket> { ...@@ -63,6 +64,6 @@ public interface BasketService extends IService<Basket> {
* @param userId 当前用户的用户id * @param userId 当前用户的用户id
* @return 所有的商品购物项 * @return 所有的商品购物项
*/ */
List<ShopCartItemDto> getShopCartItemsByOrderItems(String isBargain,List<Long> basketId, OrderItemParam orderItem,String userId); List<ShopCartItemDto> getShopCartItemsByOrderItems(OrderParam orderParam,String isBargain, List<Long> basketId, OrderItemParam orderItem, String userId);
} }
...@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -18,6 +18,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.app.dto.OrderCountData; import com.yami.shop.bean.app.dto.OrderCountData;
import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto; import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto;
import com.yami.shop.bean.app.param.SubmitOrderParam;
import com.yami.shop.bean.model.Order; import com.yami.shop.bean.model.Order;
import com.yami.shop.bean.param.OrderParam; import com.yami.shop.bean.param.OrderParam;
...@@ -37,7 +38,7 @@ public interface OrderService extends IService<Order> { ...@@ -37,7 +38,7 @@ public interface OrderService extends IService<Order> {
void removeConfirmOrderCache(String userId); void removeConfirmOrderCache(String userId);
List<Order> submit(String userId, ShopCartOrderMergerDto mergerOrder); List<Order> submit(String userId, ShopCartOrderMergerDto mergerOrder, String isBargain, SubmitOrderParam submitOrderParam);
void delivery(Order order); void delivery(Order order);
......
...@@ -50,4 +50,15 @@ public class BargainServiceImpl extends ServiceImpl<BargainMapper, Bargain> impl ...@@ -50,4 +50,15 @@ public class BargainServiceImpl extends ServiceImpl<BargainMapper, Bargain> impl
public int selectBargainNum(Long id){ public int selectBargainNum(Long id){
return bargainMapper.selectBargainNum(id); return bargainMapper.selectBargainNum(id);
} }
@Override
public Bargain getBargain(Long id) {
Bargain bargain = bargainMapper.getBargain(id);
return bargain;
}
@Override
public void updateStocks(Long id) {
bargainMapper.updateStocks(id);
}
} }
...@@ -18,6 +18,7 @@ import com.google.common.collect.Lists; ...@@ -18,6 +18,7 @@ import com.google.common.collect.Lists;
import com.yami.shop.bean.app.dto.*; import com.yami.shop.bean.app.dto.*;
import com.yami.shop.bean.app.param.ChangeShopCartParam; import com.yami.shop.bean.app.param.ChangeShopCartParam;
import com.yami.shop.bean.app.param.OrderItemParam; import com.yami.shop.bean.app.param.OrderItemParam;
import com.yami.shop.bean.app.param.OrderParam;
import com.yami.shop.bean.app.param.ShopCartParam; import com.yami.shop.bean.app.param.ShopCartParam;
import com.yami.shop.bean.event.ShopCartEvent; import com.yami.shop.bean.event.ShopCartEvent;
import com.yami.shop.bean.model.Basket; import com.yami.shop.bean.model.Basket;
...@@ -161,7 +162,7 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme ...@@ -161,7 +162,7 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
} }
@Override @Override
public List<ShopCartItemDto> getShopCartItemsByOrderItems(String isBargain,List<Long> basketId, OrderItemParam orderItem,String userId) { public List<ShopCartItemDto> getShopCartItemsByOrderItems(OrderParam orderParam,String isBargain, List<Long> basketId, OrderItemParam orderItem, String userId) {
if (orderItem == null && CollectionUtil.isEmpty(basketId)) { if (orderItem == null && CollectionUtil.isEmpty(basketId)) {
return Collections.emptyList(); return Collections.emptyList();
} }
...@@ -191,6 +192,7 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme ...@@ -191,6 +192,7 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
shopCartItemDto.setPrice(sku.getPrice()); shopCartItemDto.setPrice(sku.getPrice());
if("1".equals(isBargain)){ if("1".equals(isBargain)){
shopCartItemDto.setPrice(prod.getPrice()); shopCartItemDto.setPrice(prod.getPrice());
shopCartItemDto.setBargainId(orderParam.getBargainId());
} }
shopCartItemDto.setDistributionCardNo(orderItem.getDistributionCardNo()); shopCartItemDto.setDistributionCardNo(orderItem.getDistributionCardNo());
shopCartItemDto.setBasketDate(new Date()); shopCartItemDto.setBasketDate(new Date());
......
...@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yami.shop.bean.app.dto.OrderCountData; import com.yami.shop.bean.app.dto.OrderCountData;
import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto; import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto;
import com.yami.shop.bean.app.param.SubmitOrderParam;
import com.yami.shop.bean.event.CancelOrderEvent; import com.yami.shop.bean.event.CancelOrderEvent;
import com.yami.shop.bean.event.ReceiptOrderEvent; import com.yami.shop.bean.event.ReceiptOrderEvent;
import com.yami.shop.bean.event.SubmitOrderEvent; import com.yami.shop.bean.event.SubmitOrderEvent;
...@@ -88,11 +89,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements ...@@ -88,11 +89,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<Order> submit(String userId, ShopCartOrderMergerDto mergerOrder) { public List<Order> submit(String userId, ShopCartOrderMergerDto mergerOrder, String isBargain, SubmitOrderParam submitOrderParam) {
List<Order> orderList = new ArrayList<>(); List<Order> orderList = new ArrayList<>();
if("1".equals(isBargain)){
// mergerOrder.getShopCartOrders().get(0).setActualTotal(mergerOrder.getActualTotal());
// mergerOrder.getShopCartOrders().get(0).setTotal(mergerOrder.getTotal());
mergerOrder.getShopCartOrders().get(0).setActualTotal(0.01);
mergerOrder.getShopCartOrders().get(0).setTotal(0.01);
}
// 通过事务提交订单 // 通过事务提交订单
eventPublisher.publishEvent(new SubmitOrderEvent(mergerOrder, orderList)); eventPublisher.publishEvent(new SubmitOrderEvent(mergerOrder, orderList));
if("1".equals(isBargain)){
for(Order o: orderList){
o.setIsBargain(isBargain);
o.setBargainId(submitOrderParam.getBargainId());
}
}
// 插入订单 // 插入订单
orderList.forEach(order -> orderMapper.insert(order)); orderList.forEach(order -> orderMapper.insert(order));
List<OrderItem> orderItems = orderList.stream().flatMap(order -> order.getOrderItems().stream()).collect(Collectors.toList()); List<OrderItem> orderItems = orderList.stream().flatMap(order -> order.getOrderItems().stream()).collect(Collectors.toList());
......
...@@ -12,17 +12,11 @@ import com.chuanglan.demo.SmsSendDemo; ...@@ -12,17 +12,11 @@ import com.chuanglan.demo.SmsSendDemo;
import com.yami.shop.bean.app.param.PayParam; import com.yami.shop.bean.app.param.PayParam;
import com.yami.shop.bean.enums.PayType; import com.yami.shop.bean.enums.PayType;
import com.yami.shop.bean.event.PaySuccessOrderEvent; import com.yami.shop.bean.event.PaySuccessOrderEvent;
import com.yami.shop.bean.model.Order; import com.yami.shop.bean.model.*;
import com.yami.shop.bean.model.OrderItem;
import com.yami.shop.bean.model.OrderSettlement;
import com.yami.shop.bean.model.Product;
import com.yami.shop.bean.model.UserAddrOrder;
import com.yami.shop.bean.pay.PayInfoDto; import com.yami.shop.bean.pay.PayInfoDto;
import com.yami.shop.common.exception.YamiShopBindException; import com.yami.shop.common.exception.YamiShopBindException;
import com.yami.shop.common.util.Arith; import com.yami.shop.common.util.Arith;
import com.yami.shop.dao.OrderMapper; import com.yami.shop.dao.*;
import com.yami.shop.dao.OrderSettlementMapper;
import com.yami.shop.dao.UserAddrMapper;
import com.yami.shop.service.OrderItemService; import com.yami.shop.service.OrderItemService;
import com.yami.shop.service.PayService; import com.yami.shop.service.PayService;
import com.yami.shop.service.ProductService; import com.yami.shop.service.ProductService;
...@@ -50,6 +44,10 @@ public class PayServiceImpl implements PayService { ...@@ -50,6 +44,10 @@ public class PayServiceImpl implements PayService {
private OrderItemService orderItemService; private OrderItemService orderItemService;
@Autowired @Autowired
private Snowflake snowflake; private Snowflake snowflake;
@Autowired
private BargainMapper bargainMapper;
@Autowired
private BargainSendMapper bargainSendMapper;
public PayServiceImpl() { public PayServiceImpl() {
} }
...@@ -109,6 +107,13 @@ public class PayServiceImpl implements PayService { ...@@ -109,6 +107,13 @@ public class PayServiceImpl implements PayService {
return this.orderMapper.getOrderByOrderNumber(orderNumber); return this.orderMapper.getOrderByOrderNumber(orderNumber);
}).collect(Collectors.toList()); }).collect(Collectors.toList());
orders.forEach((order) -> { orders.forEach((order) -> {
if(order.getIsBargain().equals("1")){
Bargain bargain = bargainMapper.getBargain(order.getBargainId());
bargainSendMapper.updateStatus(order.getUserId(),order.getBargainId());
if(bargain.getStocks()>=1){
bargainMapper.updateStocks(order.getBargainId());
}
}
UserAddrOrder userAddrOrder = this.userAddrMapper.getUserAddrByAddrId(order.getAddrOrderId()); UserAddrOrder userAddrOrder = this.userAddrMapper.getUserAddrByAddrId(order.getAddrOrderId());
if (userAddrOrder != null) { if (userAddrOrder != null) {
String msg = "【旷世之作】尊敬的" + userAddrOrder.getReceiver() + "您好,您购买的" + order.getProdName() + " 已下单成功。" + "小二正在快马加鞭的处理您的订单,祝您购物愉快~~"; String msg = "【旷世之作】尊敬的" + userAddrOrder.getReceiver() + "您好,您购买的" + order.getProdName() + " 已下单成功。" + "小二正在快马加鞭的处理您的订单,祝您购物愉快~~";
......
...@@ -118,7 +118,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl ...@@ -118,7 +118,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
@Override @Override
@Cacheable(cacheNames = "product", key = "#prodId") // @Cacheable(cacheNames = "product", key = "#prodId")
public Product getProductByProdId(Long prodId) { public Product getProductByProdId(Long prodId) {
return productMapper.selectById(prodId); return productMapper.selectById(prodId);
} }
......
...@@ -240,5 +240,14 @@ ...@@ -240,5 +240,14 @@
where b.id=#{id} where b.id=#{id}
</select> </select>
<select id="getBargain" resultType="com.yami.shop.bean.model.Bargain">
select
*
from tz_bargain
where id=#{id}
order by created_at desc
</select>
<update id="updateStocks" parameterType="com.yami.shop.bean.model.Bargain">
update tz_bargain set stocks = stocks - 1 where id = #{id}
</update>
</mapper> </mapper>
...@@ -40,5 +40,10 @@ ...@@ -40,5 +40,10 @@
set bargain_count = bargain_count+1 set bargain_count = bargain_count+1
where id = #{id} where id = #{id}
</update> </update>
<update id="updateStatus" parameterType="com.yami.shop.bean.model.BargainSend">
update tz_bargain_send
set is_addorder = 1
where activity_id = #{activityId} and user_id=#{userId}
</update>
</mapper> </mapper>
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
<result column="is_payed" jdbcType="BIT" property="isPayed"/> <result column="is_payed" jdbcType="BIT" property="isPayed"/>
<result column="delete_status" jdbcType="INTEGER" property="deleteStatus"/> <result column="delete_status" jdbcType="INTEGER" property="deleteStatus"/>
<result column="refund_sts" jdbcType="INTEGER" property="refundSts"/> <result column="refund_sts" jdbcType="INTEGER" property="refundSts"/>
<result column="is_bargain" jdbcType="VARCHAR" property="isBargain"/>
<result column="bargain_id" jdbcType="BIGINT" property="bargainId"/>
</resultMap> </resultMap>
<resultMap id="MyOrderMap" type="com.yami.shop.bean.app.dto.MyOrderDto"> <resultMap id="MyOrderMap" type="com.yami.shop.bean.app.dto.MyOrderDto">
......
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