|
@@ -1,9 +1,13 @@
|
|
package com.caimei365.order.service.impl;
|
|
package com.caimei365.order.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.caimei365.order.components.ProductService;
|
|
import com.caimei365.order.components.ProductService;
|
|
import com.caimei365.order.mapper.BaseMapper;
|
|
import com.caimei365.order.mapper.BaseMapper;
|
|
import com.caimei365.order.mapper.CartSellerMapper;
|
|
import com.caimei365.order.mapper.CartSellerMapper;
|
|
import com.caimei365.order.model.ResponseJson;
|
|
import com.caimei365.order.model.ResponseJson;
|
|
|
|
+import com.caimei365.order.model.dto.SellerCartDto;
|
|
|
|
+import com.caimei365.order.model.po.SellerCartPo;
|
|
import com.caimei365.order.model.vo.CartItemVo;
|
|
import com.caimei365.order.model.vo.CartItemVo;
|
|
import com.caimei365.order.model.vo.PromotionPriceVo;
|
|
import com.caimei365.order.model.vo.PromotionPriceVo;
|
|
import com.caimei365.order.model.vo.PromotionsVo;
|
|
import com.caimei365.order.model.vo.PromotionsVo;
|
|
@@ -51,7 +55,7 @@ public class CartSellerServiceImpl implements CartSellerService {
|
|
* @param pageSize 每页数量
|
|
* @param pageSize 每页数量
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public ResponseJson<Map<String, Object>> getSellerShoppingCarts(Integer serviceProviderId, Integer clubId, String againBuyProductIds, int pageNum, int pageSize) {
|
|
|
|
|
|
+ public ResponseJson<Map<String, Object>> getSellerCartList(Integer serviceProviderId, Integer clubId, String againBuyProductIds, int pageNum, int pageSize) {
|
|
List<Integer> againBuyIdList = Lists.newArrayList();
|
|
List<Integer> againBuyIdList = Lists.newArrayList();
|
|
if (againBuyProductIds.contains(",")) {
|
|
if (againBuyProductIds.contains(",")) {
|
|
String[] againBuyArr = againBuyProductIds.split(",");
|
|
String[] againBuyArr = againBuyProductIds.split(",");
|
|
@@ -215,4 +219,124 @@ public class CartSellerServiceImpl implements CartSellerService {
|
|
// 返回数据
|
|
// 返回数据
|
|
return ResponseJson.success(resultMap);
|
|
return ResponseJson.success(resultMap);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取协销购物车商品种类
|
|
|
|
+ *
|
|
|
|
+ * @param serviceProviderId 协销Id
|
|
|
|
+ * @param clubId 机构Id
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public ResponseJson<Integer> getSellerCartCount(Integer serviceProviderId, Integer clubId) {
|
|
|
|
+ Integer count = cartSellerMapper.getSellerCartCount(serviceProviderId, clubId);
|
|
|
|
+ if (null == count) {
|
|
|
|
+ count = 0;
|
|
|
|
+ }
|
|
|
|
+ return ResponseJson.success(count);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 协销添加购物车
|
|
|
|
+ *
|
|
|
|
+ * @param sellerCartDto {
|
|
|
|
+ * serviceProviderId 协销Id
|
|
|
|
+ * clubId 机构ID
|
|
|
|
+ * type 商品类型:1单一商品,2组合商品
|
|
|
|
+ * productId 单一商品id
|
|
|
|
+ * productNum 单一商品数量
|
|
|
|
+ * productInfo 组合商品信息:Json字符串格式[{"id":4351,"num":1},{}]
|
|
|
|
+ * }
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public ResponseJson<Integer> addShoppingCart(SellerCartDto sellerCartDto) {
|
|
|
|
+ if (1 == sellerCartDto.getType()) {
|
|
|
|
+ // 单一商品
|
|
|
|
+ addSellerCart(sellerCartDto);
|
|
|
|
+ } else if (2 == sellerCartDto.getType()) {
|
|
|
|
+ try {
|
|
|
|
+ JSONArray productArr = JSONArray.parseArray(sellerCartDto.getProductInfo());
|
|
|
|
+ for (Iterator iterator = productArr.iterator(); iterator.hasNext();) {
|
|
|
|
+ JSONObject product = (JSONObject) iterator.next();
|
|
|
|
+ Integer productId = product.getInteger("id");
|
|
|
|
+ Integer productNum = product.getInteger("num");
|
|
|
|
+ sellerCartDto.setProductId(productId);
|
|
|
|
+ sellerCartDto.setProductNum(productNum);
|
|
|
|
+ addSellerCart(sellerCartDto);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("组合商品信息格式错误", e);
|
|
|
|
+ return ResponseJson.error("组合商品信息格式错误!Json字符串格式[{\"id\":4351,\"num\":1},{}]", null);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 返回购物车种类数量
|
|
|
|
+ return getSellerCartCount(sellerCartDto.getServiceProviderId(), sellerCartDto.getClubId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 添加购物车,插入数据库
|
|
|
|
+ * @param sellerCartDto
|
|
|
|
+ */
|
|
|
|
+ private void addSellerCart(SellerCartDto sellerCartDto) {
|
|
|
|
+ SellerCartPo cart = cartSellerMapper.getSellerCart(sellerCartDto);
|
|
|
|
+ if (cart != null) {
|
|
|
|
+ // 购物车已存在该商品,更新数量
|
|
|
|
+ cart.setNum(cart.getNum() + sellerCartDto.getProductNum());
|
|
|
|
+ cart.setAddTime(new Date());
|
|
|
|
+ cartSellerMapper.updateSellerCart(cart);
|
|
|
|
+ } else {
|
|
|
|
+ // 添加新购物车
|
|
|
|
+ cart = new SellerCartPo();
|
|
|
|
+ cart.setServiceProviderId(sellerCartDto.getServiceProviderId());
|
|
|
|
+ cart.setClubId(sellerCartDto.getClubId());
|
|
|
|
+ cart.setProductId(sellerCartDto.getProductId());
|
|
|
|
+ cart.setNum(sellerCartDto.getProductNum());
|
|
|
|
+ cart.setAddTime(new Date());
|
|
|
|
+ cartSellerMapper.insertSellerCart(cart);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 协销更新购物车
|
|
|
|
+ *
|
|
|
|
+ * @param sellerCartDto {
|
|
|
|
+ * id 购物车Id
|
|
|
|
+ * productNum 商品数量
|
|
|
|
+ * }
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public ResponseJson<Integer> updateSellerCart(SellerCartDto sellerCartDto) {
|
|
|
|
+ SellerCartPo cart = cartSellerMapper.getSellerCartById(sellerCartDto.getId());
|
|
|
|
+ if (sellerCartDto.getServiceProviderId() != cart.getServiceProviderId()) {
|
|
|
|
+ return ResponseJson.error("协销Id不正确!",null);
|
|
|
|
+ }
|
|
|
|
+ cart.setNum(cart.getNum() + sellerCartDto.getProductNum());
|
|
|
|
+ cart.setAddTime(new Date());
|
|
|
|
+ cartSellerMapper.updateSellerCart(cart);
|
|
|
|
+ return ResponseJson.success(0);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 协销删除购物车
|
|
|
|
+ *
|
|
|
|
+ * @param sellerCartDto {
|
|
|
|
+ * serviceProviderId 协销Id
|
|
|
|
+ * cartIds 购物车IDs
|
|
|
|
+ * }
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public ResponseJson<Integer> deleteSellerCart(SellerCartDto sellerCartDto) {
|
|
|
|
+ List<Integer> cartIdList = Lists.newArrayList();
|
|
|
|
+ if (sellerCartDto.getCartIds().contains(",")) {
|
|
|
|
+ String[] productArr = sellerCartDto.getCartIds().split(",");
|
|
|
|
+ for (String id : productArr) {
|
|
|
|
+ cartIdList.add(Integer.parseInt(id));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ cartIdList.add(Integer.parseInt(sellerCartDto.getCartIds()));
|
|
|
|
+ }
|
|
|
|
+ cartSellerMapper.deleteSellerCartByIds(sellerCartDto.getServiceProviderId(), cartIdList);
|
|
|
|
+ return ResponseJson.success(0);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|