浏览代码

iamberry功能修改

liujiankang 7 年之前
父节点
当前提交
b13c2d26a9

+ 11 - 0
iamberry-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductType.java

@@ -2,6 +2,7 @@ package com.iamberry.wechat.core.entity.product;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @company	深圳爱贝源科技有限公司
@@ -27,6 +28,8 @@ public class ProductType implements Serializable {
 	
 	private Integer typeState;							// 状态 默认 1:使用中 2:停用 3:删除
 
+	private List<ProductChildType> childTypeList;		//子类型集合
+
 	public Integer getTypeId() {
 		return typeId;
 	}
@@ -74,4 +77,12 @@ public class ProductType implements Serializable {
 	public void setTypeState(Integer typeState) {
 		this.typeState = typeState;
 	}
+
+	public List<ProductChildType> getChildTypeList() {
+		return childTypeList;
+	}
+
+	public void setChildTypeList(List<ProductChildType> childTypeList) {
+		this.childTypeList = childTypeList;
+	}
 }

+ 10 - 0
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/cart/CartServiceImpl.java

@@ -3,7 +3,9 @@ package com.iamberry.wechat.service.cart;
 import java.util.Date;
 import java.util.List;
 
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.SalesUserGift;
+import com.iamberry.wechat.tools.ResultInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -83,6 +85,14 @@ 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;
+		}
+		cartDto.setCartProductId(productColor.getColorProductId());
 		Integer num = cartDao.addProductToCart(cartDto);
 		if (num > 0) {
 			return cartDto.getCartId();

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

@@ -62,7 +62,7 @@ PUBLIC
 		FROM
 			tb_iamberry_sales_user_gift ug
 		LEFT JOIN tb_iamberry_product_color pc on pc.color_id = ug.user_gift_color
-		LEFT JOIN tb_iamberry_product_info pi on pi.product_id = pc.user_gift_id
+		LEFT JOIN tb_iamberry_product_info pi on pi.product_id = ug.user_gift_id
 		WHERE
 		ug.user_color_id = #{cartColorId}
 	</select>
@@ -84,7 +84,7 @@ PUBLIC
 		SET 
 			CART_NUM = #{cartNum}
 		WHERE
-			CART_OPENID = #{cartOpenId} AND CART_PRODUCT_ID = #{cartProductId}
+			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
 	</update>
 	
 	<!-- 根据商品id和openid查询购物车数量 -->
@@ -94,7 +94,7 @@ PUBLIC
 		FROM 
 			TB_IAMBERRY_SHOP_CART 
 		WHERE 
-			CART_OPENID = #{cartOpenId} AND CART_PRODUCT_ID = #{cartProductId}
+			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
 	</select>
 	
 	<!-- 获取购物车信息看是否有记录该商品信息 -->
@@ -105,20 +105,20 @@ PUBLIC
 		FROM 
 			TB_IAMBERRY_SHOP_CART 
 		WHERE 
-			CART_OPENID = #{cartOpenId} AND CART_PRODUCT_ID = #{cartProductId}
+			CART_OPENID = #{cartOpenId} AND CART_COLOR_ID = #{cartColorId}
 	</select>
 	
 	<!-- 新增购物车数据 -->
 	<insert id="addProductToCart" parameterType="CartDto" useGeneratedKeys="true" keyProperty="cartId">
 		INSERT INTO 
-			TB_IAMBERRY_SHOP_CART(CART_OPENID, CART_PRODUCT_ID, CART_NUM,CART_CREATE_DATE) 
+			TB_IAMBERRY_SHOP_CART(CART_OPENID, CART_PRODUCT_ID,CART_COLOR_ID, CART_NUM,CART_CREATE_DATE)
 		VALUES 
-			(#{cartOpenId}, #{cartProductId}, #{cartNum},NOW()) 
+			(#{cartOpenId}, #{cartProductId},#{cartColorId}, #{cartNum},NOW())
 	</insert>
 	
 	<!-- 删除购物车物品信息 -->
 	<delete id="deleteCartByCartId" parameterType="CartDto">
-		DELETE FROM TB_IAMBERRY_SHOP_CART WHERE CART_PRODUCT_ID = #{cartProductId} AND CART_OPENID = #{cartOpenId}
+		DELETE FROM TB_IAMBERRY_SHOP_CART WHERE cart_color_id = #{cartColorId} AND CART_OPENID = #{cartOpenId}
 	</delete>
 	
 	<!-- 根据openid查看销售订单表数据 -->

+ 53 - 35
iamberry-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -54,7 +54,9 @@
 		PRODUCT_CREATE_DATE,
 		PRODUCT_SORT_NUM,
 		PRODUCT_COLOR_DES,
-		PRODUCT_REMARK
+		PRODUCT_REMARK,
+		PRODUCT_CHOICENESS,
+		product_choiceness_im
 		FROM 
 			TB_IAMBERRY_PRODUCT_INFO
 		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR on TB_IAMBERRY_PRODUCT_INFO.product_id = TB_IAMBERRY_PRODUCT_COLOR.color_product_id
@@ -135,23 +137,24 @@
 	</select>
 	
 	<!-- 根据productId查询商品信息 -->
-	<select id="getProductByProductId" parameterType="java.lang.Integer" resultType="Product">
+	<select id="getProductByProductId" parameterType="java.lang.Integer" resultMap="productMap">
 		SELECT 
-			PRODUCT_ID productId,
-			PRODUCT_NAME productName,
-			PRODUCT_ABBREVIATION productAbbreviation,
-			color_discount productDiscount,
-			color_price productPrice,
-			PRODUCT_SALESNUM productSalesnum,
-			PRODUCT_ACCESSNUM productAccessnum,
-			PRODUCT_STATUS productStatus,
-			color_product_pic productIntroduceImg,
-			PRODUCT_PARAMETER_IMG productParameterImg,
-			PRODUCT_CREATE_DATE productCreateDate,
-			PRODUCT_SORT_NUM productSortNum,
-			PRODUCT_COLOR_DES productColorDes,
-			PRODUCT_REMARK productRemark,
-			color_name productColor
+			PRODUCT_ID,
+			PRODUCT_NAME,
+			PRODUCT_ABBREVIATION,
+			PRODUCT_DISCOUNT,
+			PRODUCT_PRICE,
+			PRODUCT_SALESNUM,
+			PRODUCT_ACCESSNUM,
+			PRODUCT_STATUS,
+			PRODUCT_INTRODUCE_IMG,
+			PRODUCT_PARAMETER_IMG,
+			PRODUCT_CREATE_DATE,
+			PRODUCT_SORT_NUM,
+			PRODUCT_COLOR_DES,
+			PRODUCT_REMARK,
+			PRODUCT_CHOICENESS,
+			product_choiceness_im
 		FROM 
 			TB_IAMBERRY_PRODUCT_INFO
 		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR
@@ -161,23 +164,24 @@
 	</select>
 	
 	<!-- 根据商品名称查询商品信息 -->
-	<select id="getProductByProductName" parameterType="java.lang.String" resultType="Product">
+	<select id="getProductByProductName" parameterType="java.lang.String" resultMap="productMap">
 		SELECT
-			PRODUCT_ID productId,
-			PRODUCT_NAME productName,
-			PRODUCT_ABBREVIATION productAbbreviation,
-			color_discount productDiscount,
-			color_price productPrice,
-			PRODUCT_SALESNUM productSalesnum,
-			PRODUCT_ACCESSNUM productAccessnum,
-			PRODUCT_STATUS productStatus,
-			color_product_pic productIntroduceImg,
-			PRODUCT_PARAMETER_IMG productParameterImg,
-			PRODUCT_CREATE_DATE productCreateDate,
-			PRODUCT_SORT_NUM productSortNum,
-			PRODUCT_COLOR_DES productColorDes,
-			PRODUCT_REMARK productRemark,
-			color_name productColor
+			PRODUCT_ID,
+			PRODUCT_NAME,
+			PRODUCT_ABBREVIATION,
+			PRODUCT_DISCOUNT,
+			PRODUCT_PRICE,
+			PRODUCT_SALESNUM,
+			PRODUCT_ACCESSNUM,
+			PRODUCT_STATUS,
+			PRODUCT_INTRODUCE_IMG,
+			PRODUCT_PARAMETER_IMG,
+			PRODUCT_CREATE_DATE,
+			PRODUCT_SORT_NUM,
+			PRODUCT_COLOR_DES,
+			PRODUCT_REMARK,
+			PRODUCT_CHOICENESS,
+			product_choiceness_im
 		FROM 
 			TB_IAMBERRY_PRODUCT_INFO
 			LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR
@@ -216,13 +220,27 @@
 			<if test="color69Code != null and color69Code != ''">
 				color_69code = #{color69Code}
 			</if>
+			<if test="colorId != null and colorId != ''">
+				color_id = #{colorId}
+			</if>
 		</where>
 	</select>
 	<!-- 查询所有产品类型-->
-	<select id="selectProductType" resultType="ProductType">
+	<select id="selectProductType" resultMap="productTypeMap">
 		select * from tb_iamberry_product_type where type_state = 1
 	</select>
-
+	<resultMap id="productTypeMap" type="ProductType">
+		<id column="type_id" property="typeId"/>
+		<result column="type_name" property="typeName"/>
+		<result column="type_detilas" property="typeDetilas"/>
+		<result column="type_create_date" property="typeCreateDate"/>
+		<result column="type_update_date" property="typeUpdateDate"/>
+		<result column="type_state" property="typeState"/>
+		<collection property="childTypeList" column="type_id" ofType="ProductChildType" select="listChildType"/>
+	</resultMap>
+	<select id="listChildType" parameterType="Integer" resultType="ProductChildType">
+		select * from tb_iamberry_product_child_type where type_id = #{typeId} and child_type_state = 1
+	</select>
 	<!--查询精选产品-->
 	<select id="selectIndexChoicenessProduct" resultMap="productMap" parameterType="Integer">
 			SELECT

+ 28 - 18
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -162,26 +162,27 @@ public class CartHandlers {
 	 */
 	@ResponseBody
 	@RequestMapping("/addProductToCart")
-	public ResultMsg addProductToCart(@RequestParam("productId") String productId, 
-			@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
+	public ResultMsg addProductToCart(@RequestParam("productId") String productId,
+									  @RequestParam("productColorId") String productColorId,
+									  @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();
 		
-		Integer pid = 0;
-		if (productId != null && !"".equals(productId) && !"null".equals(productId) && StaticInfo.pattern.matcher(productId).find()) {
-			pid = Integer.parseInt(productId);
+		Integer cid = 0;
+		if (productColorId != null && !"".equals(productColorId) && !"null".equals(productColorId) && StaticInfo.pattern.matcher(productColorId).find()) {
+			cid = Integer.parseInt(productColorId);
 		} else {
-			if (productId == null || "".equals(productId)) {
+			if (productColorId == null || "".equals(productColorId)) {
 				remsg.setMessage(ResultInfo.ERRORINFO);
 				remsg.setResultCode(ResultInfo.ERRORCODE);
 				remsg.setStatus(false);	
 				return remsg;
 			}
 			try {
-				String productIdString = StaticInfo.md5.decrypt(productId);
-				pid = Integer.parseInt(productIdString);
+				String productIdString = StaticInfo.md5.decrypt(productColorId);
+				cid = Integer.parseInt(productIdString);
 			} catch (Exception e) {
 				remsg.setMessage(ResultInfo.ERRORINFO);
 				remsg.setResultCode(ResultInfo.ERRORCODE);
@@ -192,8 +193,8 @@ public class CartHandlers {
 		}
 		
 		cartDto.setCartOpenId(openId);
-		cartDto.setCartProductId(pid);
-		//根据用户id和商品id查询购物车中是否存在
+		cartDto.setCartColorId(cid);
+		//根据颜色id和商品id查询购物车中是否存在
 		CartDto cart = cartService.getCartByCartProductId(cartDto);
 		if (null != cart) {
 			cartDto.setCartNum(cartNum + cart.getCartNum());
@@ -238,12 +239,22 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping(value = "/addCart",method = RequestMethod.GET)
 	public ResultMsg  addCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
+							  @RequestParam("productColorId") String productColorId,
 			@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
 		String openId  = wechatUtils.getUserBySession(request).getUserOpenid();
 		ResultMsg remsg=new ResultMsg();
+		Integer cid = 0;
+		if (productColorId != null && !"".equals(productColorId) && !"null".equals(productColorId) && StaticInfo.pattern.matcher(productColorId).find()) {
+			cid = Integer.parseInt(productColorId);
+		}else{
+			remsg.setMessage(ResultInfo.ERRORINFO);
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			return remsg;
+		}
 		CartDto cartDto = new CartDto();
 		cartDto.setCartOpenId(openId);
-		cartDto.setCartProductId(productId);
+		cartDto.setCartColorId(cid);
 		Integer productNum = cartService.getCartNumByOpenId(cartDto);
 		cartDto.setCartNum(productNum + cartNum);
 		Integer num = cartService.updateCartByOpenId(cartDto);
@@ -262,27 +273,27 @@ public class CartHandlers {
 	/**
 	 * 	点击减号按钮删除商品
 	 * @param request
-	 * @param productId
+	 * @param productColorId
 	 * @param cartNum
 	 * @return	ResultMsg
 	 * @throws Exception
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/deleteCart",method = RequestMethod.GET)
-	public ResultMsg  deleteCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
+	public ResultMsg  deleteCart(HttpServletRequest request,@RequestParam("productColorId") Integer productColorId,
 			@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
 		String openId  = wechatUtils.getUserBySession(request).getUserOpenid();
 		ResultMsg remsg=new ResultMsg();
 		CartDto cartDto = new CartDto();
 		cartDto.setCartOpenId(openId);
-		cartDto.setCartProductId(productId);
+		cartDto.setCartColorId(productColorId);
 		Integer productNum = cartService.getCartNumByOpenId(cartDto);
 		Integer num = 0;
 		if (productNum > 1) {
 			cartDto.setCartNum(productNum - cartNum);
 			num = cartService.updateCartByOpenId(cartDto);
 		} else {
-			this.deleteCartByProductId(request,productId);
+			this.deleteCartByProductId(request,productColorId);
 		}
 		if (num > 0) {
 			remsg.setMessage(ResultInfo.SUCCESSINFO);
@@ -299,17 +310,16 @@ public class CartHandlers {
 	/**
 	 * 点击垃圾桶按钮删除购物车物品信息
 	 * @param request
-	 * @param cartId
 	 * @return ResultMsg
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/deleteCartByProductId",method = RequestMethod.GET)
-	public ResultMsg deleteCartByProductId(HttpServletRequest request,@RequestParam("productId") Integer productId) throws Exception{
+	public ResultMsg deleteCartByProductId(HttpServletRequest request,@RequestParam("productColorId") Integer productColorId) throws Exception{
 		String openId  = wechatUtils.getUserBySession(request).getUserOpenid();
 		CartDto cartDto = new CartDto();
 		ResultMsg remsg=new ResultMsg();
 		cartDto.setCartOpenId(openId);
-		cartDto.setCartProductId(productId);
+		cartDto.setCartColorId(productColorId);
 		if (cartService.deleteCartByCartId(cartDto) >= 1) {
 			remsg.setMessage(ResultInfo.SUCCESSINFO);
 			remsg.setResultCode(ResultInfo.SUCCESSCODE);

+ 5 - 0
iamberry-wechat-web/src/main/java/com/iamberry/wechat/handles/home/HomeHandler.java

@@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.product.ProductChildType;
+import com.iamberry.wechat.core.entity.product.ProductType;
 import com.iamberry.wechat.tools.WeixinUtil;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -112,6 +113,10 @@ public class HomeHandler {
 				}
 			}
 		}
+
+		//查询所有产品类型
+		List<ProductType> productTypeList = productInfoService.selectProductType();
+		returnMap.put("productTypeList", productTypeList);					//所有产品类型及子类型集合
 		returnMap.put("advs", advs);
 		returnMap.put("banners", banners);
 		returnMap.put("selectProductTopper", selectProductTopper);

+ 19 - 19
iamberry-wechat-web/src/main/webapp/common/shop/js/page/shopping_cart.js

@@ -29,25 +29,25 @@ mui.ready(function(){
 	// 结算
 	mui('body').on('tap', '#go-clearing',function() {
 		var str = $("#go-clearing").html();
-		mui.alert("有商品暂时缺货,不能购买");
-		return false;
-//		if ("去结算(0)" != str) {
-//
-//			// 获取数据
-//			var input = $(".mui-input-numbox");
-//			var carts = "";
-//			for (var i = 0; i < input.length; i++) {
-//				var id = $(input[i]).attr("id");
-//				id = id + "btn";
-//				if ($("#"+id)[0].checked == true) {
-//					carts += $(input[i]).attr("id").replace("cartIdInput", "-");
-//				}
-//			}
-//			carts = carts.substring(1, carts.length);
-//			window.location.href='/iamberry/pay/settlement?cartId=' + carts + '&tiemstamp=' + new Date().getTime();
-//		} else {
-//			alert("请选择您要结算的产品~");
-//		}
+		//mui.alert("有商品暂时缺货,不能购买");
+		//return false;
+		if ("去结算(0)" != str) {
+
+			// 获取数据
+			var input = $(".mui-input-numbox");
+			var carts = "";
+			for (var i = 0; i < input.length; i++) {
+				var id = $(input[i]).attr("id");
+				id = id + "btn";
+				if ($("#"+id)[0].checked == true) {
+					carts += $(input[i]).attr("id").replace("cartIdInput", "-");
+				}
+			}
+			carts = carts.substring(1, carts.length);
+			window.location.href='/iamberry/pay/settlement?cartId=' + carts + '&tiemstamp=' + new Date().getTime();
+		} else {
+			alert("请选择您要结算的产品~");
+		}
 	});
 	// 其他按钮
 	mui('body').on('click', '.mt-mr-che', function() {