Browse Source

修改了上海wateroPF扫描优惠价价格和赠品

liuzhiwei 7 years ago
parent
commit
41b8bc78ed

+ 12 - 12
wateroPF-common-core/src/main/java/com/iamberry/wechat/core/entity/product/QrcodeGift.java

@@ -11,29 +11,29 @@ public class QrcodeGift implements java.io.Serializable {
 
     private static final long serialVersionUID = -4719516119557478524L;
 
-    private Integer qrcodeId;
+    private Integer qrcodeId;           //id
 
-    private Integer qrcodeColorId;
+    private Integer qrcodeColorId;      //商品颜色id
 
-    private String qrcodeName;
+    private String qrcodeName;          //商品名称
 
-    private String qrcodeColorName;
+    private String qrcodeColorName;     //商品颜色名称
 
-    private String qrcodePreGiftColor;
+    private String qrcodePreGiftColor;  //优惠二维码礼品颜色id
 
-    private String qrcodeSalesGiftColor;
+    private String qrcodeSalesGiftColor;//购买二维码礼品颜色id
 
-    private Integer qrcodePreDiscount;
+    private Integer qrcodePreDiscount;  //优惠二维码优惠价
 
-    private Integer qrcodeSalesDiscount;
+    private Integer qrcodeSalesDiscount;//购买二维码优惠价
 
-    private Integer qrcodeStatus;
+    private Integer qrcodeStatus;       //状态
 
-    private String qrcodeDesc;
+    private String qrcodeDesc;          //描述
 
-    private Date qrcodeCreateTime;
+    private Date qrcodeCreateTime;      //创建时间
 
-    private PageBean page;
+    private PageBean page;              //分页
 
     public PageBean getPage() {
         return page;

+ 180 - 180
wateroPF-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -9,7 +9,7 @@
 		PRODUCT_SORT_NUM productSortNum, PRODUCT_COLOR_DES productColorDes, PRODUCT_REMARK productRemark,
 		PRODUCT_TYPE "productType.typeId", PRODUCT_RENT_TYPE productRentType 
 	</sql>
-	
+
 	<sql id="userGift">
 		USER_ID userId,
 		USER_PRODUCT_ID userProductId,
@@ -22,7 +22,7 @@
 		USER_STATUS userStatus,
 		USER_CREATE_TIME userCreateTime 
 	</sql>
-	
+
 	<sql id="color">
 		COLOR_ID colorId,
 		COLOR_PRODUCT_ID colorProductId,
@@ -31,90 +31,90 @@
 		COLOR_PRICE colorPrice,
 		COLOR_69CODE color69Code 
 	</sql>
-	
+
 	<!-- 分页查询商品信息 -->
 	<select id="selectPageProduct" parameterType="Product" resultType="Product">
-		SELECT 
-			<include refid="product" />,
-			COLOR_DISCOUNT productDiscount,
-			COLOR_PRICE productPrice, 
-			COLOR_NAME productColor, 
-			COLOR_ID colorId  
-		FROM 
-			TB_IAMBERRY_PRODUCT_INFO 
-		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR ON PRODUCT_ID = COLOR_PRODUCT_ID 
-		WHERE 
-			PRODUCT_STATUS = 1 
-			<if test="productName != null and productName != ''">
-				AND PRODUCT_NAME like CONCAT('%',#{productName},'%') 
-			</if>
-			<if test="productType.typeId != null and productType.typeId != 2">
-				AND PRODUCT_TYPE = #{productType.typeId} 
-			</if>
-			<if test="productType.typeId != null and productType.typeId == 2">
-				AND PRODUCT_TYPE in (2,6,7,8,9,10) 
-			</if>
-			<if test="productRentType != null and productRentType != ''">
-				AND PRODUCT_RENT_TYPE = #{productRentType} 
-			</if>
-			ORDER BY PRODUCT_CREATE_DATE DESC 
-			<if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
-		     	LIMIT ${page.recordBegin},${page.pageSize}
-		    </if>
+		SELECT
+		<include refid="product" />,
+		COLOR_DISCOUNT productDiscount,
+		COLOR_PRICE productPrice,
+		COLOR_NAME productColor,
+		COLOR_ID colorId
+		FROM
+		TB_IAMBERRY_PRODUCT_INFO
+		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR ON PRODUCT_ID = COLOR_PRODUCT_ID
+		WHERE
+		PRODUCT_STATUS = 1
+		<if test="productName != null and productName != ''">
+			AND PRODUCT_NAME like CONCAT('%',#{productName},'%')
+		</if>
+		<if test="productType.typeId != null and productType.typeId != 2">
+			AND PRODUCT_TYPE = #{productType.typeId}
+		</if>
+		<if test="productType.typeId != null and productType.typeId == 2">
+			AND PRODUCT_TYPE in (2,6,7,8,9,10)
+		</if>
+		<if test="productRentType != null and productRentType != ''">
+			AND PRODUCT_RENT_TYPE = #{productRentType}
+		</if>
+		ORDER BY PRODUCT_CREATE_DATE DESC
+		<if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
+			LIMIT ${page.recordBegin},${page.pageSize}
+		</if>
 	</select>
-	
+
 	<!-- 根据条件查询产品集合 -->
 	<select id="listSelectProduct" parameterType="Product" resultType="Product">
-		SELECT 
-			<include refid="product" />,
-			COLOR_DISCOUNT productDiscount,
-			COLOR_PRICE productPrice, 
-			COLOR_NAME productColor, 
-			COLOR_ID colorId  
-		FROM 
-			TB_IAMBERRY_PRODUCT_INFO 
-		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR ON PRODUCT_ID = COLOR_PRODUCT_ID 
+		SELECT
+		<include refid="product" />,
+		COLOR_DISCOUNT productDiscount,
+		COLOR_PRICE productPrice,
+		COLOR_NAME productColor,
+		COLOR_ID colorId
+		FROM
+		TB_IAMBERRY_PRODUCT_INFO
+		LEFT JOIN TB_IAMBERRY_PRODUCT_COLOR ON PRODUCT_ID = COLOR_PRODUCT_ID
 		<where>
 			<if test="productStatus != null and productStatus != ''">
-				PRODUCT_STATUS = #{productStatus} 
+				PRODUCT_STATUS = #{productStatus}
 			</if>
 			<if test="productRentType != null and productRentType != ''">
-				AND PRODUCT_RENT_TYPE = #{productRentType} 
+				AND PRODUCT_RENT_TYPE = #{productRentType}
 			</if>
 		</where>
 	</select>
-	
+
 	<select id="selectColorList" parameterType="Integer" resultType="ProductColor">
-		SELECT 
-			<include refid="color" />
-		FROM 
-			TB_IAMBERRY_PRODUCT_COLOR 
-		WHERE 
-			COLOR_PRODUCT_ID = #{colorProductId} 
+		SELECT
+		<include refid="color" />
+		FROM
+		TB_IAMBERRY_PRODUCT_COLOR
+		WHERE
+		COLOR_PRODUCT_ID = #{colorProductId}
 		ORDER BY COLOR_DISCOUNT ASC
 	</select>
-	
+
 	<select id="selectProductCount" resultType="Integer" parameterType="Product">
-		SELECT 
-			COUNT(PRODUCT_ID) 
-		FROM 
-			TB_IAMBERRY_PRODUCT_INFO 
-		WHERE 
-			PRODUCT_STATUS = 1 
-			<if test="productName != null and productName != ''">
-				AND PRODUCT_NAME LIKE CONCAT('%',#{productName},'%') 
-			</if>
-			<if test="productType.typeId != null and productType.typeId != 2">
-				AND PRODUCT_TYPE = #{productType.typeId} 
-			</if>
-			<if test="productType.typeId != null and productType.typeId == 2">
-				AND PRODUCT_TYPE in (2,6,7,8,9,10) 
-			</if>
-			<if test="productRentType != null and productRentType != ''">
-				AND PRODUCT_RENT_TYPE = #{productRentType} 
-			</if>
+		SELECT
+		COUNT(PRODUCT_ID)
+		FROM
+		TB_IAMBERRY_PRODUCT_INFO
+		WHERE
+		PRODUCT_STATUS = 1
+		<if test="productName != null and productName != ''">
+			AND PRODUCT_NAME LIKE CONCAT('%',#{productName},'%')
+		</if>
+		<if test="productType.typeId != null and productType.typeId != 2">
+			AND PRODUCT_TYPE = #{productType.typeId}
+		</if>
+		<if test="productType.typeId != null and productType.typeId == 2">
+			AND PRODUCT_TYPE in (2,6,7,8,9,10)
+		</if>
+		<if test="productRentType != null and productRentType != ''">
+			AND PRODUCT_RENT_TYPE = #{productRentType}
+		</if>
 	</select>
-	
+
 	<!-- 查询首页产品 -->
 	<select id="selectIndexPageProduct" resultType="Product">
 		SELECT 
@@ -137,7 +137,7 @@
 		LIMIT 
 			0,10
 	</select>
-	
+
 	<!-- 根据productId查询商品信息 -->
 	<select id="getProductByProductId" parameterType="java.lang.Integer" resultType="Product">
 		SELECT 
@@ -162,108 +162,108 @@
 		AND 
 			COLOR_ID = #{1} 
 	</select>
-	
+
 	<!-- 根据商品名称查询商品信息 -->
 	<select id="getProductByProductName" parameterType="java.lang.String" resultType="Product">
-		SELECT 
-			<include refid="product"/>
-		FROM 
-			TB_IAMBERRY_PRODUCT_INFO 
+		SELECT
+		<include refid="product"/>
+		FROM
+		TB_IAMBERRY_PRODUCT_INFO
 		<where>
 			<if test="_parameter != null">
-				PRODUCT_NAME like #{productName} 
+				PRODUCT_NAME like #{productName}
 			</if>
 		</where>
 		ORDER BY PRODUCT_ID DESC
 	</select>
-	
+
 	<update id="updateProductNumList" parameterType="java.util.List">
 		<foreach collection="list" item="item" index="index" separator=";" open="" close="">
-		UPDATE 
-			TB_IAMBERRY_PRODUCT_INFO 
-		SET 
-			PRODUCT_SALESNUM = (PRODUCT_SALESNUM + #{item.itemNum,jdbcType=INTEGER}) 
-		WHERE 
+			UPDATE
+			TB_IAMBERRY_PRODUCT_INFO
+			SET
+			PRODUCT_SALESNUM = (PRODUCT_SALESNUM + #{item.itemNum,jdbcType=INTEGER})
+			WHERE
 			PRODUCT_ID = #{item.itemProductId,jdbcType=INTEGER}
-			</foreach>
+		</foreach>
 	</update>
-	
+
 	<!-- 根据商品id查询礼品信息 -->
 	<select id="selectUserGift" parameterType="UserGiftDto" resultType="UserGiftDto">
-		SELECT 
-			<include refid="userGift"/> 
-		FROM 
-			TB_IAMBERRY_SALES_USER_GIFT
-		WHERE 
-			USER_STATUS = 1 
+		SELECT
+		<include refid="userGift"/>
+		FROM
+		TB_IAMBERRY_SALES_USER_GIFT
+		WHERE
+		USER_STATUS = 1
 		<if test="userProductId != null and userProductId != ''">
-			AND USER_PRODUCT_ID = #{userProductId} 
+			AND USER_PRODUCT_ID = #{userProductId}
 		</if>
 		<if test="userColorId != null and userColorId != ''">
-			AND USER_COLOR_ID = #{userColorId} 
+			AND USER_COLOR_ID = #{userColorId}
 		</if>
 		<if test="userLevel != null and userLevel != ''">
 			AND USER_LEVEL = #{userLevel}
 		</if>
 	</select>
-	
+
 	<!-- 查询租赁产品信息 -->
 	<select id="getLeaseProduct" parameterType="java.lang.Integer" resultType="Product">
-		SELECT 
-			<include refid="product" />
-		FROM 
-			TB_IAMBERRY_PRODUCT_INFO 
-		WHERE 
-			PRODUCT_ID = #{productId}
-			and
-			PRODUCT_RENT_TYPE = 2
+		SELECT
+		<include refid="product" />
+		FROM
+		TB_IAMBERRY_PRODUCT_INFO
+		WHERE
+		PRODUCT_ID = #{productId}
+		and
+		PRODUCT_RENT_TYPE = 2
 	</select>
 
-    <!-- 获取优惠二维码赠送礼品信息 -->
-    <select id="listQrcodeGift" parameterType="QrcodeGift" resultType="QrcodeGift">
-        SELECT
-         *
-        FROM
-          TB_IAMBERRY_QRCODE_GIFT
-        <where>
-            <if test="qrcodeStatus != null and qrcodeStatus != ''">
-                QRCODE_STATUS = #{qrcodeStatus}
-            </if>
-            <if test="qrcodeId != null and qrcodeId != ''">
-                AND QRCODE_ID = #{qrcodeId}
-            </if>
-            <if test="qrcodeColorId != null and qrcodeColorId != ''">
-                AND QRCODE_COLOR_ID = #{qrcodeColorId}
-            </if>
-        </where>
-        ORDER BY QRCODE_CREATE_TIME DESC
-        <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
-            LIMIT ${page.recordBegin},${page.pageSize}
-        </if>
-    </select>
+	<!-- 获取优惠二维码赠送礼品信息 -->
+	<select id="listQrcodeGift" parameterType="QrcodeGift" resultType="QrcodeGift">
+		SELECT
+		*
+		FROM
+		TB_IAMBERRY_QRCODE_GIFT
+		<where>
+			<if test="qrcodeStatus != null and qrcodeStatus != ''">
+				QRCODE_STATUS = #{qrcodeStatus}
+			</if>
+			<if test="qrcodeId != null and qrcodeId != ''">
+				AND QRCODE_ID = #{qrcodeId}
+			</if>
+			<if test="qrcodeColorId != null and qrcodeColorId != ''">
+				AND QRCODE_COLOR_ID = #{qrcodeColorId}
+			</if>
+		</where>
+		ORDER BY QRCODE_CREATE_TIME DESC
+		<if test="page!=null and page.pageSize>0 ">
+			LIMIT ${page.recordBegin},${page.pageSize}
+		</if>
+	</select>
 
-    <!-- 获取优惠二维码赠送礼品信息数量 -->
-    <select id="listQrcodeGiftCount" parameterType="QrcodeGift" resultType="Integer">
-        SELECT
-         count(QRCODE_ID)
-        FROM
-          TB_IAMBERRY_QRCODE_GIFT
-        <where>
-            <if test="qrcodeStatus != null and qrcodeStatus != ''">
-                QRCODE_STATUS = #{qrcodeStatus}
-            </if>
-            <if test="qrcodeId != null and qrcodeId != ''">
-                AND QRCODE_ID = #{qrcodeId}
-            </if>
-            <if test="qrcodeColorId != null and qrcodeColorId != ''">
-                AND QRCODE_COLOR_ID = #{qrcodeColorId}
-            </if>
-        </where>
-        ORDER BY QRCODE_CREATE_TIME DESC
-    </select>
+	<!-- 获取优惠二维码赠送礼品信息数量 -->
+	<select id="listQrcodeGiftCount" parameterType="QrcodeGift" resultType="Integer">
+		SELECT
+		count(QRCODE_ID)
+		FROM
+		TB_IAMBERRY_QRCODE_GIFT
+		<where>
+			<if test="qrcodeStatus != null and qrcodeStatus != ''">
+				QRCODE_STATUS = #{qrcodeStatus}
+			</if>
+			<if test="qrcodeId != null and qrcodeId != ''">
+				AND QRCODE_ID = #{qrcodeId}
+			</if>
+			<if test="qrcodeColorId != null and qrcodeColorId != ''">
+				AND QRCODE_COLOR_ID = #{qrcodeColorId}
+			</if>
+		</where>
+		ORDER BY QRCODE_CREATE_TIME DESC
+	</select>
 
-    <!-- 添加优惠二维码赠送礼品信息 -->
-    <insert id="addQrcodeGift" parameterType="QrcodeGift" useGeneratedKeys="true" keyProperty="qrcodeId">
+	<!-- 添加优惠二维码赠送礼品信息 -->
+	<insert id="addQrcodeGift" parameterType="QrcodeGift" useGeneratedKeys="true" keyProperty="qrcodeId">
         insert into tb_iamberry_qrcode_gift
         (
             qrcode_color_id,qrcode_name,qrcode_color_name,qrcode_pre_gift_color,
@@ -278,44 +278,44 @@
         )
     </insert>
 
-    <!-- 修改优惠二维码赠品表信息 -->
-    <update id="updateQrcodeGift" parameterType="QrcodeGift">
-      update
-        tb_iamberry_qrcode_gift
-        <set>
-                qrcode_color_id = #{qrcodeColorId},
-                qrcode_name = #{qrcodeName},
-                qrcode_color_name = #{qrcodeColorName},
-                qrcode_pre_gift_color = #{qrcodePreGiftColor},
-                qrcode_sales_gift_color = #{qrcodeSalesGiftColor},
-                qrcode_pre_discount = #{qrcodePreDiscount},
-                qrcode_sales_discount = #{qrcodeSalesDiscount},
-            <if test="qrcodeStatus != null and qrcodeStatus != ''">
-                qrcode_status = #{qrcodeStatus},
-            </if>
-                qrcode_desc = #{qrcodeDesc}
-        </set>
-        <where>
-            qrcode_id = #{qrcodeId}
-        </where>
-    </update>
+	<!-- 修改优惠二维码赠品表信息 -->
+	<update id="updateQrcodeGift" parameterType="QrcodeGift">
+		update
+		tb_iamberry_qrcode_gift
+		<set>
+			qrcode_color_id = #{qrcodeColorId},
+			qrcode_name = #{qrcodeName},
+			qrcode_color_name = #{qrcodeColorName},
+			qrcode_pre_gift_color = #{qrcodePreGiftColor},
+			qrcode_sales_gift_color = #{qrcodeSalesGiftColor},
+			qrcode_pre_discount = #{qrcodePreDiscount},
+			qrcode_sales_discount = #{qrcodeSalesDiscount},
+			<if test="qrcodeStatus != null and qrcodeStatus != ''">
+				qrcode_status = #{qrcodeStatus},
+			</if>
+			qrcode_desc = #{qrcodeDesc}
+		</set>
+		<where>
+			qrcode_id = #{qrcodeId}
+		</where>
+	</update>
 
-    <!-- 修改优惠二维码赠品表状态 -->
-    <update id="updateGiftStatus" parameterType="QrcodeGift">
-        update
-        tb_iamberry_qrcode_gift
-        <set>
-            <if test="qrcodeStatus != null and qrcodeStatus != ''">
-                qrcode_status = #{qrcodeStatus}
-            </if>
-        </set>
-        <where>
-            qrcode_id = #{qrcodeId}
-        </where>
-    </update>
+	<!-- 修改优惠二维码赠品表状态 -->
+	<update id="updateGiftStatus" parameterType="QrcodeGift">
+		update
+		tb_iamberry_qrcode_gift
+		<set>
+			<if test="qrcodeStatus != null and qrcodeStatus != ''">
+				qrcode_status = #{qrcodeStatus}
+			</if>
+		</set>
+		<where>
+			qrcode_id = #{qrcodeId}
+		</where>
+	</update>
 
-    <!-- 查询是否是商户且是否存在二维码 -->
-    <select id="getQrCodeByPlaceOpenId" parameterType="String" resultType="Integer">
+	<!-- 查询是否是商户且是否存在二维码 -->
+	<select id="getQrCodeByPlaceOpenId" parameterType="String" resultType="Integer">
         SELECT
           count(qrcode_id)
         from

+ 95 - 94
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -50,31 +50,31 @@ import com.iamberry.wechat.tools.StaticInfo;
 @Controller
 @RequestMapping("/wechat/cart")
 public class CartHandlers {
-	
+
 	@Autowired
 	private CartService cartService;
-	
+
 	@Autowired
 	private SystemService systemService;
-	
+
 	@Autowired
 	private AdminOrderService adminOrderService;
-	
+
 	@Autowired
 	private PayService payService;
-	
+
 	@Autowired
 	private MQServiceProxy mQservice;
 
 	@Autowired
 	private MemberService memberService;
-	
+
 	@Autowired
 	private CouponItemService couponItemService;
-	
+
 	@Autowired
 	private ProductInfoService productInfoService;
-	
+
 	/**
 	 * 进入购物车页面
 	 * @param request
@@ -89,7 +89,7 @@ public class CartHandlers {
 		//member.setUserId(11907);
 		//member.setUserOpenid("o-icas-WiwbEXfwO1wLGDKQ1iWJU");
 		List<CartDto> cartList = cartService.selectCartByOpenId(member.getUserOpenid());
-        String userQrcodeType = request.getParameter("userQrcodeType");
+		String userQrcodeType = request.getParameter("userQrcodeType");
 		
 		/*
 		 * 金额统计
@@ -98,7 +98,7 @@ public class CartHandlers {
 		if (null != cartList && cartList.size() > 0) {
 
 
-            //如果是有二维码的商户,进入后显示优惠价
+            /*//如果是有二维码的商户,进入后显示优惠价
             int num = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
             if (num > 0) {
                 QrcodeGift gift = new QrcodeGift();
@@ -114,27 +114,28 @@ public class CartHandlers {
                         }
                     }
                 }
-            }
+            }*/
 
-            if (userQrcodeType != null) {
-                QrcodeGift gift = new QrcodeGift();
-                List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
-                if (giftList != null && giftList.size() > 0 && cartList != null && cartList.size() > 0) {
-                    for (CartDto cartDto : cartList) {
-                        for (QrcodeGift qrcodeGift : giftList) {
-                            if (cartDto.getCartColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
-                                if ("1".equals(userQrcodeType) && qrcodeGift.getQrcodePreDiscount() != null
-                                    && qrcodeGift.getQrcodePreDiscount() > 0) {
-                                    cartDto.setProductDiscount(qrcodeGift.getQrcodePreDiscount());
-                                } else if ("2".equals(userQrcodeType) && qrcodeGift.getQrcodeSalesDiscount() != null
-                                    && qrcodeGift.getQrcodeSalesDiscount() > 0) {
-                                    cartDto.setProductDiscount(qrcodeGift.getQrcodeSalesDiscount());
-                                }
-                            }
-                        }
-                    }
-                }
-            }
+			if (userQrcodeType != null) {
+				QrcodeGift gift = new QrcodeGift();
+				gift.setQrcodeStatus(1);
+				List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
+				if (giftList != null && giftList.size() > 0 && cartList != null && cartList.size() > 0) {
+					for (CartDto cartDto : cartList) {
+						for (QrcodeGift qrcodeGift : giftList) {
+							if (cartDto.getCartColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
+								if ("1".equals(userQrcodeType) && qrcodeGift.getQrcodePreDiscount() != null
+										&& qrcodeGift.getQrcodePreDiscount() > 0) {
+									cartDto.setProductDiscount(qrcodeGift.getQrcodePreDiscount());
+								} else if ("2".equals(userQrcodeType) && qrcodeGift.getQrcodeSalesDiscount() != null
+										&& qrcodeGift.getQrcodeSalesDiscount() > 0) {
+									cartDto.setProductDiscount(qrcodeGift.getQrcodeSalesDiscount());
+								}
+							}
+						}
+					}
+				}
+			}
 
 			//判断是否为金牌会员下线,如果是,则以优惠价显示,如果不是则按原价显示
 			//查询金牌会员模板id
@@ -148,7 +149,7 @@ public class CartHandlers {
 				return remsg;
 			}
 			//如果模板id等于金牌会模板id,则该用户为金牌会员下线
-			if (user.getUserDealers() != null && user.getTemplateId() != null 
+			if (user.getUserDealers() != null && user.getTemplateId() != null
 					&& templateId == user.getTemplateId().intValue()  && user.getUserResType().intValue() == 3) {
 				//若果是金牌会员下线,产品的价格就以优惠价显示
 				for (CartDto cartDto : cartList) {
@@ -163,15 +164,15 @@ public class CartHandlers {
 					}
 				}
 			}
-			
+
 			//根据openid查询该用户是否购买过订单
 			ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
 			shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
 			shopSalesOrderDto.setSalesStatus("2");
 			int orderNum = cartService.selectOrderCount(shopSalesOrderDto);
-			
+
 			for (CartDto cartDto : cartList) {
-				
+
 				//如果购买过订单,则滤芯的价格可按折扣价购买
 				if (orderNum > 0) {
 					if (cartDto.getProductType().intValue() == 2) {
@@ -186,7 +187,7 @@ public class CartHandlers {
 						}
 					}
 				}
-				
+
 				if (cartDto.getProductStatus() != null && cartDto.getProductStatus() == 1) { 	// 产品状态:在售
 					total += cartDto.getCartNum() * cartDto.getProductDiscount();
 				}
@@ -203,14 +204,14 @@ public class CartHandlers {
 		map.put("cartDesc", ResultInfo.CARTDESC);
 		map.put("cart_url", ResultInfo.CART_URL);
 		map.put("userQrcodeType",userQrcodeType);
-		
+
 		remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		remsg.setResultCode(ResultInfo.SUCCESSCODE);
 		remsg.setStatus(true);
 		remsg.setData(map);
 		return remsg;
 	}
-	
+
 	/**
 	 * 获取购物车数量
 	 * @param request
@@ -233,7 +234,7 @@ public class CartHandlers {
 		remsg.setData(cartNum);
 		return remsg;
 	}
-	
+
 	/**
 	 * 首页添加商品到购物车
 	 * @param productId
@@ -243,14 +244,14 @@ public class CartHandlers {
 	 */
 	@ResponseBody
 	@RequestMapping("/addProductToCart")
-	public ResultMsg addProductToCart(@RequestParam("productId") String productId, 
-			@RequestParam("colorId") Integer colorId,
-			@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
-			HttpServletRequest request) throws Exception {
+	public ResultMsg addProductToCart(@RequestParam("productId") String productId,
+									  @RequestParam("colorId") Integer colorId,
+									  @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);
@@ -258,7 +259,7 @@ public class CartHandlers {
 			if (productId == null || "".equals(productId)) {
 				remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
 				remsg.setResultCode(ResultInfo.ERRORCODE);
-				remsg.setStatus(false);	
+				remsg.setStatus(false);
 				return remsg;
 			}
 			try {
@@ -267,12 +268,12 @@ public class CartHandlers {
 			} catch (Exception e) {
 				remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
 				remsg.setResultCode(ResultInfo.ERRORCODE);
-				remsg.setStatus(false);	
+				remsg.setStatus(false);
 				return remsg;
 			}
 			return remsg;
 		}
-		
+
 		cartDto.setCartOpenId(openId);
 		cartDto.setCartProductId(pid);
 		cartDto.setCartColorId(colorId);
@@ -309,7 +310,7 @@ public class CartHandlers {
 		}
 		return remsg;
 	}
-	
+
 	/**
 	 * 	点击加号按钮添加商品到购物车
 	 * @param request
@@ -321,8 +322,8 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping(value = "/addCart",method = RequestMethod.GET)
 	public ResultMsg  addCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
-			@RequestParam("colorId") Integer colorId,
-			@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
+							  @RequestParam("colorId") Integer colorId,
+							  @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();
@@ -343,7 +344,7 @@ public class CartHandlers {
 		}
 		return remsg;
 	}
-	
+
 	/**
 	 * 	点击减号按钮删除商品
 	 * @param request
@@ -355,8 +356,8 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping(value = "/deleteCart",method = RequestMethod.GET)
 	public ResultMsg  deleteCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
-			@RequestParam("colorId") Integer colorId,
-			@RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
+								 @RequestParam("colorId") Integer colorId,
+								 @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();
@@ -368,7 +369,7 @@ public class CartHandlers {
 		if (productNum != null && productNum > 1) {
 			cartDto.setCartNum(productNum - cartNum);
 			num = cartService.updateCartByOpenId(cartDto);
-		} 
+		}
 		if (num > 0) {
 			remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 			remsg.setResultCode(ResultInfo.SUCCESSCODE);
@@ -380,7 +381,7 @@ public class CartHandlers {
 		}
 		return remsg;
 	}
-	
+
 	/**
 	 * 点击垃圾桶按钮删除购物车物品信息
 	 * @param request
@@ -389,7 +390,7 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping(value = "/deleteCartByProductId",method = RequestMethod.GET)
 	public ResultMsg deleteCartByProductId(HttpServletRequest request,@RequestParam("productId") Integer productId,
-			@RequestParam("colorId") Integer colorId) throws Exception{
+										   @RequestParam("colorId") Integer colorId) throws Exception{
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 		CartDto cartDto = new CartDto();
 		ResultMsg remsg=new ResultMsg();
@@ -407,9 +408,9 @@ public class CartHandlers {
 		}
 		return remsg;
 	}
-	
+
 	/**
-	 * 
+	 *
 	 * 查询订单列表页面
 	 * @param request
 	 * @param pageSize
@@ -422,10 +423,10 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping(value = "/selectShopOrder")
 	public  ResultMsg selectShopOrder(HttpServletRequest request,
-			@RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize, 
-			@RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
-			@RequestParam(value = "salesStatus",defaultValue = "")String salesStatus,
-			@RequestParam(value = "text",defaultValue = "")String text) throws Exception {
+									  @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
+									  @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
+									  @RequestParam(value = "salesStatus",defaultValue = "")String salesStatus,
+									  @RequestParam(value = "text",defaultValue = "")String text) throws Exception {
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 		String beginDate = request.getParameter("beginDate");
 		PaperBean bean = new PaperBean();
@@ -444,7 +445,7 @@ public class CartHandlers {
 		bean.setPaperData(pageNO, pageSize);
 		List<ShopOrderAndItemDto> shopOrderList = cartService.selectShopOrder(bean);
 		ShopSystemRule shopSystemRule = this.adminOrderService.getReluByRid(109);
-		
+
 		//查询订单列表时同步百胜信息
 		if (null != shopOrderList && shopOrderList.size() > 0) {
 			for (ShopOrderAndItemDto orderDto : shopOrderList) {
@@ -479,7 +480,7 @@ public class CartHandlers {
 				}
 			}
 		}
-		
+
 		Integer pageCount = cartService.getOrderNumByOpenId(bean);
 		int count = pageCount % pageSize == 0? pageCount/pageSize:(pageCount/pageSize)+1;
 		Map<String,Object> map = new HashMap<String,Object>();
@@ -492,8 +493,8 @@ public class CartHandlers {
 		remsg.setData(map);
 		return remsg;
 	}
-	
-	
+
+
 	/**
 	 * 查询订单详情
 	 * @param request
@@ -522,30 +523,30 @@ public class CartHandlers {
 			if (null != couponType) {
 				int money = 0;
 				switch (couponType.getCouponType()) {
-				case 1:
-					money = couponType.getCouponReduce();
-					break;
-				case 2:
-					money = shopSalesOrderDto.getSalesAmount() - shopSalesOrderDto.getSalesAmount() * couponType.getCouponReduce()/100;
-					break;
+					case 1:
+						money = couponType.getCouponReduce();
+						break;
+					case 2:
+						money = shopSalesOrderDto.getSalesAmount() - shopSalesOrderDto.getSalesAmount() * couponType.getCouponReduce()/100;
+						break;
 				}
 				shopSalesOrderDto.setCouponReduce(money);
 			}
 			orderItemList = cartService.selectShopOrderItem(orderId);
-			
+
 			//判断该订单是否可以支付
 			if (orderItemList != null && orderItemList.size() > 0) {
 				if ("1".equals(shopSalesOrderDto.getSalesStatus())) {
 					shopSalesOrderDto.setEfficacious(true);
 					for (ShopOrderItemDto shopOrderItemDto : orderItemList) {
-						if (!"1".equals(shopOrderItemDto.getProductStatus()) &&  
+						if (!"1".equals(shopOrderItemDto.getProductStatus()) &&
 								shopOrderItemDto.getItemProductType().intValue() != shopSystemRule.getRuleNum().intValue()) {
 							shopSalesOrderDto.setEfficacious(false);
 						}
 					}
 				}
 			}
-			
+
 			shopSalesOrderDto.setOrderItemList(orderItemList);
 		}
 		if (shopSalesOrderDto == null) {
@@ -588,8 +589,8 @@ public class CartHandlers {
 		remsg.setStatus(true);
 		return remsg;
 	}
-	
-	
+
+
 	/**
 	 * 订单页面支付方法
 	 * @param request
@@ -613,7 +614,7 @@ public class CartHandlers {
 			shopSalesOrderDto = cartService.getShopOrderByOrderId(orderId, openId);
 			orderItemList = cartService.selectShopOrderItem(orderId);
 			Member member = memberService.getMemberByUserOpenId(openId);
-			
+
 			//获取账户余额,判断是否在可用范围内
 			int balancePayAmount=shopSalesOrderDto.getBalancePayAmount();
 			int total = shopSalesOrderDto.getSalesYetAmount();
@@ -641,10 +642,10 @@ public class CartHandlers {
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		msg.setData(dto);
 		msg.setStatus(true);
-		
+
 		return msg;
 	}
-	
+
 	/**
 	 * 	取消订单
 	 * @param request
@@ -655,8 +656,8 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping("/cancelOrder")
 	public ResultMsg cancelOrder(HttpServletRequest request,
-			@RequestParam(value = "orderId",defaultValue = "")String orderId, 
-			@RequestParam(value = "status",defaultValue = "-1") Integer status)  throws Exception{
+								 @RequestParam(value = "orderId",defaultValue = "")String orderId,
+								 @RequestParam(value = "status",defaultValue = "-1") Integer status)  throws Exception{
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 		ResultMsg remsg=new ResultMsg();
 		if (null != orderId && !"".equals(orderId)) {
@@ -704,8 +705,8 @@ public class CartHandlers {
 			return remsg;
 		}
 	}
-	
-	
+
+
 	/**
 	 * 	订单退货或退款
 	 * @param request
@@ -718,10 +719,10 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping("/returnOrder")
 	public ResultMsg returnOrder(HttpServletRequest request,
-			@RequestParam(value = "orderId",defaultValue = "")String orderId,
-			@RequestParam(value = "remark",defaultValue = "")String remark,
-			@RequestParam(value = "returnOrderId",defaultValue = "")String returnOrderId,
-			@RequestParam(value = "status",defaultValue = "-1") Integer status) throws Exception {
+								 @RequestParam(value = "orderId",defaultValue = "")String orderId,
+								 @RequestParam(value = "remark",defaultValue = "")String remark,
+								 @RequestParam(value = "returnOrderId",defaultValue = "")String returnOrderId,
+								 @RequestParam(value = "status",defaultValue = "-1") Integer status) throws Exception {
 		ResultMsg remsg=new ResultMsg();
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 		Order order = new Order();
@@ -787,7 +788,7 @@ public class CartHandlers {
 						}
 					}
 				}
-				
+
 			} else {
 				remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
 				remsg.setResultCode(ResultInfo.ERRORCODE);
@@ -797,7 +798,7 @@ public class CartHandlers {
 		}
 		return remsg;
 	}
-	
+
 	/**
 	 * 订单换货
 	 * @param request
@@ -806,12 +807,12 @@ public class CartHandlers {
 	 */
 	@ResponseBody
 	@RequestMapping("/exchangeOrder")
-	public ResultMsg exchangeOrder(HttpServletRequest request, 
-			@RequestParam(value = "orderId",defaultValue = "")String orderId, 
-			@RequestParam(value = "status",defaultValue = "-1") Integer status,
-			@RequestParam(value = "changeOrderId",defaultValue = "") String changeOrderId) throws Exception{
+	public ResultMsg exchangeOrder(HttpServletRequest request,
+								   @RequestParam(value = "orderId",defaultValue = "")String orderId,
+								   @RequestParam(value = "status",defaultValue = "-1") Integer status,
+								   @RequestParam(value = "changeOrderId",defaultValue = "") String changeOrderId) throws Exception{
 		ResultMsg remsg=new ResultMsg();
-		
+
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
 		Order order = new Order();
 		order.setSalesOrderid(orderId);

+ 114 - 113
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java

@@ -45,7 +45,7 @@ import org.springframework.web.context.WebApplicationContext;
 @Controller
 @RequestMapping("/wechat/product")
 public class ProductInfoHandler {
-	
+
 	@Autowired
 	private ProductInfoService productInfoService;
 	@Autowired
@@ -58,11 +58,11 @@ public class ProductInfoHandler {
 	private SystemService systemService;
 	@Autowired
 	private CartService cartService;
-	@Autowired 
+	@Autowired
 	private ProductColorService productColorService;
 	@Autowired
 	private PlaceInfoService placeInfoService;
-	
+
 	/**
 	 * 首页进入商城
 	 * @param request
@@ -72,12 +72,12 @@ public class ProductInfoHandler {
 	@ResponseBody
 	@RequestMapping(value = "/productIndex",method = RequestMethod.POST)
 	public ResultMsg productIndex(HttpServletRequest request,
-			@RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize, 
-			@RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
-			@RequestParam(value = "productName", defaultValue = "")String productName,
-			@RequestParam(value = "productType", defaultValue = "1") Integer productType,
-			@RequestParam(value = "productRentType", defaultValue = "1") Integer productRentType) throws Exception {
-		
+								  @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
+								  @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
+								  @RequestParam(value = "productName", defaultValue = "")String productName,
+								  @RequestParam(value = "productType", defaultValue = "1") Integer productType,
+								  @RequestParam(value = "productRentType", defaultValue = "1") Integer productRentType) throws Exception {
+
 		ResultMsg remsg= new ResultMsg();
 		Member member =  WechatUtils.getUserBySession(request);
 		Product product = new Product();
@@ -91,13 +91,13 @@ public class ProductInfoHandler {
 		product.getPage().initRecordBegin();
 		List<Product> productList = productInfoService.selectPageProduct(product);
 
-		
+
 		//根据openid查询该用户是否购买过订单
 		ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
 		shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
 		shopSalesOrderDto.setSalesStatus("2");
 
-		//如果是有二维码的商户,进入后显示优惠价
+		/*//如果是有二维码的商户,进入后显示优惠价
         int sum = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
         if (sum > 0) {
             QrcodeGift gift = new QrcodeGift();
@@ -113,8 +113,8 @@ public class ProductInfoHandler {
                     }
                 }
             }
-        }
-		
+        }*/
+
 		//判断是否为金牌会员下线,如果是,则以优惠价显示,如果不是则按原价显示
 		//查询金牌会员模板id
 		int templateId = systemService.selectOneShopRuleById(114).getRuleNum().intValue();
@@ -127,7 +127,7 @@ public class ProductInfoHandler {
 			return remsg;
 		}
 		//如果模板id等于金牌会模板id,则该用户为金牌会员下线
-		if (user.getUserDealers() != null && user.getTemplateId() != null && 
+		if (user.getUserDealers() != null && user.getTemplateId() != null &&
 				templateId == user.getTemplateId().intValue() && user.getUserResType().intValue() == 3) {
 			//若果是金牌会员下线,产品的价格就以优惠价显示
 			if (productList != null && productList.size() >= 1) {
@@ -144,7 +144,7 @@ public class ProductInfoHandler {
 				}
 			}
 		}
-		
+
 		int orderNum = cartService.selectOrderCount(shopSalesOrderDto);
 		//如果购买过订单,则滤芯的价格可按折扣价购买
 		if (orderNum > 0) {
@@ -175,7 +175,7 @@ public class ProductInfoHandler {
 		remsg.setData(map);
 		return remsg;
 	}
-	
+
 	/**
 	 * 进入产品详细信息页面
 	 * @param request
@@ -187,9 +187,9 @@ public class ProductInfoHandler {
 	@ResponseBody
 	@RequestMapping("/getProductByProductId")
 	public ResultMsg getProductByProductId(HttpServletRequest request,HttpServletResponse response,
-			@RequestParam(value = "productId",defaultValue = "") String productId, 
-			@RequestParam("colorId") Integer colorId 
-			) throws Exception {
+										   @RequestParam(value = "productId",defaultValue = "") String productId,
+										   @RequestParam("colorId") Integer colorId
+	) throws Exception {
 
 		ResultMsg remsg = new ResultMsg();
 		Member member =  WechatUtils.getUserBySession(request);
@@ -209,28 +209,28 @@ public class ProductInfoHandler {
 			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
 			return remsg;
 		}
-		
+
 		if (StaticInfo.pattern.matcher(productId).find()) {
 			Product product = this.productInfoService.getProductByProductId(Integer.parseInt(productId),colorId);
 
-            String[] machineIds = {};
-            boolean codeFlag = false;
-            //获取水机产品类型
-            String machineId = systemService.selectOneShopRuleById(237).getRuleDesc();
-            if (machineId != null) {
-                String machineStr = machineId.split(":")[1];
-                machineIds = machineStr.split(",");
-            }
-            if (machineIds != null && machineIds.length > 0) {
-                for (int i = 0;i < machineIds.length;i++) {
-                    if (product.getProductType().getTypeId().intValue() == Integer.valueOf(machineIds[i])) {
-                        codeFlag = true;
-                    }
-                }
-            }
-            Map<String,Object> qrCodeMap = createQrCode(productId,colorId,member,codeFlag);
+			String[] machineIds = {};
+			boolean codeFlag = false;
+			//获取水机产品类型
+			String machineId = systemService.selectOneShopRuleById(237).getRuleDesc();
+			if (machineId != null) {
+				String machineStr = machineId.split(":")[1];
+				machineIds = machineStr.split(",");
+			}
+			if (machineIds != null && machineIds.length > 0) {
+				for (int i = 0;i < machineIds.length;i++) {
+					if (product.getProductType().getTypeId().intValue() == Integer.valueOf(machineIds[i])) {
+						codeFlag = true;
+					}
+				}
+			}
+			Map<String,Object> qrCodeMap = createQrCode(productId,colorId,member,codeFlag);
 
-            //如果是有二维码的商户,进入后显示优惠价
+            /*//如果是有二维码的商户,进入后显示优惠价
             int num = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
             if (num > 0) {
                 QrcodeGift gift = new QrcodeGift();
@@ -244,33 +244,34 @@ public class ProductInfoHandler {
                         }
                     }
                 }
-            }
+            }*/
 
-            //如果用户是扫描二维码进入,则显示优惠价
-            String userQrcodeType = request.getParameter("userQrcodeType");
-            if (userQrcodeType != null && !"".equals(userQrcodeType) && !"null".equals(userQrcodeType)) {
-                QrcodeGift gift = new QrcodeGift();
-                List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
-                if (giftList != null && giftList.size() > 0 && product != null) {
-                    for (QrcodeGift qrcodeGift : giftList) {
-                        if (product.getColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
-                            switch (userQrcodeType) {
-                                case "1":
-                                    if (qrcodeGift.getQrcodePreDiscount() != null && qrcodeGift.getQrcodePreDiscount() > 0) {
-                                        product.setProductDiscount(qrcodeGift.getQrcodePreDiscount());
-                                    }
-                                    break;
-                                case "2":
-                                    if (qrcodeGift.getQrcodeSalesDiscount() != null && qrcodeGift.getQrcodeSalesDiscount() > 0) {
-                                        product.setProductDiscount(qrcodeGift.getQrcodeSalesDiscount());
-                                    }
-                                    break;
-                            }
+			//如果用户是扫描二维码进入,则显示优惠价
+			String userQrcodeType = request.getParameter("userQrcodeType");
+			if (userQrcodeType != null && !"".equals(userQrcodeType) && !"null".equals(userQrcodeType)) {
+				QrcodeGift gift = new QrcodeGift();
+				gift.setQrcodeStatus(1);
+				List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
+				if (giftList != null && giftList.size() > 0 && product != null) {
+					for (QrcodeGift qrcodeGift : giftList) {
+						if (product.getColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
+							switch (userQrcodeType) {
+								case "1":
+									if (qrcodeGift.getQrcodePreDiscount() != null && qrcodeGift.getQrcodePreDiscount() > 0) {
+										product.setProductDiscount(qrcodeGift.getQrcodePreDiscount());
+									}
+									break;
+								case "2":
+									if (qrcodeGift.getQrcodeSalesDiscount() != null && qrcodeGift.getQrcodeSalesDiscount() > 0) {
+										product.setProductDiscount(qrcodeGift.getQrcodeSalesDiscount());
+									}
+									break;
+							}
 
-                        }
-                    }
-                }
-            }
+						}
+					}
+				}
+			}
 
 			//判断是否为金牌会员下线,如果是,则以优惠价显示,如果不是则按原价显示
 			//查询金牌会员模板id
@@ -284,21 +285,21 @@ public class ProductInfoHandler {
 				return remsg;
 			}
 			//如果模板id等于金牌会模板id,则该用户为金牌会员下线
-			if (user.getUserDealers() != null && user.getTemplateId() != null 
+			if (user.getUserDealers() != null && user.getTemplateId() != null
 					&& templateId == user.getTemplateId().intValue() && user.getUserResType().intValue() == 3) {
-						//若果是金牌会员下线,产品的价格就以优惠价显示
-						UserGiftDto userGiftDto = new UserGiftDto();
-						userGiftDto.setUserLevel(2);
-						userGiftDto.setUserProductId(product.getProductId());
-						userGiftDto.setUserColorId(product.getColorId());
-						//根据商品id和会员等级查询礼品信息
-						userGiftDto = productInfoService.selectUserGift(userGiftDto);
-						if (userGiftDto != null) {
-							product.setProductDiscount(userGiftDto.getUserDiscount());
-						}
-				
+				//若果是金牌会员下线,产品的价格就以优惠价显示
+				UserGiftDto userGiftDto = new UserGiftDto();
+				userGiftDto.setUserLevel(2);
+				userGiftDto.setUserProductId(product.getProductId());
+				userGiftDto.setUserColorId(product.getColorId());
+				//根据商品id和会员等级查询礼品信息
+				userGiftDto = productInfoService.selectUserGift(userGiftDto);
+				if (userGiftDto != null) {
+					product.setProductDiscount(userGiftDto.getUserDiscount());
+				}
+
 			}
-			
+
 			//根据openid查询该用户是否购买过订单
 			ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
 			shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
@@ -341,7 +342,7 @@ public class ProductInfoHandler {
 			remsg.setStatus(true);
 			return remsg;
 		}
-		
+
 		try {
 			String productIdString = StaticInfo.md5.decrypt(productId);
 			Product product = this.productInfoService.getProductByProductId(Integer.parseInt(productIdString),colorId);
@@ -362,7 +363,7 @@ public class ProductInfoHandler {
 		} catch (Exception e) {
 			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
 			remsg.setResultCode(ResultInfo.ERRORCODE);
-			remsg.setStatus(false);			
+			remsg.setStatus(false);
 		}
 		return remsg;
 	}
@@ -380,12 +381,12 @@ public class ProductInfoHandler {
 		WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
 		ServletContext servletContext = webApplicationContext.getServletContext();
 		String realPath = servletContext.getRealPath(ResultInfo.QRCODE_PLACE_IMAGE);
-        Map<String,Object> map = new HashMap<String,Object>();
+		Map<String,Object> map = new HashMap<String,Object>();
 
-        if (!codeFlag) {
-            map.put("flag",false);
-            return map;
-        }
+		if (!codeFlag) {
+			map.put("flag",false);
+			return map;
+		}
 
 		//查询该分销商信息
 		PlaceInfo placeInfo = placeInfoService.getPlaceInfoByOpenId(member.getUserOpenid());
@@ -396,10 +397,10 @@ public class ProductInfoHandler {
 				map.put("flag",false);
 				return map;
 			}
-            File files = new File(realPath);
-            if (!files.exists()) {
-                files.mkdir();
-            }
+			File files = new File(realPath);
+			if (!files.exists()) {
+				files.mkdir();
+			}
 			//优惠二维码
 			StringBuilder url = new StringBuilder(NameUtils.getConfig("WECHAT_PRODUCT_DESC"));
 			url.append("?productId=");
@@ -411,7 +412,7 @@ public class ProductInfoHandler {
 			url.append("&placeOpenId=");
 			url.append(member.getUserOpenid());
 			StringBuilder name = new StringBuilder(realPath);
-            name.append("\\");
+			name.append("\\");
 			name.append(member.getUserOpenid());
 			name.append("_1_");
 			name.append(colorId);
@@ -428,7 +429,7 @@ public class ProductInfoHandler {
 			shopUrl.append("&placeOpenId=");
 			shopUrl.append(member.getUserOpenid());
 			StringBuilder shopName = new StringBuilder(realPath);
-            shopName.append("\\");
+			shopName.append("\\");
 			shopName.append(member.getUserOpenid());
 			shopName.append("_2_");
 			shopName.append(colorId);
@@ -445,7 +446,7 @@ public class ProductInfoHandler {
 		}
 		return map;
 	}
-	
+
 	/**
 	 * 获取商品详情(图文)
 	 * @param request
@@ -457,7 +458,7 @@ public class ProductInfoHandler {
 	@ResponseBody
 	@RequestMapping("/getPictureByProductId")
 	public ResultMsg getPictureByProductId(HttpServletRequest request,HttpServletResponse response,
-			@RequestParam(value = "productId",defaultValue = "") String productId) throws Exception {
+										   @RequestParam(value = "productId",defaultValue = "") String productId) throws Exception {
 		ResultMsg remsg = new ResultMsg();
 		if (productId == null) {
 			remsg.setStatus(false);
@@ -484,11 +485,11 @@ public class ProductInfoHandler {
 		} catch (Exception e) {
 			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
 			remsg.setResultCode(ResultInfo.ERRORCODE);
-			remsg.setStatus(false);			
+			remsg.setStatus(false);
 		}
 		return remsg;
 	}
-	
+
 	/**
 	 * 根据商品名称查询商品信息
 	 * @param request
@@ -500,12 +501,12 @@ public class ProductInfoHandler {
 	@ResponseBody
 	@RequestMapping("/getProductByProductName")
 	public ResultMsg getProductByProductName(HttpServletRequest request,HttpServletResponse response,
-			@RequestParam(value = "productName", defaultValue = "")String productName) throws Exception {
-		
+											 @RequestParam(value = "productName", defaultValue = "")String productName) throws Exception {
+
 		List<Product> productList = new ArrayList<Product>();
 		ResultMsg remsg=new ResultMsg();
 		Member member =  WechatUtils.getUserBySession(request);
-		
+
 		/*
 		 * 判断用户信息及其参数
 		 */
@@ -515,12 +516,12 @@ public class ProductInfoHandler {
 			remsg.setMessage(ResultInfo.loginOutError);
 			return remsg;
 		}
-		
+
 		if (null != productName && !"".equals(productName)) {
 			productName = "%" + productName + "%";
 		}
 		productList = this.productInfoService.getProductByProductName(productName);
-		
+
 		if (productList != null && productList.size() >= 1) {
 			/*
 			 * 优惠价计算
@@ -545,14 +546,14 @@ public class ProductInfoHandler {
 				}
 			}
 			if (isPrice) {
-				int price = systemService.selectOneShopRuleById(22).getRuleNum().intValue(); 
+				int price = systemService.selectOneShopRuleById(22).getRuleNum().intValue();
 				for (Product product2 : productList) {
 					product2.setProductPrice(product2.getProductDiscount());
 					product2.setProductDiscount(price);
 				}
 			}
 		}
-		
+
 		remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		remsg.setResultCode(ResultInfo.SUCCESSCODE);
 		remsg.setStatus(true);
@@ -564,17 +565,17 @@ public class ProductInfoHandler {
 	 * 为当前用户获取产品分享URL
 	 * @param productId
 	 * @return
-	 * @throws Exception 
+	 * @throws Exception
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/shareProductUrl", method = RequestMethod.POST)
 	public ResultMsg shareProductUrl(
 			@RequestParam(value = "productId", required = false) Integer productId,
 			HttpServletRequest request
-			) throws Exception {
+	) throws Exception {
 		ResultMsg msg = new ResultMsg();
 		msg.setResultCode(ResultInfo.ERRORCODE);
-		
+
 		Member member = WechatUtils.getUserBySession(request);
 		if (member == null || member.getUserOpenid() == null) {
 			msg.setMessage(ResultInfo.loginOutError);
@@ -584,19 +585,19 @@ public class ProductInfoHandler {
 			msg.setMessage(ResultInfo.paramFormatError);
 			return msg;
 		}
-		
+
 		StringBuffer buffer = new StringBuffer(NameUtils.getConfig("WECHAT_PRODUCT_SHARE_URL"));
 		buffer.append("?shareUser=" + StaticInfo.md5.encrypt(member.getUserOpenid()));
 		buffer.append("&productId=" + StaticInfo.md5.encrypt(productId.toString()));
 		buffer.append("&isShare=true&isProduct=true&isEnable=true"); // 是否分享,是否为产品,是否启动
-		
+
 		msg.setData(buffer.toString());
 		msg.setStatus(true);
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		msg.setResultCode(ResultInfo.SUCCESSCODE);
 		return msg;
 	}
-	
+
 	/**
 	 * 商城内内部跳转产品信息详情页面
 	 * @param productId
@@ -631,15 +632,15 @@ public class ProductInfoHandler {
 				memberService.updateMemberByUserId(memberInfo);
 			}
 		} else {
-            String shareOpenid = request.getParameter("placeOpenId");
-            if(StringUtils.isNotEmpty(shareOpenid)){
-                memberService.buildChildUser(shareOpenid, member,1,1);
-            }
-        }
+			String shareOpenid = request.getParameter("placeOpenId");
+			if(StringUtils.isNotEmpty(shareOpenid)){
+				memberService.buildChildUser(shareOpenid, member,1,1);
+			}
+		}
 		request.getRequestDispatcher(NameUtils.getConfig("WECHAT_SHOP_PRODUCT_DESC_PAGE")).forward(request, response);return;
 	}
-	
-	
+
+
 	/**
 	 * 进入租赁产品详情页面
 	 * @param productId
@@ -662,7 +663,7 @@ public class ProductInfoHandler {
 	@RequestMapping(value = "/leasepProductDetails", method = RequestMethod.POST)
 	@ResponseBody
 	public ResultMsg leasepProductDetails(@RequestParam("productId") Integer productId,
-			HttpServletRequest request, HttpServletResponse response){
+										  HttpServletRequest request, HttpServletResponse response){
 		String openid="";
 		ResultMsg remsg = new ResultMsg();
 		Map<String, Object> map = new HashMap<String, Object>();

+ 16 - 16
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/home/HomeHandler.java

@@ -50,7 +50,7 @@ public class HomeHandler {
 	public void setHomeService(HomeService homeService) {
 		this.homeService = homeService;
 	}
-	
+
 	@Autowired
 	private ProductInfoService productInfoService;
 
@@ -59,7 +59,7 @@ public class HomeHandler {
 
 	@Autowired
 	private SystemService systemService;
-	
+
 	@Autowired
 	private CartService cartService;
 
@@ -68,21 +68,21 @@ public class HomeHandler {
 	/**
 	 * 微信商城首页URL
 	 * @return
-	 * @throws Exception 
+	 * @throws Exception
 	 */
 	@RequestMapping(value = "/index", method = RequestMethod.GET)
 	public void index(HttpServletRequest request, HttpServletResponse response) throws Exception {
-		
+
 		//如果是分享 则绑定关系
 		Member member = WechatUtils.getUserBySession(request);
-		
+
 		String shareOpenid = request.getParameter("shareOpenid");
 		if(StringUtils.isNotEmpty(shareOpenid)){
 			memberService.buildChildUser(shareOpenid, member,1,1);
 		}
 		request.getRequestDispatcher(NameUtils.getConfig("WECHAT_SHOP_INDEX")).forward(request, response);
 	}
-	
+
 	/**
 	 * 获取首页Banner、广告位信息
 	 * @param request
@@ -118,15 +118,15 @@ public class HomeHandler {
 		returnMap.put("advs", advs);
 		returnMap.put("banners", banners);
 		returnMap.put("memberOpenid", member.getUserOpenid()); 				// 当前用户信息 分享用
-		
+
 		msg.setData(returnMap); // 封装数据
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		msg.setResultCode(ResultInfo.SUCCESSCODE);
 		msg.setStatus(true);
-		
+
 		return msg;
 	}
-	
+
 	/**
 	 * 首页获取产品信息
 	 * @return
@@ -141,11 +141,11 @@ public class HomeHandler {
 		Member member =  WechatUtils.getUserBySession(request);
 		// 准备数据
 		Map<String, Object> returnMap = new HashMap<String, Object>();
-		
+
 		List<Product> productList = productInfoService.selectIndexPageProduct();
 
 
-        //如果是有二维码的商户,进入后显示优惠价
+        /*//如果是有二维码的商户,进入后显示优惠价
         int sum = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
         if (sum > 0) {
             QrcodeGift gift = new QrcodeGift();
@@ -161,9 +161,9 @@ public class HomeHandler {
                     }
                 }
             }
-        }
+        }*/
+
 
-		
 		// 判断是否为金牌会员下线,如果是,则以优惠价显示,如果不是则按原价显示
 		// 查询金牌会员模板id
 		int templateId = systemService.selectOneShopRuleById(114).getRuleNum().intValue();
@@ -186,7 +186,7 @@ public class HomeHandler {
 				}
 			}
 		}
-		
+
 		// 根据openid查询该用户是否购买过订单
 		ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
 		shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
@@ -210,7 +210,7 @@ public class HomeHandler {
 				}
 			}
 		}
-		
+
 		returnMap.put("products", productList); 							// 产品信息,10个
 		msg.setData(returnMap); // 封装数据
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
@@ -218,5 +218,5 @@ public class HomeHandler {
 		msg.setStatus(true);
 		return msg;
 	}
-	
+
 }

+ 211 - 207
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/order/OrderHandler.java

@@ -65,22 +65,22 @@ import com.iamberry.wechat.tools.ValidatorUtil;
 @Controller
 @RequestMapping("/wechat/order")
 public class OrderHandler {
-	
+
 	@Autowired
 	private CartService cartService;
-	
+
 	@Autowired
 	private HomeService homeService;
-	
+
 	@Autowired
 	private SystemService systemService;
-	
+
 	@Autowired
 	private ValidatorUtil validatorUtil;
-	
+
 	@Autowired
 	private PayService payService;
-	
+
 	@Autowired
 	private MemberService memberService;
 	@Autowired
@@ -106,10 +106,10 @@ public class OrderHandler {
 	@ResponseBody
 	@RequestMapping(value = "/payBefore", method = RequestMethod.POST)
 	public ResultMsg payBefore(HttpServletRequest request) throws Exception {
-		
+
 		ResultMsg msg = new ResultMsg();
 		msg.setResultCode(ResultInfo.ERRORCODE);
-		
+
 		OrderPayDto dto = new OrderPayDto();
 		// 用户信息
 		Member member = WechatUtils.getUserBySession(request);
@@ -148,7 +148,7 @@ public class OrderHandler {
 			return msg;
 		}
 
-        //如果是有二维码的商户,进入后显示优惠价
+        /*//如果是有二维码的商户,进入后显示优惠价
         int num = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
         if (num > 0) {
             QrcodeGift gift = new QrcodeGift();
@@ -164,13 +164,13 @@ public class OrderHandler {
                     }
                 }
             }
-        }
-		
+        }*/
+
 		//判断是否为金牌会员下线,如果是,则以优惠价显示,如果不是则按原价显示
 		//查询金牌会员模板id
 		int templateId = systemService.selectOneShopRuleById(114).getRuleNum().intValue();
 		//如果模板id等于金牌会模板id,则该用户为金牌会员下线
-		if (member.getUserDealers() != null && member.getTemplateId() != null 
+		if (member.getUserDealers() != null && member.getTemplateId() != null
 				&& templateId == member.getTemplateId().intValue() && member.getUserResType().intValue() == 3) {
 			//若果是金牌会员下线,产品的价格就以优惠价显示
 			if (cartDtos != null && cartDtos.size() >= 1) {
@@ -187,7 +187,7 @@ public class OrderHandler {
 				}
 			}
 		}
-		
+
 		//根据openid查询该用户是否购买过订单
 		ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
 		shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
@@ -211,14 +211,14 @@ public class OrderHandler {
 				}
 			}
 		}
-		
+
 		// 判断当前提交的购物车ID,有多少产品在售
 		int total = 0; // 支付金额
 		int sum = 0; // 产品数量
 		int productNum = 0;	//计算商品为滤芯的数量
 		int machineNum = 0;	//计算商品为水机的数量
 		boolean disable = true;	//标识,是否可用优惠券,当购买商品只有滤芯时禁止使用优惠券
-		
+
 		List<CartDto> tempCarts = new ArrayList<CartDto>();
 
 		//查询系统规则表滤芯id信息
@@ -235,6 +235,49 @@ public class OrderHandler {
 			String rolesStr = machine.split(":")[1];
 			machines = rolesStr.split(",");
 		}
+
+		String userQrcodeType = request.getParameter("userQrcodeType");
+		//存在水机时赠送4个滤芯
+		if(userQrcodeType != null && !"".equals(userQrcodeType)){
+
+			//如果是扫描优惠二维码进来,则显示优惠价并赠送滤芯
+			QrcodeGift gift = new QrcodeGift();
+			gift.setQrcodeStatus(1);
+			List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
+			if (giftList != null && giftList.size() > 0 && cartDtos != null && cartDtos.size() > 0) {
+				for (CartDto cartDto : cartDtos) {
+					for (QrcodeGift qrcodeGift : giftList) {
+						if (cartDto.getCartColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
+							switch (userQrcodeType) {
+								case "1":
+									if (qrcodeGift.getQrcodePreDiscount() != null && qrcodeGift.getQrcodePreDiscount() > 0) {
+										cartDto.setProductPrice(qrcodeGift.getQrcodePreDiscount());
+									}
+									if (qrcodeGift.getQrcodePreGiftColor() != null) {
+										for (int i = 0;i < cartDto.getCartNum();i++) {
+											preGift.append(qrcodeGift.getQrcodePreGiftColor());
+											preGift.append(",");
+										}
+									}
+									break;
+								case "2":
+									if (qrcodeGift.getQrcodeSalesDiscount() != null && qrcodeGift.getQrcodeSalesDiscount() > 0) {
+										cartDto.setProductPrice(qrcodeGift.getQrcodeSalesDiscount());
+									}
+									if (qrcodeGift.getQrcodeSalesGiftColor() != null) {
+										for (int i = 0;i < cartDto.getCartNum();i++) {
+											preGift.append(qrcodeGift.getQrcodeSalesGiftColor());
+											preGift.append(",");
+										}
+									}
+									break;
+							}
+						}
+					}
+				}
+			}
+		}
+
 		for (CartDto cartDto : cartDtos) {
 			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				total += cartDto.getCartNum() * cartDto.getProductPrice();
@@ -254,83 +297,43 @@ public class OrderHandler {
 				}
 			}
 		}
-		String userQrcodeType = request.getParameter("userQrcodeType");
-		//存在水机时赠送4个滤芯
-		if(userQrcodeType != null && !"".equals(userQrcodeType)){
-
-            //如果是扫描优惠二维码进来,则显示优惠价并赠送滤芯
-            QrcodeGift gift = new QrcodeGift();
-            List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
-            if (giftList != null && giftList.size() > 0 && cartDtos != null && cartDtos.size() > 0) {
-                for (CartDto cartDto : cartDtos) {
-                    for (QrcodeGift qrcodeGift : giftList) {
-                        if (cartDto.getCartColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
-                            switch (userQrcodeType) {
-                                case "1":
-                                    if (qrcodeGift.getQrcodePreDiscount() != null && qrcodeGift.getQrcodePreDiscount() > 0) {
-                                        cartDto.setProductPrice(qrcodeGift.getQrcodePreDiscount());
-                                    }
-                                    if (qrcodeGift.getQrcodePreGiftColor() != null) {
-                                        for (int i = 0;i < cartDto.getCartNum();i++) {
-                                            preGift.append(qrcodeGift.getQrcodePreGiftColor());
-                                            preGift.append(",");
-                                        }
-                                    }
-                                    break;
-                                case "2":
-                                    if (qrcodeGift.getQrcodeSalesDiscount() != null && qrcodeGift.getQrcodeSalesDiscount() > 0) {
-                                        cartDto.setProductPrice(qrcodeGift.getQrcodeSalesDiscount());
-                                    }
-                                    if (qrcodeGift.getQrcodeSalesGiftColor() != null) {
-                                        for (int i = 0;i < cartDto.getCartNum();i++) {
-                                            preGift.append(qrcodeGift.getQrcodeSalesGiftColor());
-                                            preGift.append(",");
-                                        }
-                                    }
-                                    break;
-                            }
-                        }
-                    }
-                }
-            }
 
-			if(preGift.toString() != null && !"".equals(preGift.toString())){
-                String[] giftss = preGift.toString().split(",");
-                ProductColor color = new ProductColor();
-                color.setPage(null);
-                List<ProductColor> colorList = productColorService.selectProductColorList(color);
-                for (int i = 0;i < giftss.length;i++) {
-                    boolean cartFlag = false;
-                    for (CartDto cart : tempCarts) {
-                        //判断是否已经存在该赠品,如果存在则数量加1
-                        if (Integer.parseInt(giftss[i]) == cart.getCartColorId() && cart.getTotal() == 0) {
-                            cart.setCartNum(cart.getCartNum().intValue() + 1);
-                            cartFlag = true;
-                        }
-                    }
-                    //如果不存在,则新增赠品
-                    if (!cartFlag) {
-                        for (ProductColor productColor : colorList) {
-                            if (Integer.parseInt(giftss[i]) == productColor.getColorId()) {
-                                CartDto cartDto = new CartDto();
-                                cartDto.setCartOpenId(member.getUserOpenid());
-                                cartDto.setCartProductId(productColor.getColorProductId());
-                                cartDto.setCartColorId(productColor.getColorId());
-                                cartDto.setCartNum(1);
-                                cartDto.setCartCreateDate(new Date());
-                                cartDto.setProductName(productColor.getColorProductName());
-                                cartDto.setProductType(productColor.getColorProductType());
-                                cartDto.setProductPrice(0);
-                                cartDto.setProductIntroduceImg(productColor.getColorProductPic());
-                                cartDto.setTotal(0);
-                                cartDto.setProductDiscount(0);
-                                cartDto.setProductRemark("赠送滤芯");
-                                cartDto.setProductColor(productColor.getColorName());
-                                tempCarts.add(cartDto);
-                            }
-                        }
-                    }
-                }
+		if(preGift.toString() != null && !"".equals(preGift.toString())){
+			String[] giftss = preGift.toString().split(",");
+			ProductColor color = new ProductColor();
+			color.setPage(null);
+			List<ProductColor> colorList = productColorService.selectProductColorList(color);
+			for (int i = 0;i < giftss.length;i++) {
+				boolean cartFlag = false;
+				for (CartDto cart : tempCarts) {
+					//判断是否已经存在该赠品,如果存在则数量加1
+					if (Integer.parseInt(giftss[i]) == cart.getCartColorId() && cart.getTotal() == 0) {
+						cart.setCartNum(cart.getCartNum().intValue() + 1);
+						cartFlag = true;
+					}
+				}
+				//如果不存在,则新增赠品
+				if (!cartFlag) {
+					for (ProductColor productColor : colorList) {
+						if (Integer.parseInt(giftss[i]) == productColor.getColorId()) {
+							CartDto cartDto = new CartDto();
+							cartDto.setCartOpenId(member.getUserOpenid());
+							cartDto.setCartProductId(productColor.getColorProductId());
+							cartDto.setCartColorId(productColor.getColorId());
+							cartDto.setCartNum(1);
+							cartDto.setCartCreateDate(new Date());
+							cartDto.setProductName(productColor.getColorProductName());
+							cartDto.setProductType(productColor.getColorProductType());
+							cartDto.setProductPrice(0);
+							cartDto.setProductIntroduceImg(productColor.getColorProductPic());
+							cartDto.setTotal(0);
+							cartDto.setProductDiscount(0);
+							cartDto.setProductRemark("赠送滤芯");
+							cartDto.setProductColor(productColor.getColorName());
+							tempCarts.add(cartDto);
+						}
+					}
+				}
 			}
 		}
 
@@ -338,14 +341,14 @@ public class OrderHandler {
 		if(productNum == cartDtos.size()) {
 			disable = false;
 		}
-		
+
 		if (sum <= 0) {
 			msg.setMessage(ResultInfo.cartEmptyError);
 			return msg;
 		}
-		
+
 		//未使用的优惠券
-		CouponItemDto cDto = new CouponItemDto();	
+		CouponItemDto cDto = new CouponItemDto();
 		cDto.setUseropenid(member.getUserOpenid());
 		cDto.setCouponUseStatus(1);
 		cDto.setBeginDate(new Date());
@@ -353,18 +356,18 @@ public class OrderHandler {
 		cDto.getPage().setPageSize(12);
 		//cDto.getPage().setPageNumber(pageNO);
 		List<CouponItemDto> list = couponItemService.getCouponItemDtoList(cDto);
-		
+
 		dto.setCouponItems(list);
-		
+
 		dto.setCartId(cartIds);// 购物车ID
 		dto.setPayTotal(total); // 支付金额,单位为分
 		dto.setCartItems(tempCarts); // 订单项
 		dto.setSuccess(true); // 请求成功
 		dto.setMeonyProportion(0);
 		dto.setBalance(member.getUserIncome());
-		
+
 		dto.setDisable(disable);
-		
+
 		//回显用户支付过的地址信息
 		Order order=cartService.getOrderRecentAddress(member.getUserOpenid());
 		if(order!=null){
@@ -376,30 +379,30 @@ public class OrderHandler {
 			map.put("salesAddressPostnum", order.getSalesAddressPostnum());
 			dto.setAddressInfo(map);
 		}
-		
+
 		msg.setResultCode(ResultInfo.SUCCESSCODE);
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		msg.setData(dto);
 		msg.setStatus(true);
-		
+
 		return msg;
 	}
-	
+
 	/**
 	 * 发起支付请求
 	 * @return
-	 * @throws Exception 
+	 * @throws Exception
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/pay", method = RequestMethod.POST)
 	public ResultMsg requestPay(
 			TempOrderDto temp,
 			HttpServletRequest request
-			) throws Exception {
-		
+	) throws Exception {
+
 		ResultMsg msg = new ResultMsg();
 		int machineNum = 0;//所有水机的数量
-        StringBuilder preGift = new StringBuilder();
+		StringBuilder preGift = new StringBuilder();
 		msg.setResultCode(ResultInfo.ERRORCODE);
 		//当前支付时间
 		Date nowDate=new Date();
@@ -412,7 +415,7 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.loginOutError);
 			return msg;
 		}
-		
+
 		member=memberService.getMemberByUserId(member.getUserId());
 		if (!validatorUtil.validatorObject(temp)) { // 校验订单信息是否输入有误
 			msg.setMessage(ResultInfo.paramFormatError);
@@ -441,13 +444,13 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.cartEmptyError);
 			return msg;
 		}
-		
+
 		//根据openid查询该用户是否购买过订单
 		ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
 		shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
 		shopSalesOrderDto.setSalesStatus("2");
 		int orderNum = cartService.selectOrderCount(shopSalesOrderDto);
-		
+
 		int total = 0; // 需要支付的总额, 单位为分
 
 
@@ -455,7 +458,7 @@ public class OrderHandler {
 		int templateId = systemService.selectOneShopRuleById(114).getRuleNum().intValue();
 		UserGiftDto userGift = null;
 		int giftNum = 0;
-		
+
 		/** 提前准备订单项数据 */
 		/** 准备数据 */
 		Order order = new Order();
@@ -463,10 +466,10 @@ public class OrderHandler {
 		List<OrderItem> list = new ArrayList<OrderItem>();
 		List<Integer> cartIds = new ArrayList<Integer>();
 		String userQrcodeType = request.getParameter("userQrcodeType");
-        int num = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
+		int num = productInfoService.getQrCodeByPlaceOpenId(member.getUserOpenid());
 		for (CartDto cartDto : cartDtos) {
 
-            //如果是有二维码的商户,进入后显示优惠价
+            /*//如果是有二维码的商户,进入后显示优惠价
             if (num > 0) {
                 QrcodeGift gift = new QrcodeGift();
                 List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
@@ -480,45 +483,46 @@ public class OrderHandler {
                         }
                     }
                 }
-            }
+            }*/
 
 			if (userQrcodeType != null && !"".equals(userQrcodeType)) {
 
-                //如果是扫描优惠二维码进来,则显示优惠价并赠送滤芯
-                QrcodeGift gift = new QrcodeGift();
-                List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
-                if (giftList != null && giftList.size() > 0) {
-                    for (QrcodeGift qrcodeGift : giftList) {
-                        if (cartDto.getCartColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
-                            switch (userQrcodeType) {
-                                case "1":
-                                    if (qrcodeGift.getQrcodePreDiscount() != null && qrcodeGift.getQrcodePreDiscount() > 0) {
-                                        cartDto.setProductDiscount(qrcodeGift.getQrcodePreDiscount());
-                                        cartDto.setProductPrice(qrcodeGift.getQrcodePreDiscount());
-                                    }
-                                    if (qrcodeGift.getQrcodePreGiftColor() != null) {
-                                        for (int i = 0;i < cartDto.getCartNum();i++) {
-                                            preGift.append(qrcodeGift.getQrcodePreGiftColor());
-                                            preGift.append(",");
-                                        }
-                                    }
-                                    break;
-                                case "2":
-                                    if (qrcodeGift.getQrcodeSalesDiscount() != null && qrcodeGift.getQrcodeSalesDiscount() > 0) {
-                                        cartDto.setProductDiscount(qrcodeGift.getQrcodeSalesDiscount());
-                                        cartDto.setProductPrice(qrcodeGift.getQrcodePreDiscount());
-                                    }
-                                    if (qrcodeGift.getQrcodeSalesGiftColor() != null) {
-                                        for (int i = 0;i < cartDto.getCartNum();i++) {
-                                            preGift.append(qrcodeGift.getQrcodeSalesGiftColor());
-                                            preGift.append(",");
-                                        }
-                                    }
-                                    break;
-                            }
-                        }
-                    }
-                }
+				//如果是扫描优惠二维码进来,则显示优惠价并赠送滤芯
+				QrcodeGift gift = new QrcodeGift();
+				gift.setQrcodeStatus(1);
+				List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
+				if (giftList != null && giftList.size() > 0) {
+					for (QrcodeGift qrcodeGift : giftList) {
+						if (cartDto.getCartColorId().intValue() == qrcodeGift.getQrcodeColorId()) {
+							switch (userQrcodeType) {
+								case "1":
+									if (qrcodeGift.getQrcodePreDiscount() != null && qrcodeGift.getQrcodePreDiscount() > 0) {
+										cartDto.setProductDiscount(qrcodeGift.getQrcodePreDiscount());
+										cartDto.setProductPrice(qrcodeGift.getQrcodePreDiscount());
+									}
+									if (qrcodeGift.getQrcodePreGiftColor() != null) {
+										for (int i = 0;i < cartDto.getCartNum();i++) {
+											preGift.append(qrcodeGift.getQrcodePreGiftColor());
+											preGift.append(",");
+										}
+									}
+									break;
+								case "2":
+									if (qrcodeGift.getQrcodeSalesDiscount() != null && qrcodeGift.getQrcodeSalesDiscount() > 0) {
+										cartDto.setProductDiscount(qrcodeGift.getQrcodeSalesDiscount());
+										cartDto.setProductPrice(qrcodeGift.getQrcodeSalesDiscount());
+									}
+									if (qrcodeGift.getQrcodeSalesGiftColor() != null) {
+										for (int i = 0;i < cartDto.getCartNum();i++) {
+											preGift.append(qrcodeGift.getQrcodeSalesGiftColor());
+											preGift.append(",");
+										}
+									}
+									break;
+							}
+						}
+					}
+				}
 			}
 
 			//如果购买过订单,则滤芯的价格可按折扣价购买
@@ -535,9 +539,9 @@ public class OrderHandler {
 					}
 				}
 			}
-			
+
 			//如果模板id等于金牌会模板id,则该用户为金牌会员下线
-			if (member.getUserDealers() != null && member.getTemplateId() != null 
+			if (member.getUserDealers() != null && member.getTemplateId() != null
 					&& templateId == member.getTemplateId().intValue() && member.getUserResType().intValue() == 3) {
 				UserGiftDto userGiftDto = new UserGiftDto();
 				userGiftDto.setUserLevel(2);
@@ -553,7 +557,7 @@ public class OrderHandler {
 					}
 				}
 			}
-			
+
 			if (cartDto.getProductStatus() != null && cartDto.getProductStatus().intValue() == 1) {
 				cartIds.add(cartDto.getCartId());
 				Integer subTotal = cartDto.getCartNum() * cartDto.getProductPrice(); // 小计
@@ -575,43 +579,43 @@ public class OrderHandler {
 
 		//扫描优惠二维码赠送赠品信息
 		if (preGift != null && !"".equals(preGift.toString())) {
-            String[] giftss = preGift.toString().split(",");
-            ProductColor color = new ProductColor();
-            color.setPage(null);
-            List<ProductColor> colorList = productColorService.selectProductColorList(color);
-            for (int i = 0;i < giftss.length;i++) {
-                boolean cartFlag = false;
-                for (OrderItem item : list) {
-                    //判断是否已经存在该赠品,如果存在则数量加1
-                    if (Integer.parseInt(giftss[i]) == item.getItemColorId() && item.getItemTotal() == 0) {
-                        item.setItemNum(item.getItemNum().intValue() + 1);
-                        cartFlag = true;
-                    }
-                }
-                //如果不存在,则新增订单项
-                if (!cartFlag) {
-                    for (ProductColor productColor : colorList) {
-                        if (Integer.parseInt(giftss[i]) == productColor.getColorId()) {
-                            OrderItem orderItem = new OrderItem();
-                            orderItem.setItemNum(1);
-                            orderItem.setItemProductDiscount(0);
-                            orderItem.setItemProductId(productColor.getColorProductId());
-                            orderItem.setItemProductName(productColor.getColorProductName());
-                            orderItem.setItemProductPic(productColor.getColorProductPic());
-                            orderItem.setItemSalesOrderid(order.getSalesOrderid());
-                            orderItem.setItemTotal(0);
-                            orderItem.setItemProductType(productColor.getColorProductType());
-                            orderItem.setItemProductPrice(0);
-                            orderItem.setItemColorId(productColor.getColorId());
-                            list.add(orderItem);
-                        }
-                    }
-                }
-            }
+			String[] giftss = preGift.toString().split(",");
+			ProductColor color = new ProductColor();
+			color.setPage(null);
+			List<ProductColor> colorList = productColorService.selectProductColorList(color);
+			for (int i = 0;i < giftss.length;i++) {
+				boolean cartFlag = false;
+				for (OrderItem item : list) {
+					//判断是否已经存在该赠品,如果存在则数量加1
+					if (Integer.parseInt(giftss[i]) == item.getItemColorId() && item.getItemTotal() == 0) {
+						item.setItemNum(item.getItemNum().intValue() + 1);
+						cartFlag = true;
+					}
+				}
+				//如果不存在,则新增订单项
+				if (!cartFlag) {
+					for (ProductColor productColor : colorList) {
+						if (Integer.parseInt(giftss[i]) == productColor.getColorId()) {
+							OrderItem orderItem = new OrderItem();
+							orderItem.setItemNum(1);
+							orderItem.setItemProductDiscount(0);
+							orderItem.setItemProductId(productColor.getColorProductId());
+							orderItem.setItemProductName(productColor.getColorProductName());
+							orderItem.setItemProductPic(productColor.getColorProductPic());
+							orderItem.setItemSalesOrderid(order.getSalesOrderid());
+							orderItem.setItemTotal(0);
+							orderItem.setItemProductType(productColor.getColorProductType());
+							orderItem.setItemProductPrice(0);
+							orderItem.setItemColorId(productColor.getColorId());
+							list.add(orderItem);
+						}
+					}
+				}
+			}
 		}
 
 		//如果模板id等于金牌会模板id,来源是3,则该用户为金牌会员直接下线,直接下线送三年滤芯
-		if (member.getUserDealers() != null && member.getTemplateId() != null && 
+		if (member.getUserDealers() != null && member.getTemplateId() != null &&
 				templateId == member.getTemplateId().intValue() && member.getUserResType().intValue() == 3) {
 			//当userGift不为空时,说明该用户购买的商品有奖励礼品,奖励礼品取第一个产品的,不适用于多个产品有不同奖励礼品的情况
 			if (userGift != null && userGift.getUserGiftId() != null && !"".equals(userGift.getUserGiftId())) {
@@ -630,13 +634,13 @@ public class OrderHandler {
 				list.add(orderItem);
 			}
 		}
-		
+
 		// 准备订单对象
 		order.setSalesOpenid(member.getUserOpenid()); // openid 
 		order.setSalesAmount(total); // 订单金额
-		
+
 		int mustPay=0;
-		
+
 		String couponId=temp.getCouponId();
 		CouponItemDto couponItemDto=new CouponItemDto();
 		CouponItem couponItem=new CouponItem();
@@ -652,7 +656,7 @@ public class OrderHandler {
 			couponItem.setCouponItemUseropenid(couponItemDto.getUseropenid());
 			couponItem.setCouponUseEndDate(couponItemDto.getCouponUseEndDate());
 			couponItem.setCouponUseDate(couponItemDto.getCouponUseDate());
-			
+
 			if(null==couponItemDto || !couponItemDto.getUseropenid().equals(member.getUserOpenid()) || couponItemDto.getCouponUseStatus()!=1){
 				msg.setMessage(ResultInfo.COUPON_INVALID); //优惠券无效
 				return msg;
@@ -661,7 +665,7 @@ public class OrderHandler {
 				msg.setMessage(ResultInfo.COUPON_OUTOFDATE); //优惠券过期
 				return msg;
 			}
-			
+
 			//消费达到指定额度
 			CouponType couponType = couponTypeService.getCouponTypeById(couponItemDto.getCouponId());
 			if(couponType.getCouponConsumeEnough()>total){
@@ -674,7 +678,7 @@ public class OrderHandler {
 			}else if(couponType.getCouponType()==2){
 				total=total*couponType.getCouponReduce()/100;
 			}
-		
+
 		}
 		if(total==0 || total<0){
 			total=0;
@@ -682,7 +686,7 @@ public class OrderHandler {
 		}else{
 			mustPay=total;
 		}
-		
+
 		//获取账户余额,判断是否在可用范围内
 		int balancePayAmount=temp.getBalancePayAmount();
 		if(balancePayAmount>0 && member.getUserIncome()>balancePayAmount){
@@ -691,7 +695,7 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.NO_ENOUGH_FOR_PAY);
 			return msg;
 		}
-		
+
 		order.setSalesYetAmount(total);
 		order.setSalesRateAmount(0);
 		order.setSalesIntegralNum(temp.getOrderIntegralNum()); // 订单使用积分
@@ -723,7 +727,7 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.paramFormatError);
 			return msg;
 		}
-		
+
 		boolean updateFlase=false;
 		if (flag && mustPay>0) {
 			// 发起支付
@@ -751,7 +755,7 @@ public class OrderHandler {
 			msg.setMessage(ResultInfo.paramFormatError);
 			return msg;
 		}
-	
+
 		if(updateFlase){
 			//设置订单状态,还有优惠券id
 			order.setSalesStatus(2);
@@ -762,12 +766,12 @@ public class OrderHandler {
 				couponItem.setCouponUseDate(new Date());//添加使用时间
 				int i=couponItemService.updateCouponItemById(couponItem);
 			}
-				
+
 			//更新账户余额
 			if(balancePayAmount>0){
 				member.setUserIncome(-balancePayAmount);
 				memberService.updateUserIncomeByOpenId(member);
-				
+
 				//修改用户购买记录为已购买
 				memberService.updateIsBaughtByOpenid(member.getUserOpenid(), 2);
 				//更新用户绑定状态
@@ -780,7 +784,7 @@ public class OrderHandler {
 				} catch (Exception e) {
 					System.out.println("为用户生成二维码失败!");
 				}
-				
+
 				//现金使用记录
 				CashLog log=new CashLog();
 				log.setCashLogsIntroduction("订单支出");
@@ -791,21 +795,21 @@ public class OrderHandler {
 				log.setCashLogsOrderid(order.getSalesOrderid());
 				log.setCashLogsCreateDate(nowDate);
 				cashLogService.addCashLog(log);
-			
+
 			}
 			rebackServices.loadSingleOrderReward(order);
 			productInfoService.updateProductNumList(order.getSalesOrderid());
-			
+
 		}
 		msg.setResultCode(ResultInfo.SUCCESSCODE);
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		dto.setOrderId(order.getSalesOrderid());
 		msg.setData(dto);
 		msg.setStatus(true);
-		
+
 		return msg;
 	}
-	
+
 	/**
 	 * 校验订单状态,判断是否支付成功
 	 * @param orderId
@@ -827,7 +831,7 @@ public class OrderHandler {
 		msg.setResultCode(ResultInfo.ERRORCODE);
 		msg.setMessage(NameUtils.getConfig("ERRORINFO"));
 		msg.setStatus(false);
-		
+
 		return msg;
 	}
 
@@ -835,7 +839,7 @@ public class OrderHandler {
 	public void paySuccess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 		request.getRequestDispatcher(NameUtils.getConfig("WECHAT_SHOP_ORDER_PAY_SUCCESS")).forward(request, response);
 	}
-	
+
 	@RequestMapping(value = "/getOrderInfo", method = RequestMethod.POST)
 	@ResponseBody
 	public ResultMsg getOrderInfoByOrderId(
@@ -848,24 +852,24 @@ public class OrderHandler {
 		order.setSalesOrderid(orderId);
 		order.setSalesOpenid(member.getUserOpenid());
 		order = cartService.selectOrderInfoById(order);
-		
+
 		if (order == null || order.getSalesStatus() != 2) {
 			msg.setMessage(ResultInfo.paramFormatError);
 			return msg;
 		}
-		
+
 		msg.setData(order);
 		msg.setResultCode(ResultInfo.SUCCESSCODE);
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		msg.setStatus(true);
 		return msg;
 	}
-	
+
 	/**
 	 * 校验一个购物车字符串
 	 * @param cartIds 购物车ID字符串
 	 * @return
-	 * @throws Exception 
+	 * @throws Exception
 	 */
 	public Integer[] checkCartIdListString(String cartIds) throws Exception {
 		if (cartIds == null) {

+ 5 - 2
wateroPF-wechat-web/src/main/java/com/iamberry/wechat/handles/porduct/ProductHandler.java

@@ -476,11 +476,13 @@ public class ProductHandler {
 
         QrcodeGift gift = new QrcodeGift();
         gift.setQrcodeId(qrcodeId);
-        gift.setQrcodeStatus(1);
+        //gift.setQrcodeStatus(1);
         //获取优惠二维码赠品信息
         List<QrcodeGift> giftList = productInfoService.listQrcodeGift(gift);
         if (giftList == null || giftList.size() == 0) {
             msg.setStatus(false);
+			msg.setResultCode(ResultInfo.ERRORCODE);
+            return msg;
         }
         gift = giftList.get(0);
 
@@ -489,6 +491,8 @@ public class ProductHandler {
         List<ProductColor> colorList = productColorService.selectProductColorList(productColor);
         if (colorList == null || colorList.size() <= 0) {
             msg.setStatus(false);
+			msg.setResultCode(ResultInfo.ERRORCODE);
+			return msg;
         }
         map.put("gift",gift);
         map.put("colorList",colorList);
@@ -536,7 +540,6 @@ public class ProductHandler {
         }
         //查询商品名称信息
         ProductColor color = productColorService.selectProductColorById(gift.getQrcodeColorId());
-        gift.setQrcodeStatus(1);
         gift.setQrcodePreGiftColor(perStr.toString());
         gift.setQrcodeSalesGiftColor(salesStr.toString());
         gift.setQrcodeColorName(color.getColorName());

+ 1 - 1
wateroPF-wechat-web/src/main/webapp/WEB-INF/views/admin/product/addProductPrice.jsp

@@ -86,7 +86,7 @@
         </div>
         <div id="sales_div">
             <div class="row cl">
-                <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>赠品:</label>
+                <label class="form-label col-xs-4 col-sm-3">赠品:</label>
                 <div class="formControls col-xs-6 col-sm-6">
                     <ul class="my-ul-list">