袁野 2 weeks ago
parent 61d2f2f7ce
commit 5540a43f74
  1. 3
      bweb/src/main/java/com/bweb/controller/SecUserController.java
  2. 2
      cweb/src/main/java/com/cweb/controller/cms/CmsContentController.java
  3. 13
      service/src/main/java/com/hfkj/dao/BsOrderMapperExt.java
  4. 34
      service/src/main/java/com/hfkj/service/order/impl/BsOrderServiceImpl.java

@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.security.UserCenter;
import com.hfkj.common.utils.MD5Util;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.entity.SecUser;
@ -36,6 +37,8 @@ public class SecUserController {
@Resource
private SecUserService secUserService;
@Resource
private UserCenter userCenter;
@Resource
private SecUserLoginLogService secUserLoginLogService;
@RequestMapping(value="/editUser",method = RequestMethod.POST)

@ -73,8 +73,6 @@ public class CmsContentController {
map.put("platformCode", platformCode);
List<CmsContent> list = cmsContentService.getList(map);
for (CmsContent cmsContent : list) {
List<JdGoodsModel> goodsModels = new ArrayList<>();

@ -1,10 +1,13 @@
package com.hfkj.dao;
import com.hfkj.entity.*;
import com.hfkj.model.goods.JdGoodsModel;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
* mapper扩展类
@ -298,4 +301,14 @@ public interface BsOrderMapperExt {
"</script>"
})
void insertOrderDeductionBatch(@Param(value = "list") List<BsOrderDeduction> list);
@Select("<script>" +
" SELECT" +
" SUM(oc.product_count) FROM bs_order o JOIN bs_order_child oc on o.order_no = oc.order_no WHERE" +
" o.user_id = #{userId} AND oc.product_spec_id = #{skuId} AND " +
" oc.`status` IN (1,2,3) AND DATE(o.create_time) = CURRENT_DATE() " +
"</script>")
Integer toDyaGoodsLimit(@Param("userId") Long userId , @Param("skuId") Long skuId );
}

@ -102,6 +102,8 @@ public class BsOrderServiceImpl implements BsOrderService {
private GoodsUserAddressService goodsUserAddressService;
@Resource
private BsMerPayConfigService bsMerPayConfigService;
@Resource
private BsOrderMapper bsOrderMapper;
@Override
public BsOrder editData(BsOrder order) {
@ -160,6 +162,13 @@ public class BsOrderServiceImpl implements BsOrderService {
// 查询规格
GoodsSpecs specs = goodsSpecsService.queryDetail(child.getProductSpecId());
if (specs.getPurLimit() != null) {
boolean l = checkPurchaseLimit(order.getUserId() , specs.getId());
if (l) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "商品限购数量不能超过" + specs.getPurLimit());
}
}
if (specs != null) {
// 校验商品购买是否超过库存
if (specs.getStock() < child.getProductCount()) {
@ -167,6 +176,9 @@ public class BsOrderServiceImpl implements BsOrderService {
}
}
// checkPurchaseLimit 限购
child.setOrderNo(order.getOrderNo());
// 子订单号 交易id + 线程随机数 + 4位随机数
child.setChildOrderNo(order.getId()+ IDGenerator.nextId(1) +RandomUtils.number(4, false));
@ -787,4 +799,26 @@ public class BsOrderServiceImpl implements BsOrderService {
}
// 检查购买限制
private boolean checkPurchaseLimit(Long userId , Long skuId) throws Exception {
// 查询商品是否存在限购
GoodsSpecs goodsSpecs = goodsSpecsService.queryDetail(skuId);
if (goodsSpecs.getPurLimit() == null || goodsSpecs.getPurLimit() == 0) {
return false;
}
// 查询用户购买数量
Integer num = bsOrderMapper.toDyaGoodsLimit(userId , skuId);
if (num == null) {
return false;
}
return num >= goodsSpecs.getPurLimit();
}
}

Loading…
Cancel
Save