|
@@ -4,10 +4,13 @@ import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.google.common.collect.Maps;
|
|
import com.google.common.collect.Maps;
|
|
import com.kmall.api.dao.mk.ApiMkStoreCampMinusMapper;
|
|
import com.kmall.api.dao.mk.ApiMkStoreCampMinusMapper;
|
|
|
|
+import com.kmall.api.dao.mk.ApiMkStorePromMapper;
|
|
import com.kmall.api.dao.mk.ApiMkStoreTicketDiscountMapper;
|
|
import com.kmall.api.dao.mk.ApiMkStoreTicketDiscountMapper;
|
|
import com.kmall.api.dto.CampMinusDto;
|
|
import com.kmall.api.dto.CampMinusDto;
|
|
import com.kmall.api.dto.CheckOutDto;
|
|
import com.kmall.api.dto.CheckOutDto;
|
|
import com.kmall.api.entity.mk.MkStoreCampMinusVo;
|
|
import com.kmall.api.entity.mk.MkStoreCampMinusVo;
|
|
|
|
+import com.kmall.api.entity.mk.MkStorePromStatVo;
|
|
|
|
+import com.kmall.api.entity.mk.MkStorePromVo;
|
|
import com.kmall.api.entity.mk.MkStoreTicketDiscountVo;
|
|
import com.kmall.api.entity.mk.MkStoreTicketDiscountVo;
|
|
import com.kmall.api.fromcomm.entity.FormIdsEntity;
|
|
import com.kmall.api.fromcomm.entity.FormIdsEntity;
|
|
import com.kmall.api.service.mk.ApiMkStorePromStatService;
|
|
import com.kmall.api.service.mk.ApiMkStorePromStatService;
|
|
@@ -74,6 +77,8 @@ public class ApiOrderService {
|
|
@Autowired
|
|
@Autowired
|
|
private ApiStoreMngChangeMapper apiStoreMngChangeMapper;
|
|
private ApiStoreMngChangeMapper apiStoreMngChangeMapper;
|
|
@Autowired
|
|
@Autowired
|
|
|
|
+ private ApiMkStorePromMapper apiMkStorePromMapper;
|
|
|
|
+ @Autowired
|
|
private ApiMkStorePromStatService apiMkStorePromStatService;
|
|
private ApiMkStorePromStatService apiMkStorePromStatService;
|
|
@Autowired
|
|
@Autowired
|
|
private ApiMkStoreTicketDiscountMapper apiMkStoreTicketDiscountMapper;
|
|
private ApiMkStoreTicketDiscountMapper apiMkStoreTicketDiscountMapper;
|
|
@@ -262,6 +267,8 @@ public class ApiOrderService {
|
|
Integer campId10 = jsonParam.getInteger("campId10");//促销id
|
|
Integer campId10 = jsonParam.getInteger("campId10");//促销id
|
|
Integer campId11 = jsonParam.getInteger("campId11");//促销id
|
|
Integer campId11 = jsonParam.getInteger("campId11");//促销id
|
|
Integer isLoadStatus = jsonParam.getInteger("isLoadStatus");
|
|
Integer isLoadStatus = jsonParam.getInteger("isLoadStatus");
|
|
|
|
+ Integer number = jsonParam.getInteger("number");
|
|
|
|
+ Long goodsId = jsonParam.getLong("goodsId");
|
|
UserVo user = apiUserMapper.queryObjectByIdNoAndName(idNo, userName);
|
|
UserVo user = apiUserMapper.queryObjectByIdNoAndName(idNo, userName);
|
|
UserVo userVo = new UserVo();
|
|
UserVo userVo = new UserVo();
|
|
userVo.setId(loginUser.getId());
|
|
userVo.setId(loginUser.getId());
|
|
@@ -290,27 +297,13 @@ public class ApiOrderService {
|
|
resultObj.put("errmsg", vo.getRespMessage());
|
|
resultObj.put("errmsg", vo.getRespMessage());
|
|
return resultObj;
|
|
return resultObj;
|
|
}
|
|
}
|
|
-
|
|
|
|
- //获取要购买的商品
|
|
|
|
- Map<String, Object> cartData = cartService.getCartMoney(loginUser,checkCart,storeId);
|
|
|
|
- List<CartVo> checkedGoodsList = (List<CartVo>) cartData.get("cartList");
|
|
|
|
-// Map param = Maps.newHashMap();
|
|
|
|
-// param.put("user_id", loginUser.getId());
|
|
|
|
-// param.put("store_id", storeId);
|
|
|
|
-// param.put("checked", 1);
|
|
|
|
-// param.put("checkCart", checkCart);
|
|
|
|
-// List<CartVo> checkedGoodsList = apiCartMapper.queryList(param);
|
|
|
|
- if (null == checkedGoodsList) {
|
|
|
|
- resultObj.put("errno", 400);
|
|
|
|
- resultObj.put("errmsg", "请选择商品");
|
|
|
|
- logger.error("请选择商品");
|
|
|
|
- return resultObj;
|
|
|
|
- }
|
|
|
|
- // 检查库存和更新库存
|
|
|
|
- checkStock(checkedGoodsList, storeId, userName);
|
|
|
|
-
|
|
|
|
CheckOutDto checkOutDto = new CheckOutDto();
|
|
CheckOutDto checkOutDto = new CheckOutDto();
|
|
checkOutDto.setCheckCart(checkCart);
|
|
checkOutDto.setCheckCart(checkCart);
|
|
|
|
+ //商品id不为空,则提交订单是从商品详情页立即购买过来的
|
|
|
|
+ if(goodsId != null){
|
|
|
|
+ checkOutDto.setGoodsId(goodsId);
|
|
|
|
+ checkOutDto.setNumber(number);
|
|
|
|
+ }
|
|
checkOutDto.setLoginUser(loginUser);
|
|
checkOutDto.setLoginUser(loginUser);
|
|
if(tickDiscId00 != null){
|
|
if(tickDiscId00 != null){
|
|
checkOutDto.setTickDiscId00(Long.valueOf(tickDiscId00));
|
|
checkOutDto.setTickDiscId00(Long.valueOf(tickDiscId00));
|
|
@@ -338,6 +331,22 @@ public class ApiOrderService {
|
|
}
|
|
}
|
|
checkOutDto.setIsLoadStatus(isLoadStatus);
|
|
checkOutDto.setIsLoadStatus(isLoadStatus);
|
|
checkOutDto.setStoreId(storeId);
|
|
checkOutDto.setStoreId(storeId);
|
|
|
|
+ //获取要购买的商品
|
|
|
|
+ Map<String, Object> cartData = cartService.getCartMoney(loginUser, checkOutDto, storeId);
|
|
|
|
+ List<CartVo> checkedGoodsList = (List<CartVo>) cartData.get("cartList");
|
|
|
|
+// Map param = Maps.newHashMap();
|
|
|
|
+// param.put("user_id", loginUser.getId());
|
|
|
|
+// param.put("store_id", storeId);
|
|
|
|
+// param.put("checked", 1);
|
|
|
|
+// param.put("checkCart", checkCart);
|
|
|
|
+// List<CartVo> checkedGoodsList = apiCartMapper.queryList(param);
|
|
|
|
+ if (null == checkedGoodsList) {
|
|
|
|
+ resultObj.put("errno", 400);
|
|
|
|
+ resultObj.put("errmsg", "请选择商品");
|
|
|
|
+ logger.error("请选择商品");
|
|
|
|
+ return resultObj;
|
|
|
|
+ }
|
|
|
|
+
|
|
checkOutDto.setCartData(cartData);
|
|
checkOutDto.setCartData(cartData);
|
|
Map<String, Object> cartResultObj = cartService.getCheckOut(checkOutDto);
|
|
Map<String, Object> cartResultObj = cartService.getCheckOut(checkOutDto);
|
|
|
|
|
|
@@ -346,6 +355,8 @@ public class ApiOrderService {
|
|
Boolean isBizType10 = (Boolean) cartResultObj.get("isBizType10");
|
|
Boolean isBizType10 = (Boolean) cartResultObj.get("isBizType10");
|
|
Boolean isBizType11 = (Boolean) cartResultObj.get("isBizType11");
|
|
Boolean isBizType11 = (Boolean) cartResultObj.get("isBizType11");
|
|
|
|
|
|
|
|
+ // 检查库存和更新库存
|
|
|
|
+ checkStock(checkedGoodsList, storeId, userName);
|
|
|
|
|
|
List<OrderVo> orderInfoList = new ArrayList();
|
|
List<OrderVo> orderInfoList = new ArrayList();
|
|
String merchOrderSn = "EMATO" + CommonUtil.generateOrderNumber();
|
|
String merchOrderSn = "EMATO" + CommonUtil.generateOrderNumber();
|
|
@@ -408,10 +419,21 @@ public class ApiOrderService {
|
|
}
|
|
}
|
|
OrderGoodsVo orderGoodsVo = setOrderGoodsVo(orderInfo, goodsItem, goodsVo);
|
|
OrderGoodsVo orderGoodsVo = setOrderGoodsVo(orderInfo, goodsItem, goodsVo);
|
|
apiOrderGoodsMapper.save(orderGoodsVo);
|
|
apiOrderGoodsMapper.save(orderGoodsVo);
|
|
-
|
|
|
|
- Integer cartId = Integer.parseInt(String.valueOf(goodsItem.getId()));
|
|
|
|
- //更新渠道追踪统计下单量数据
|
|
|
|
- apiMkStorePromStatService.updateMkStorePromStat(orderGoodsVo, orderInfo, loginUser, cartId);
|
|
|
|
|
|
+ //购物车id为空,则提交订单是从商品详情页立即购买过来的
|
|
|
|
+ if(goodsItem.getId() == null){
|
|
|
|
+ MkStorePromVo mkStorePromVo = apiMkStorePromMapper.queryObjectByGoodsIdAndStoreId(Integer.parseInt(String.valueOf(goodsItem.getGoods_id())),
|
|
|
|
+ Integer.parseInt(String.valueOf(storeId)));
|
|
|
|
+ if(mkStorePromVo != null){
|
|
|
|
+ MkStorePromStatVo statVo = apiMkStorePromStatService.queryObjectByPromId(mkStorePromVo.getPromId());
|
|
|
|
+ if(statVo != null){
|
|
|
|
+ apiMkStorePromStatService.updateStorePromStat(orderGoodsVo, orderInfo, loginUser, statVo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ Integer cartId = Integer.parseInt(String.valueOf(goodsItem.getId()));
|
|
|
|
+ //更新渠道追踪统计下单量数据
|
|
|
|
+ apiMkStorePromStatService.updateMkStorePromStat(orderGoodsVo, orderInfo, loginUser, cartId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//记录优惠券活动营销统计下单量数据
|
|
//记录优惠券活动营销统计下单量数据
|
|
@@ -432,8 +454,12 @@ public class ApiOrderService {
|
|
|
|
|
|
orderProcessRecordMapper.saveBatch(processRecordEntityList);//新增订单流转信息
|
|
orderProcessRecordMapper.saveBatch(processRecordEntityList);//新增订单流转信息
|
|
|
|
|
|
- //清空已购买的商品
|
|
|
|
- apiCartMapper.deleteByCart(loginUser.getId(), storeId, 1, checkCart);
|
|
|
|
|
|
+
|
|
|
|
+ //商品id不为空,则提交订单是从商品详情页立即购买过来的
|
|
|
|
+ if(goodsId == null) {
|
|
|
|
+ //清空已购买的商品
|
|
|
|
+ apiCartMapper.deleteByCart(loginUser.getId(), storeId, 1, checkCart);
|
|
|
|
+ }
|
|
|
|
|
|
if (apiOrderMapper.queryCountByMerchOrderSn(merchOrderSn) > 1) {//不止一笔订单则为拆单订单
|
|
if (apiOrderMapper.queryCountByMerchOrderSn(merchOrderSn) > 1) {//不止一笔订单则为拆单订单
|
|
OrderVo orderVo = new OrderVo();
|
|
OrderVo orderVo = new OrderVo();
|