浏览代码

Merge branch 'master' of http://git.iamberry.com/liuzhiwei/iamberry-common-tooth

H-SEN 7 年之前
父节点
当前提交
e81847638b
共有 19 个文件被更改,包括 295 次插入66 次删除
  1. 19 1
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/apparatus/Apparatus.java
  2. 18 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItem.java
  3. 1 1
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/StayIntegral.java
  4. 7 2
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/coupon/CouponItemService.java
  5. 9 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/UseIntegralService.java
  6. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java
  7. 14 4
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java
  8. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CouponItemMapper.java
  9. 7 4
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/UseIntegralMapper.java
  10. 6 2
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/apparatusMapper.xml
  11. 6 6
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/cartMapper.xml
  12. 16 2
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml
  13. 3 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponTypeMapper.xml
  14. 31 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml
  15. 52 35
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java
  16. 62 6
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/CouponTypeHandler.java
  17. 15 1
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java
  18. 12 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/wx/CouponWechatHandler.java
  19. 5 2
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/wx/QrCodeHandler.java

+ 19 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/apparatus/Apparatus.java

@@ -15,11 +15,13 @@ public class Apparatus implements java.io.Serializable{
     private Integer apparatusId;        //id
     private String apparatusBarcode;    //机器条码
     private String userOpenid;          //用户openid
-    private Integer apparatusStore;            //渠道id
+    private Integer apparatusStore;     //渠道id
     private Integer apparatusStatus;    //状态
     private Date apparatusBuyDate;      //购买时间
     private Date apparatusWarrantyDate; //保修截止日期
     private Date apparatusCreateTime;   //创建时间
+    private String productImg;          //产品介绍图
+    private String productName;         //产品名称
 
     private Integer colorId;    //颜色id
 
@@ -104,4 +106,20 @@ public class Apparatus implements java.io.Serializable{
     public void setColorId(Integer colorId) {
         this.colorId = colorId;
     }
+
+    public String getProductImg() {
+        return productImg;
+    }
+
+    public void setProductImg(String productImg) {
+        this.productImg = productImg;
+    }
+
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
 }

+ 18 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItem.java

@@ -23,6 +23,7 @@ public class CouponItem implements Serializable{
 	private String couponItemId;				//id
 	private Integer couponId; 						//优惠券分类id
 	private String couponItemUseropenid;		//领取券的openid
+	private String couponItemCurrentUserOpenid;	//如有转赠,转赠人openid
 	@DateTimeFormat(pattern="yyyy-MM-dd")  
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") 
 	private Date couponUseEndDate;				//券截止使用时间
@@ -32,6 +33,7 @@ public class CouponItem implements Serializable{
 	
 	private Integer couponUseStatus;				//使用状态
 	private Integer oldCouponUseStatus;			//当前的使用状态
+	private Integer couponIsDonation;			//是否已转增
 	@DateTimeFormat(pattern="yyyy-MM-dd")  
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") 
 	private Date couponUseDate;					//使用时间
@@ -111,4 +113,20 @@ public class CouponItem implements Serializable{
 	public void setCouponIsNewPeople(Integer couponIsNewPeople) {
 		this.couponIsNewPeople = couponIsNewPeople;
 	}
+
+	public String getCouponItemCurrentUserOpenid() {
+		return couponItemCurrentUserOpenid;
+	}
+
+	public void setCouponItemCurrentUserOpenid(String couponItemCurrentUserOpenid) {
+		this.couponItemCurrentUserOpenid = couponItemCurrentUserOpenid;
+	}
+
+	public Integer getCouponIsDonation() {
+		return couponIsDonation;
+	}
+
+	public void setCouponIsDonation(Integer couponIsDonation) {
+		this.couponIsDonation = couponIsDonation;
+	}
 }

+ 1 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/integral/StayIntegral.java

@@ -9,7 +9,7 @@ public class StayIntegral implements Serializable{
     private Integer stayId;             //记录ID
     private String userOpenId;          //用户openid
     private Integer configId;           //来源
-    private String orderId;//订单id
+    private String orderId;             //订单id
     private Integer stayNumber;         //积分数量
     private Date stayRecordedTime;      //积分入账时间
     private Integer stayStatus;         //状态

+ 7 - 2
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/coupon/CouponItemService.java

@@ -15,7 +15,6 @@ public interface CouponItemService {
 	 * 分页查询所有优惠券详情列表
 	 * 2016年7月6日
 	 * @author 穆再兴
-	 * @param couponItem
 	 * @return
 	 */
 	public List<CouponItemDto> getCouponItemDtoList(CouponItemDto couponItemDto);
@@ -23,7 +22,6 @@ public interface CouponItemService {
 	/**
 	 * 查询所有符合条件的优惠券详情总数
 	 * 2016年7月7日
-	 * @param couponItem
 	 * @return
 	 */
 	public Integer getCouponItemCount(CouponItemDto couponItemDto);
@@ -60,5 +58,12 @@ public interface CouponItemService {
 	 * @author liuzhiwei
 	 */
 	public Integer updateCouponItemList(List<CouponItem> couponItemList);
+	/**
+	 * -根据openid查询是否已领取新人优惠券
+	 * @param openId
+	 * @return
+	 */
+	Integer getIsReceive(String openId);
+
 
 }

+ 9 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/integral/UseIntegralService.java

@@ -6,6 +6,7 @@ import com.iamberry.wechat.core.entity.integral.IntegralConfig;
 import com.iamberry.wechat.core.entity.integral.MemberIntegral;
 import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.core.entity.integral.UseIntegral;
+import com.sun.org.apache.xpath.internal.operations.Bool;
 
 import java.util.List;
 
@@ -57,4 +58,12 @@ public interface UseIntegralService {
      * @return
      */
     List<RankRule> getRankRule();
+
+    /**
+     * 定时任务
+     * 待入账积分更改到已入账操作
+     * @return
+     */
+    boolean updateIntegralStayToAlready();
+
 }

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java

@@ -58,4 +58,9 @@ public class CouponItemServiceImpl implements CouponItemService {
 		return couponItemMapper.updateCouponItemList(couponItemList);
 	}
 
+	@Override
+	public Integer getIsReceive(String openId) {
+		return couponItemMapper.getIsReceive(openId);
+	}
+
 }

+ 14 - 4
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/integral/UseIntegralServiceImpl.java

@@ -2,10 +2,7 @@ package com.iamberry.wechat.service.integral;
 
 import com.iamberry.wechat.core.entity.PageBean;
 import com.iamberry.wechat.core.entity.ResultMsg;
-import com.iamberry.wechat.core.entity.integral.IntegralConfig;
-import com.iamberry.wechat.core.entity.integral.MemberIntegral;
-import com.iamberry.wechat.core.entity.integral.RankRule;
-import com.iamberry.wechat.core.entity.integral.UseIntegral;
+import com.iamberry.wechat.core.entity.integral.*;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.service.mapper.UseIntegralMapper;
 import com.iamberry.wechat.tools.NameUtils;
@@ -82,4 +79,17 @@ public class UseIntegralServiceImpl implements UseIntegralService {
     public List<RankRule> getRankRule() {
         return useIntegralMapper.getRankRule();
     }
+
+    @Override
+    public boolean updateIntegralStayToAlready() {
+        StayIntegral stayIntegral = new StayIntegral();
+        /*获取所有的待入账积分*/
+        List<StayIntegral>  stayIntegralList = useIntegralMapper.listStayIntegral(stayIntegral);
+		/*判断时间是否大于的那个时间*/
+		/*增加入账积分,累计积分*/
+		/*大于将删除日志表的待入账,并增加入账记录*/
+        return false;
+    }
+
+
 }

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

@@ -62,4 +62,11 @@ public interface CouponItemMapper {
 	 */
 	public Integer updateCouponItemList(List<CouponItem> couponItemList);
 
+	/**
+	 * -根据openid查询是否已领取新人优惠券
+	 * @param openId
+	 * @return
+	 */
+	Integer getIsReceive(String openId);
+
 }

+ 7 - 4
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/UseIntegralMapper.java

@@ -1,10 +1,7 @@
 package com.iamberry.wechat.service.mapper;
 
 import com.iamberry.wechat.core.entity.PageBean;
-import com.iamberry.wechat.core.entity.integral.IntegralConfig;
-import com.iamberry.wechat.core.entity.integral.MemberIntegral;
-import com.iamberry.wechat.core.entity.integral.RankRule;
-import com.iamberry.wechat.core.entity.integral.UseIntegral;
+import com.iamberry.wechat.core.entity.integral.*;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -79,4 +76,10 @@ public interface UseIntegralMapper {
      */
     List<RankRule> getRankRule();
 
+    /**
+     * 查询待入账积分的集合
+     * @return
+     */
+    List<StayIntegral>  listStayIntegral(StayIntegral stayIntegral);
+
 }

+ 6 - 2
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/apparatusMapper.xml

@@ -8,9 +8,13 @@
     <!-- 分页查询机器列表 -->
     <select id="listApparatusPage" parameterType="Apparatus" resultType="Apparatus">
       SELECT
-       *
+        ma.*,
+        pc.color_img productImg,
+        pi.product_name productName
       FROM
-       tb_iamberry_member_apparatus
+        tb_iamberry_member_apparatus ma
+        LEFT JOIN tb_iamberry_product_color pc on ma.color_id = pc.color_id
+        LEFT JOIN tb_iamberry_product_info pi on pc.color_product_id = pi.product_id
       <where>
         <if test="userOpenid != null and userOpenid != ''">
             user_openid = #{userOpenid}

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

@@ -55,9 +55,9 @@ PUBLIC
 		FROM 
 			TB_IAMBERRY_SHOP_CART 
 		WHERE 
-			CART_OPENID = #{cartOpenId} 
-		AND 
-			CART_PRODUCT_ID = #{cartProductId} 
+			CART_OPENID = #{cartOpenId}
+		AND
+			CART_PRODUCT_ID = #{cartProductId}
 		AND 
 			CART_COLOR_ID = #{cartColorId} 
 	</select>
@@ -70,9 +70,9 @@ PUBLIC
 		FROM 
 			TB_IAMBERRY_SHOP_CART 
 		WHERE 
-			CART_OPENID = #{cartOpenId} 
-		AND 
-			CART_PRODUCT_ID = #{cartProductId} 
+			CART_OPENID = #{cartOpenId}
+		AND
+			CART_PRODUCT_ID = #{cartProductId}
 		AND 
 			CART_COLOR_ID = #{cartColorId} 
 	</select>

+ 16 - 2
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml

@@ -112,16 +112,18 @@
 			COUPON_ITEM_ID ,
 			COUPON_ID ,
 			COUPON_ITEM_USER_OPENID ,
+			COUPON_ITEM_CURRENT_USER_OPENID,
 			COUPON_USE_END_DATE ,
 			COUPON_RECEIVE_DATE ,
 			COUPON_USE_STATUS ,
+			COUPON_IS_DONATION ,
 			COUPON_USE_DATE ,
 			COUPON_ITEM_REMARK 
 		)
 		VALUES 
 		(
-			#{couponItemId},#{couponId},#{couponItemUseropenid},#{couponUseEndDate},
-			NOW(),#{couponUseStatus},#{couponUseDate},#{couponItemRemark}
+			#{couponItemId},#{couponId},#{couponItemUseropenid},#{couponItemCurrentUserOpenid},#{couponUseEndDate},
+			NOW(),#{couponUseStatus},#{couponUseDate},#{couponIsDonation},#{couponItemRemark}
 		)
  	</insert>
  	
@@ -185,4 +187,16 @@
 	    	</if>
  		</foreach>
  	</update>
+
+	<!--根据openid查询是否已领取新人优惠券-->
+	<select id="getIsReceive" parameterType="String" resultType="Integer">
+		SELECT
+ 			COUNT(1)
+ 		FROM TB_IAMBERRY_COUPON_ITEM CI
+ 		JOIN TB_IAMBERRY_COUPON_TYPE CT ON CI.COUPON_ID=CT.COUPON_ID
+		where
+				CI.COUPON_ITEM_USER_OPENID=#{openId}
+				AND CT.COUPON_IS_NEW_PEOPLE = 1
+		ORDER BY CI.COUPON_RECEIVE_DATE DESC
+	</select>
 </mapper>

+ 3 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponTypeMapper.xml

@@ -41,6 +41,9 @@
 		    <if test="couponType !=null and couponType != '' ">
 				AND COUPON_TYPE = #{couponType}
 		    </if>
+			<if test="couponIsNewPeople !=null ">
+				AND coupon_is_new_people = #{couponIsNewPeople}
+			</if>
  		</where>
 		ORDER BY COUPON_CREATE_DATE DESC
 		<if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">

+ 31 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/useIntegralMapper.xml

@@ -115,4 +115,35 @@
         )
     </insert>
 
+    <!-- 查询积分来源信息 -->
+    <select id="listStayIntegral" parameterType="StayIntegral" resultType="StayIntegral">
+        SELECT
+            t.stay_id AS  stayId,
+            t.user_openid AS  userOpenId,
+            t.config_id AS  configId,
+            t.sales_orderid AS  orderId,
+            t.stay_number AS  stayNumber,
+            t.stay_recorded_time AS stayRecordedTime,
+            t.stay_status AS  stayStatus,
+            t.stay_remark AS stayRemark,
+            t.stay_create_time AS stayCreateTime,
+            t.stay_update_time AS stayUpdateTime
+        FROM
+            tb_iamberry_stay_integral t
+        <where>
+            <if test="stayId != null">
+                AND stay_id = #{stayId}
+            </if>
+            <if test="userOpenId != null">
+                AND user_openid = #{userOpenId}
+            </if>
+            <if test="configId != null">
+                AND config_id = #{configId}
+            </if>
+            <if test="stayRecordedTime != null and stayRecordedTime != ''">
+                AND stay_recorded_time &gt;= #{stayRecordedTime}
+            </if>
+        </where>
+    </select>
+
 </mapper>

+ 52 - 35
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/CartHandlers.java

@@ -11,6 +11,7 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 
 import com.iamberry.wechat.core.entity.product.Product;
+import com.iamberry.wechat.core.entity.product.ProductColor;
 import com.iamberry.wechat.core.entity.product.QrcodeGift;
 import com.iamberry.wechat.face.apparatus.ApparatusService;
 import com.iamberry.wechat.face.order.CodeService;
@@ -151,14 +152,13 @@ public class CartHandlers {
 
 	/**
 	 * 首页添加商品到购物车post
-	 * @param productId
 	 * @param cartNum
 	 * @param request
 	 * @return ResultMsg
 	 */
 	@ResponseBody
 	@RequestMapping("/addProductToCart")
-	public ResultMsg addProductToCart(@RequestParam("productId") String productId,
+	public ResultMsg addProductToCart(
 									  @RequestParam("colorId") Integer colorId,
 									  @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
 									  HttpServletRequest request) throws Exception {
@@ -166,31 +166,19 @@ public class CartHandlers {
 		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);
-		} else {
-			if (productId == null || "".equals(productId)) {
-				remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
-				remsg.setResultCode(ResultInfo.ERRORCODE);
-				remsg.setStatus(false);
-				return remsg;
-			}
-			try {
-				String productIdString = StaticInfo.md5.decrypt(productId);
-				pid = Integer.parseInt(productIdString);
-			} catch (Exception e) {
-				remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
-				remsg.setResultCode(ResultInfo.ERRORCODE);
-				remsg.setStatus(false);
-				return remsg;
-			}
+		if (colorId == null || "".equals(colorId) || "null".equals(colorId)) {
+			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
 			return remsg;
 		}
+		ProductColor productColor = new ProductColor();
+		productColor.setColorId(colorId);
+		productColor = productInfoService.getProductColor(productColor);
 
 		cartDto.setCartOpenId(openId);
-		cartDto.setCartProductId(pid);
 		cartDto.setCartColorId(colorId);
+		cartDto.setCartProductId(productColor.getColorProductId());
 		//根据用户id和商品id查询购物车中是否存在
 		CartDto cart = cartService.getCartByCartProductId(cartDto);
 		if (null != cart) {
@@ -228,22 +216,33 @@ public class CartHandlers {
 	/**
 	 * 	点击加号按钮添加商品到购物车
 	 * @param request
-	 * @param productId
 	 * @param cartNum
 	 * @return	ResultMsg
 	 * @throws Exception
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/addCart")
-	public ResultMsg  addCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
+	public ResultMsg  addCart(HttpServletRequest request,
 							  @RequestParam("colorId") Integer colorId,
 							  @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
-		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
+//		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
+		String openId  = "oZ9pv02WMRQgyDVRY1a_daYecwHI";
 		ResultMsg remsg=new ResultMsg();
+
+		if (colorId == null || "".equals(colorId) || "null".equals(colorId)) {
+			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			return remsg;
+		}
+		ProductColor productColor = new ProductColor();
+		productColor.setColorId(colorId);
+		productColor = productInfoService.getProductColor(productColor);
+
 		CartDto cartDto = new CartDto();
 		cartDto.setCartOpenId(openId);
 		cartDto.setCartColorId(colorId);
-		cartDto.setCartProductId(productId);
+		cartDto.setCartProductId(productColor.getColorProductId());
 		Integer productNum = cartService.getCartNumByOpenId(cartDto);
 		cartDto.setCartNum(productNum + cartNum);
 		Integer num = cartService.updateCartByOpenId(cartDto);
@@ -262,23 +261,31 @@ public class CartHandlers {
 	/**
 	 * 	点击减号按钮删除商品
 	 * @param request
-	 * @param productId
 	 * @param cartNum
 	 * @return	ResultMsg
 	 * @throws Exception
 	 */
 	@ResponseBody
 	@RequestMapping(value = "/deleteCart")
-	public ResultMsg  deleteCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
+	public ResultMsg  deleteCart(HttpServletRequest request,
 								 @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();
+		if (colorId == null || "".equals(colorId) || "null".equals(colorId)) {
+			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			return remsg;
+		}
+		ProductColor productColor = new ProductColor();
+		productColor.setColorId(colorId);
+		productColor = productInfoService.getProductColor(productColor);
+
 		CartDto cartDto = new CartDto();
 		cartDto.setCartOpenId(openId);
 		cartDto.setCartColorId(colorId);
-		cartDto.setCartProductId(productId);
+		cartDto.setCartProductId(productColor.getColorProductId());
 		Integer productNum = cartService.getCartNumByOpenId(cartDto);
 		Integer num = 0;
 		if (productNum != null && productNum > 1) {
@@ -305,14 +312,23 @@ public class CartHandlers {
 	@ResponseBody
 	@RequestMapping(value = "/deleteCartByProductId")
 	public ResultMsg deleteCartByProductId(HttpServletRequest request,
-										   @RequestParam("productId") Integer productId,
 										   @RequestParam("colorId") Integer colorId) throws Exception{
 		String openId  = WechatUtils.getUserBySession(request).getUserOpenid();
-		CartDto cartDto = new CartDto();
 		ResultMsg remsg=new ResultMsg();
+		if (colorId == null || "".equals(colorId) || "null".equals(colorId)) {
+			remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
+			remsg.setResultCode(ResultInfo.ERRORCODE);
+			remsg.setStatus(false);
+			return remsg;
+		}
+		ProductColor productColor = new ProductColor();
+		productColor.setColorId(colorId);
+		productColor = productInfoService.getProductColor(productColor);
+
+		CartDto cartDto = new CartDto();
 		cartDto.setCartOpenId(openId);
 		cartDto.setCartColorId(colorId);
-		cartDto.setCartProductId(productId);
+		cartDto.setCartProductId(productColor.getColorProductId());
 		if (cartService.deleteCartByCartId(cartDto) >= 1) {
 			remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 			remsg.setResultCode(ResultInfo.SUCCESSCODE);
@@ -534,13 +550,14 @@ public class CartHandlers {
 			//获取账户余额,判断是否在可用范围内
 			int balancePayAmount=shopSalesOrderDto.getBalancePayAmount();
 			int total = shopSalesOrderDto.getSalesYetAmount();
+
 			//判断余额支付金额是否大于用户余额
-			if(balancePayAmount > 0 && member.getUserIncome() > balancePayAmount) {
+			/*if(balancePayAmount > 0 && member.getUserIncome() > balancePayAmount) {
 				total = total - balancePayAmount > 0 ? total - balancePayAmount : 0;
 			} else if(balancePayAmount > 0 && member.getUserIncome() < balancePayAmount) {
 				msg.setMessage(ResultInfo.NO_ENOUGH_FOR_PAY);
 				return msg;
-			}
+			}*/
 			// 发起支付
 			PayResult result = payService.requestPay(openId, orderId, total, orderItemList.get(0).getItemProductName() + "...", NameUtils.getConfig("WECHAT_ORDER_BACK"));
 			if (result.isPaySuccess()) {

+ 62 - 6
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/coupon/CouponTypeHandler.java

@@ -1,11 +1,6 @@
 package com.iamberry.wechat.handles.coupon;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -515,4 +510,65 @@ public class CouponTypeHandler {
 		}
 		return rm;
 	}
+
+	/**
+	 * 获取用户是否已领取优惠券
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping("/getIsReceive")
+	public ResultMsg getIsReceive(HttpServletRequest request){
+		ResultMsg resultMsg = new ResultMsg();
+		Member memberInfo = WechatUtils.getUserBySession(request);
+		Integer msg = couponItemService.getIsReceive(memberInfo.getUserOpenid());
+		if(msg > 0){
+			resultMsg.setResultCode(ResultInfo.ERRORCODE);
+			resultMsg.setStatus(false);
+			resultMsg.setMessage("已领取优惠券");
+			return resultMsg;
+		}else{
+			resultMsg.setResultCode(ResultInfo.SUCCESSCODE);
+			resultMsg.setStatus(true);
+		}
+		return resultMsg;
+	}
+
+	/**
+	 * 点击领取新人优惠券(为当前用户新增一条优惠券)
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping("/addAewPeople")
+	public ResultMsg addAewPeople(HttpServletRequest request){
+		ResultMsg resultMsg = new ResultMsg();
+		Member memberInfo = WechatUtils.getUserBySession(request);
+		CouponType couponType = new CouponType();
+		couponType.setCouponIsNewPeople(1);
+		List<CouponType> couponTypeList = couponTypeService.getCouponTypeList(couponType);
+		if(couponTypeList == null || couponTypeList.size() < 1){
+			resultMsg.setResultCode(ResultInfo.ERRORCODE);
+			resultMsg.setStatus(false);
+			return resultMsg;
+		}
+
+		CouponItem couponItem = new CouponItem();
+		couponItem.setCouponId(couponTypeList.get(0).getCouponId());
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(new Date());
+		calendar.set(Calendar.YEAR,1);
+		couponItem.setCouponUseEndDate(calendar.getTime());//领取后一年有效
+		couponItem.setCouponReceiveDate(new Date());
+		couponItem.setCouponItemUseropenid(memberInfo.getUserOpenid());
+		couponItem.setCouponUseStatus(1);
+		couponItem.setCouponIsDonation(2);
+		couponItem.setCouponItemRemark("新人优惠券");
+		if(couponItemService.insertCouponItem(couponItem) > 0){
+			resultMsg.setResultCode(ResultInfo.SUCCESSCODE);
+			resultMsg.setStatus(true);
+		}else{
+			resultMsg.setResultCode(ResultInfo.ERRORCODE);
+			resultMsg.setStatus(false);
+		}
+		return resultMsg;
+	}
 }

+ 15 - 1
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/mq/MQTask.java

@@ -10,6 +10,7 @@ import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
 import com.iamberry.wechat.core.entity.agentInfo.OrderHint;
 import com.iamberry.wechat.face.admin.SystemService;
 import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
+import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.tools.HttpClient431Util;
 import com.iamberry.wechat.tools.NameUtils;
 import org.apache.commons.lang.StringUtils;
@@ -69,6 +70,8 @@ public class MQTask implements InitializingBean {
 	private SystemService systemService;
 	@Autowired
 	private AgentPurchaseOrderService agentPurchaseOrderService;
+	@Autowired
+	private UseIntegralService useIntegralService;
 	
 	private Lock lock = new ReentrantLock();
 
@@ -383,7 +386,7 @@ public class MQTask implements InitializingBean {
 	/**
 	 * 电动牙刷商城更换刷头提示(每小时执行一次)
 	 */
-	@SuppressWarnings(value = {"unchecked", "rawtypes"})
+	/*@SuppressWarnings(value = {"unchecked", "rawtypes"})
 	@Scheduled(cron = "0 0 0/1 * * ?")
 	public void updateToothHint() {
 		//获取更换刷头时间间隔
@@ -412,5 +415,16 @@ public class MQTask implements InitializingBean {
 		}
 		//批量修改更换刷头信息
 		int num = agentPurchaseOrderService.updateOrderHintList(list);
+	}*/
+
+
+	/**
+	 * 待入账积分更改为已入账积分(每小时执行一次)
+	 */
+	@SuppressWarnings(value = {"unchecked", "rawtypes"})
+	@Scheduled(cron = "0 0 0/1 * * ?")
+	public void updateIntegralStayToAlready() {
+		useIntegralService.updateIntegralStayToAlready();
 	}
+
 }

+ 12 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/wx/CouponWechatHandler.java

@@ -1,11 +1,23 @@
 package com.iamberry.wechat.handles.wx;
 
 import java.io.IOException;
+import java.util.*;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.iamberry.wechat.core.entity.ResultMsg;
+import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.core.entity.coupon.CouponItem;
+import com.iamberry.wechat.core.entity.coupon.CouponItemDto;
+import com.iamberry.wechat.core.entity.coupon.CouponType;
+import com.iamberry.wechat.core.entity.member.Member;
+import com.iamberry.wechat.face.coupon.CouponItemService;
+import com.iamberry.wechat.face.coupon.CouponTypeService;
+import com.iamberry.wechat.tools.ResultInfo;
+import com.iamberry.wechat.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 

+ 5 - 2
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/wx/QrCodeHandler.java

@@ -37,9 +37,10 @@ public class QrCodeHandler {
         res.sendRedirect("http://w.iamberry.com/tooth/view/default.html?qrCode="+qrCode);
     }
 
-    @RequestMapping("/getMember/{qrCode}")
-    public ResultMsg getMember(@PathVariable("qrCode") String qrCode, HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
+    @RequestMapping("/getMember")
+    public ResultMsg getMember(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
         ResultMsg msg = new ResultMsg();
+        String qrCode = req.getParameter("qrCode");
         if (!StringUtil.isNotEmpty(qrCode)) {
             msg.setResultCode(ResultInfo.ERRORCODE);
             msg.setStatus(false);
@@ -61,6 +62,8 @@ public class QrCodeHandler {
         map.put("memberInfo",memberInfo);
         map.put("isActivation",isActivation);
         msg.setData(map);
+        msg.setResultCode(ResultInfo.SUCCESSCODE);
+        msg.setStatus(true);
         return msg;
     }
 }