Forráskód Böngészése

分享购物车将数据存入购物车分享表

liangpeile 1 éve
szülő
commit
23c4b26f7b

+ 61 - 0
crmeb-common/src/main/java/com/zbkj/common/model/cat/CartShare.java

@@ -0,0 +1,61 @@
+package com.zbkj.common.model.cat;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 购物车表
+ * </p>
+ *
+ * @author HZW
+ * @since 2022-07-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("eb_cart_share")
+@ApiModel(value="Cart对象", description="购物车分享表")
+public class CartShare implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    @ApiModelProperty(value = "购物车表ID")
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Integer id;
+
+    @ApiModelProperty(value = "用户ID")
+    private Integer uid;
+
+    @ApiModelProperty(value = "商户Id")
+    private Integer merId;
+
+    @ApiModelProperty(value = "商品ID")
+    private Integer productId;
+
+    @ApiModelProperty(value = "商品规格属性ID")
+    private Integer productAttrUnique;
+
+    @ApiModelProperty(value = "商品数量")
+    private Integer cartNum;
+
+    @ApiModelProperty(value = "购物车状态")
+    private Boolean status;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+
+
+}

+ 32 - 8
crmeb-front/src/main/java/com/zbkj/front/service/impl/AAAServiceImpl.java

@@ -1,11 +1,17 @@
 package com.zbkj.front.service.impl;
 
 
+import com.zbkj.common.model.cat.Cart;
+import com.zbkj.common.model.cat.CartShare;
 import com.zbkj.common.request.GetwxacodeRequest;
 import com.zbkj.common.request.SmsPayRequest;
 import com.zbkj.common.utils.RedisUtil;
 import com.zbkj.front.service.AAAService;
+import com.zbkj.service.service.CartService;
+import com.zbkj.service.service.CartShareService;
 import org.apache.commons.io.IOUtils;
+import org.apache.poi.ss.formula.functions.IDStarAlgorithm;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.fasterxml.jackson.databind.JsonNode;
@@ -26,7 +32,8 @@ import java.net.HttpURLConnection;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.time.Instant;
-
+import java.util.ArrayList;
+import java.util.List;
 
 
 @Service
