Browse Source

购物车修改

wangxiaoming 7 years ago
parent
commit
5470fb011a

+ 1 - 1
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/cart/CartDto.java

@@ -48,7 +48,7 @@ public class CartDto implements Serializable{
 
 	private Integer cartColorId;//产品颜色id
 
-	private Integer cartIsSource;	//商品来源
+	private Integer cartIsSource;	//商品来源   1:产品颜色表   2:配件表
 
 	private List<SalesUserGift> salesUserGiftList; //赠品集合
 

+ 10 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductFittings.java

@@ -23,6 +23,8 @@ public class ProductFittings implements java.io.Serializable {
     private String fittingsPic;         //介绍图
     private Integer fittingsStatus;     //状态    1:使用中 2:未使用
 
+    private String fittingsDesc;  //简介
+
     private Integer productType;    //产品大类id
 
     private PageBean page = new PageBean();	//分页信息
@@ -132,4 +134,12 @@ public class ProductFittings implements java.io.Serializable {
     public void setPage(PageBean page) {
         this.page = page;
     }
+
+    public String getFittingsDesc() {
+        return fittingsDesc;
+    }
+
+    public void setFittingsDesc(String fittingsDesc) {
+        this.fittingsDesc = fittingsDesc;
+    }
 }

+ 7 - 0
iamberry-wechat-interface/src/main/java/com/iamberry/wechat/face/cart/ProductInfoService.java

@@ -47,6 +47,13 @@ public interface ProductInfoService {
 	ProductColor getProductColor(ProductColor productColor);
 
 	/**
+	 * 获取配件信息
+	 * @param productFittings
+	 * @return
+	 */
+	ProductFittings getProductFittings(ProductFittings productFittings);
+
+	/**
 	 * 获取所有产品类型
 	 * @return
 	 */

+ 17 - 6
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.Date;
 import java.util.List;
 
 import com.iamberry.wechat.core.entity.product.ProductColor;
+import com.iamberry.wechat.core.entity.product.ProductFittings;
 import com.iamberry.wechat.core.entity.product.SalesUserGift;
 import com.iamberry.wechat.tools.ResultInfo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -85,14 +86,24 @@ public class CartServiceImpl implements CartService {
 	@Override
 	public Integer addProductToCart(CartDto cartDto) {
 		// TODO Auto-generated method stub
+
 		//根据颜色id获取商品id
-		ProductColor productColor = new ProductColor();
-		productColor.setColorId(cartDto.getCartColorId());
-		productColor = productInfoService.getProductColor(productColor);
-		if (productColor == null) {
-			return 0;
+		if(cartDto.getCartIsSource() == 1){ //商品来源   1:产品颜色表   2:配件表
+			ProductColor productColor = new ProductColor();
+			productColor.setColorId(cartDto.getCartColorId());
+			productColor = productInfoService.getProductColor(productColor);
+			if (productColor == null) {
+				return 0;
+			}
+			cartDto.setCartProductId(productColor.getColorProductId());
+		}else{
+			ProductFittings productFittings = new ProductFittings();
+			productFittings.setFittingsId(cartDto.getCartColorId());
+			productFittings = productInfoService.getProductFittings(productFittings);
+			if(productFittings == null){
+				return 0;
+			}
 		}
-		cartDto.setCartProductId(productColor.getColorProductId());
 		Integer num = cartDao.addProductToCart(cartDto);
 		if (num > 0) {
 			return cartDto.getCartId();

+ 5 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/ProductInfoServiceImpl.java

@@ -107,6 +107,11 @@ public class ProductInfoServiceImpl implements ProductInfoService {
 	}
 
 	@Override
+	public ProductFittings getProductFittings(ProductFittings productFittings){
+		return productInfoDao.getProductFittings(productFittings);
+	}
+
+	@Override
 	public List<ProductType> selectProductType() {
 		return productInfoDao.selectProductType();
 	}

+ 7 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/ProductInfoDao.java

@@ -43,6 +43,13 @@ public interface ProductInfoDao {
 	ProductColor getProductColor(ProductColor productColor);
 
 	/**
+	 * 获取配件信息
+	 * @param productFittings
+	 * @return
+	 */
+	ProductFittings getProductFittings(ProductFittings productFittings);
+
+	/**
 	 * 获取所有产品类型
 	 * @return
 	 */

+ 5 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/dao/impl/ProductInfoDaoImpl.java

@@ -65,6 +65,11 @@ public class ProductInfoDaoImpl implements ProductInfoDao {
 	}
 
 	@Override
+	public ProductFittings getProductFittings(ProductFittings productFittings){
+		return productInfoMapper.getProductFittings(productFittings);
+	}
+
+	@Override
 	public List<ProductType> selectProductType() {
 		return productInfoMapper.selectProductType();
 	}

+ 7 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/ProductInfoMapper.java

@@ -43,6 +43,13 @@ public interface ProductInfoMapper {
 	ProductColor getProductColor(ProductColor productColor);
 
 	/**
+	 * 获取配件信息
+	 * @param productFittings
+	 * @return
+	 */
+	ProductFittings getProductFittings(ProductFittings productFittings);
+
+	/**
 	 * 获取所有产品类型
 	 * @return
 	 */

+ 7 - 6
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml

@@ -111,7 +111,7 @@ PUBLIC
 		SET 
 			CART_NUM = #{cartNum}
 		WHERE
-			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
+			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId} AND CART_IS_SOURCE = #{cartIsSource}
 	</update>
 	
 	<!-- 根据商品id和openid查询购物车数量 -->
@@ -121,7 +121,7 @@ PUBLIC
 		FROM 
 			TB_IAMBERRY_SHOP_CART 
 		WHERE 
-			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
+			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId} AND CART_IS_SOURCE = #{cartIsSource}
 	</select>
 	
 	<!-- 获取购物车信息看是否有记录该商品信息 -->
@@ -132,20 +132,21 @@ PUBLIC
 		FROM 
 			TB_IAMBERRY_SHOP_CART 
 		WHERE 
-			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
+			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId} AND CART_IS_SOURCE = #{cartIsSource}
 	</select>
 	
 	<!-- 新增购物车数据 -->
 	<insert id="addProductToCart" parameterType="CartDto" useGeneratedKeys="true" keyProperty="cartId">
 		INSERT INTO 
-			TB_IAMBERRY_SHOP_CART(CART_OPENID, CART_PRODUCT_ID,CART_COLOR_ID, CART_NUM,CART_CREATE_DATE)
+			TB_IAMBERRY_SHOP_CART(CART_OPENID, CART_PRODUCT_ID,CART_COLOR_ID, CART_NUM,CART_IS_SOURCE,CART_CREATE_DATE)
 		VALUES 
-			(#{cartOpenId}, #{cartProductId},#{cartColorId}, #{cartNum},NOW())
+			(#{cartOpenId}, #{cartProductId},#{cartColorId}, #{cartNum},#{cartIsSource},NOW())
 	</insert>
 	
 	<!-- 删除购物车物品信息 -->
 	<delete id="deleteCartByCartId" parameterType="CartDto">
-		DELETE FROM TB_IAMBERRY_SHOP_CART WHERE cart_color_id = #{cartColorId} AND CART_OPENID = #{cartOpenId}
+		DELETE FROM TB_IAMBERRY_SHOP_CART
+		WHERE cart_color_id = #{cartColorId} AND CART_OPENID = #{cartOpenId} AND CART_IS_SOURCE = #{cartIsSource}
 	</delete>
 	
 	<!-- 根据openid查看销售订单表数据 -->

+ 32 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -90,6 +90,7 @@
 			t.fittings_bar,
 			t.fittings_pic,
 			t.fittings_status,
+			t.fittings_desc,
 			t.fittings_cretae_time
 		FROM
 			tb_iamberry_product_fittings t
@@ -258,6 +259,37 @@
 			</if>
 		</where>
 	</select>
+
+	<!-- 获取配件信息 -->
+	<select id="getProductFittings" parameterType="ProductFittings" resultType="ProductFittings">
+		SELECT
+			t.fittings_id,
+			t.product_color_id,
+			t.product_type,
+			t.product_child_type,
+			t.fittings_color,
+			t.fittings_name,
+			t.fittings_discount,
+			t.fittings_price,
+			t.fittings_bar,
+			t.fittings_pic,
+			t.fittings_status,
+			t.fittings_cretae_time,
+			ct.child_type_id,
+			ct.child_type_name
+		FROM
+			tb_iamberry_product_fittings t
+		LEFT JOIN tb_iamberry_product_child_type ct ON ct.child_type_id = t.product_child_type
+		<where>
+			<if test="fittingsBar != null and fittingsBar != ''">
+				fittings_bar = #{fittingsBar}
+			</if>
+			<if test="fittingsId != null and fittingsId != ''">
+				fittings_id = #{fittingsId}
+			</if>
+		</where>
+	</select>
+
 	<!-- 查询所有产品类型-->
 	<select id="selectProductType" resultMap="productTypeMap">
 		select * from tb_iamberry_product_type where type_state = 1

+ 7 - 19
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -158,17 +158,17 @@ public class CartHandlers {
 	
 	/**
 	 * 首页添加商品到购物车
-	 * @param productId
 	 * @param cartNum
 	 * @param request
 	 * @return ResultMsg
 	 */
 	@ResponseBody
 	@RequestMapping("/addProductToCart")
-	public ResultMsg addProductToCart(@RequestParam("productId") String productId,
-									  @RequestParam("productColorId") String productColorId,
+	public ResultMsg addProductToCart(@RequestParam("productColorId") String productColorId,
+									  @RequestParam(value = "cartIsSource", required = false, defaultValue = "1") Integer cartIsSource,
 									  @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
 			HttpServletRequest request) throws Exception {
+
 		String openId  = wechatUtils.getUserBySession(request).getUserOpenid();
 		CartDto cartDto = new CartDto();
 		ResultMsg remsg=new ResultMsg();
@@ -177,25 +177,13 @@ public class CartHandlers {
 		if (productColorId != null && !"".equals(productColorId) && !"null".equals(productColorId) && StaticInfo.pattern.matcher(productColorId).find()) {
 			cid = Integer.parseInt(productColorId);
 		} else {
-			if (productColorId == null || "".equals(productColorId)) {
-				remsg.setMessage(ResultInfo.ERRORINFO);
-				remsg.setResultCode(ResultInfo.ERRORCODE);
-				remsg.setStatus(false);	
-				return remsg;
-			}
-			try {
-				String productIdString = StaticInfo.md5.decrypt(productColorId);
-				cid = Integer.parseInt(productIdString);
-			} catch (Exception e) {
-				remsg.setMessage(ResultInfo.ERRORINFO);
-				remsg.setResultCode(ResultInfo.ERRORCODE);
-				remsg.setStatus(false);	
-				return remsg;
-			}
+			remsg.setMessage(ResultInfo.ERRORINFO);
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
 			return remsg;
 		}
-		
 		cartDto.setCartOpenId(openId);
+		cartDto.setCartIsSource(cartIsSource);  	//商品来源   1:产品颜色表   2:配件表
 		cartDto.setCartColorId(cid);
 		//根据颜色id和商品id查询购物车中是否存在
 		CartDto cart = cartService.getCartByCartProductId(cartDto);