@@ -34,6 +41,10 @@ public class AAAServiceImpl implements AAAService {
 
     @Autowired
     private RedisUtil redisUtil;
+    @Autowired
+    private CartService cartService;
+    @Autowired
+    private CartShareService cartShareService;
 
     private static final String APP_ID = "wx2198b51c8406aed0";
 
@@ -43,15 +54,28 @@ public class AAAServiceImpl implements AAAService {
     private static Instant accessTokenExpiry;
 
 
-
     @Override
     public String getImage(GetwxacodeRequest getwxacodeRequest) {
         String scene = getwxacodeRequest.getScene();
         String page = getwxacodeRequest.getPath();
         String env_version = getwxacodeRequest.getEnvVersion();
-        String fileNmae = "/crmebimage/public/miniprogrampic/"+System.currentTimeMillis()+".png";
+        String fileNmae = "/crmebimage/public/miniprogrampic/" + System.currentTimeMillis() + ".png";
 //        String fileNmaes = "C:\\Users\\ASUS\\Desktop\\mer_java\\crmebimage\\public\\miniprogrampic\\"+fileNmae;
-        String fileNmaes = "/usr/java/AimagePath"+fileNmae;
+        String fileNmaes = "/usr/java/AimagePath" + fileNmae;
+        //将分享的购物车数据存入新表,以便后期查看数据保证分享数据不发生变化
+        String cartIdString = scene.substring(0, scene.indexOf("&"));
+        String substring = cartIdString.substring(cartIdString.indexOf("=")+1);
+        String[] cartIds = substring.split(",");
+        List<Cart> cartList = cartService.getListByid(cartIds);
+        ArrayList<CartShare> cartShares = new ArrayList<>();
+        for (Cart cart:cartList){
+            CartShare cartShare = new CartShare();
+            BeanUtils.copyProperties(cart,cartShare);
+            cartShares.add(cartShare);
+        }
+        cartShareService.saveBatch(cartShares);
+
+
         File outputFile = new File(fileNmaes);
 
 //        if (!isValidAccessToken()) {
@@ -60,15 +84,15 @@ public class AAAServiceImpl implements AAAService {
 ////                return null;
 ////            }
 ////        }
-        if (!redisUtil.exists( "wxaccessToken" )){
+        if (!redisUtil.exists("wxaccessToken")) {
 //          if (!updateAccessToken()) {
 //                System.err.println("Failed to update access token.");
 //                return null;
 //            }
             updateAccessToken();
-            redisUtil.set( "wxaccessToken",accessToken,6000L );
+            redisUtil.set("wxaccessToken", accessToken, 6000L);
         }
-        String accessToken2 = redisUtil.get( "wxaccessToken" );
+        String accessToken2 = redisUtil.get("wxaccessToken");
         try {
             String urlStr = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken2;
             URL url = new URL(urlStr);
@@ -78,7 +102,7 @@ public class AAAServiceImpl implements AAAService {
             conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
 
             // 构造请求体
-            String jsonRequest ="{\"scene\":\"" + scene + "\",\"env_version\":\"" + env_version + "\", \"page\":\"" + page + "\"}";
+            String jsonRequest = "{\"scene\":\"" + scene + "\",\"env_version\":\"" + env_version + "\", \"page\":\"" + page + "\"}";
 
             OutputStream output = conn.getOutputStream();
             output.write(jsonRequest.getBytes("UTF-8"));

+ 1 - 0
crmeb-front/src/main/resources/application.yml

@@ -45,6 +45,7 @@ spring:
     url: jdbc:mysql://120.79.86.50:3306/crmebjava?characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT+8
     username: root
     password: b610a50f4cc1971e
+#    正式
 #    url: jdbc:mysql://124.221.230.104:3306/guicaijava?characterEncoding=utf-8&useSSL=false&serverTimeZone=GMT+8
 #    username: guicaijava
 #    password: iHyaFXwhCmh5z3YN

+ 4 - 0
crmeb-service/src/main/java/com/zbkj/service/dao/CartDao.java

@@ -3,6 +3,9 @@ package com.zbkj.service.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zbkj.common.model.cat.Cart;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 购物车表 Mapper 接口
@@ -13,4 +16,5 @@ import com.zbkj.common.model.cat.Cart;
  */
 public interface CartDao extends BaseMapper<Cart> {
 
+    List<Cart> getListByid(String[] cartIds);
 }

+ 20 - 0
crmeb-service/src/main/java/com/zbkj/service/dao/CartShareDao.java

@@ -0,0 +1,20 @@
+package com.zbkj.service.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zbkj.common.model.cat.Cart;
+import com.zbkj.common.model.cat.CartShare;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 购物车表 Mapper 接口
+ * </p>
+ *
+ * @author HZW
+ * @since 2022-07-19
+ */
+public interface CartShareDao extends BaseMapper<CartShare> {
+
+
+}

+ 11 - 0
crmeb-service/src/main/java/com/zbkj/service/service/CartService.java

@@ -7,6 +7,7 @@ import com.zbkj.common.request.CartRequest;
 import com.zbkj.common.request.CartResetRequest;
 import com.zbkj.common.response.CartMerchantResponse;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -107,4 +108,14 @@ public interface CartService extends IService<Cart> {
      * @param uid 用户ID
      */
     Boolean deleteByUid(Integer uid);
+
+
+
+    /**
+     * 获取购物车数据通过id
+     * @param cartIds
+     * @return
+     */
+    List<Cart> getListByid(String[] cartIds);
+
 }

+ 22 - 0
crmeb-service/src/main/java/com/zbkj/service/service/CartShareService.java

@@ -0,0 +1,22 @@
+package com.zbkj.service.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zbkj.common.model.cat.Cart;
+import com.zbkj.common.model.cat.CartShare;
+import com.zbkj.common.request.CartNumRequest;
+import com.zbkj.common.request.CartRequest;
+import com.zbkj.common.request.CartResetRequest;
+import com.zbkj.common.response.CartMerchantResponse;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * StoreCartService 接口
+
+ */
+public interface CartShareService extends IService<CartShare> {
+
+
+
+}

+ 5 - 0
crmeb-service/src/main/java/com/zbkj/service/service/impl/CartServiceImpl.java

@@ -494,6 +494,11 @@ public class CartServiceImpl extends ServiceImpl<CartDao, Cart> implements CartS
         return remove(wrapper);
     }
 
+    @Override
+    public List<Cart> getListByid(String[] cartIds) {
+        return dao.getListByid(cartIds);
+    }
+
     private List<Cart> findListByIds(List<Integer> ids) {
         LambdaQueryWrapper<Cart> lqw = Wrappers.lambdaQuery();
         lqw.in(Cart::getId, ids);

+ 52 - 0
crmeb-service/src/main/java/com/zbkj/service/service/impl/CartShareServiceImpl.java

@@ -0,0 +1,52 @@
+package com.zbkj.service.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zbkj.common.constants.DateConstants;
+import com.zbkj.common.constants.ProductConstants;
+import com.zbkj.common.constants.RedisConstants;
+import com.zbkj.common.exception.CrmebException;
+import com.zbkj.common.model.cat.Cart;
+import com.zbkj.common.model.cat.CartShare;
+import com.zbkj.common.model.merchant.Merchant;
+import com.zbkj.common.model.product.Product;
+import com.zbkj.common.model.product.ProductAttrValue;
+import com.zbkj.common.model.user.User;
+import com.zbkj.common.request.CartNumRequest;
+import com.zbkj.common.request.CartRequest;
+import com.zbkj.common.request.CartResetRequest;
+import com.zbkj.common.response.CartInfoResponse;
+import com.zbkj.common.response.CartMerchantResponse;
+import com.zbkj.common.utils.RedisUtil;
+import com.zbkj.service.dao.CartDao;
+import com.zbkj.service.dao.CartShareDao;
+import com.zbkj.service.service.*;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * StoreCartServiceImpl 接口实现
+
+ */
+@Service
+public class CartShareServiceImpl extends ServiceImpl<CartShareDao, CartShare> implements CartShareService {
+
+
+}
+

+ 9 - 0
crmeb-service/src/main/resources/mapper/cat/CartMapper.xml

@@ -2,4 +2,13 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zbkj.service.dao.CartDao">
 
+<select id="getListByid" resultType="com.zbkj.common.model.cat.Cart">
+
+    SELECT * from eb_cart
+    where
+    id in
+    <foreach item="cartId" collection="array" open="(" separator="," close=")">
+        #{cartId}
+    </foreach>
+    </select>
 </mapper>

+ 6 - 0
crmeb-service/src/main/resources/mapper/cat/CartShareMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zbkj.service.dao.CartShareDao">
+
+
+</mapper>