Explorar o código

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

wangxiaoming %!s(int64=7) %!d(string=hai) anos
pai
achega
6a2a76ea97
Modificáronse 25 ficheiros con 299 adicións e 22 borrados
  1. 18 0
      tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/coupon/CouponItem.java
  2. 7 2
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/coupon/CouponItemService.java
  3. 7 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/member/MemberService.java
  4. 7 0
      tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/order/AdminOrderService.java
  5. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/coupon/CouponItemServiceImpl.java
  6. 6 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AdminOrderMapper.java
  7. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/CouponItemMapper.java
  8. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/MemberMapper.java
  9. 0 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/OrderMapper.java
  10. 10 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml
  11. 16 2
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponItemMapper.xml
  12. 3 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/couponTypeMapper.xml
  13. 19 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml
  14. 1 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/orderMapper.xml
  15. 1 1
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml
  16. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/MemberServiceImpl.java
  17. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/MemberDao.java
  18. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/imp/MemberDaoImpl.java
  19. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/AdminOrderServiceImpl.java
  20. 7 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/AdminOrderDao.java
  21. 5 0
      tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/impl/AdminOrderDaoImpl.java
  22. 3 3
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java
  23. 12 11
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/UseIntegralHandler.java
  24. 60 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/member/MemberHandler.java
  25. 76 0
      tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/wx/CouponWechatHandler.java

+ 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;
+	}
 }

+ 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);
+
 
 }

+ 7 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/member/MemberService.java

@@ -144,6 +144,13 @@ public interface MemberService{
 	Member getMyMemberInfo(String openId);
 
 	/**
+	 * 修改个人信息
+	 * @param member
+	 * @return
+	 */
+	Integer updateMyMember(Member member);
+
+	/**
 	 * 根据 openid 修改用户待入账积分
 	 * 2018年1月10日17:18:39
 	 * @param member

+ 7 - 0
tooth-wechat-interface/src/main/java/com/iamberry/wechat/face/order/AdminOrderService.java

@@ -203,4 +203,11 @@ public interface AdminOrderService {
 	 */
 	Integer updateOrderRfund(Order order);
 
+	/**
+	 * 查询未发货数量
+	 * @param openid
+	 * @return
+	 */
+	Integer getNotSendCount(String openid);
+
 }

+ 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);
+	}
+
 }

+ 6 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/AdminOrderMapper.java

@@ -193,4 +193,10 @@ public interface AdminOrderMapper {
 	 */
 	Integer updateOrderRfund(Order order);
 
+	/**
+	 * 查询未发货数量
+	 * @param openid
+	 * @return
+	 */
+	Integer getNotSendCount(String openid);
 }

+ 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 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/MemberMapper.java

@@ -144,4 +144,11 @@ public interface MemberMapper {
 	 * @return
 	 */
 	Integer insertStayIntegral(StayIntegral stayIntegral);
+
+	/**
+	 * 修改个人信息
+	 * @param member
+	 * @return
+	 */
+	Integer updateMyMember(Member member);
 }

+ 0 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/OrderMapper.java

@@ -64,5 +64,4 @@ public interface OrderMapper {
 	 * @return
 	 */
 	public Order getOrderAddressInfo(String openid);
-	
 }

+ 10 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml

@@ -32,7 +32,16 @@ PUBLIC
 		AND cash_logs_res_type = 4 
 		
 	</select>
-	
+
+	<!--查询未发货数量-->
+	<select id="getNotSendCount" parameterType="String" resultType="Integer">
+		SELECT
+		COUNT (*)
+		FROM tb_iamberry_shop_sales_order
+		WHERE  sales_openid=#{openid}
+		AND sales_send_date is null
+	</select>
+
 	<!-- 后台订单列表查询 -->
 	<select id="selectShopOrder" parameterType="Order" resultType="Order">
 		SELECT O.SALES_ORDERID salesOrderid, O.SALES_ADDRESS_NAME salesAddressName, 

+ 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 ">

+ 19 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/memberMapper.xml

@@ -44,6 +44,25 @@
 		FROM TB_IAMBERRY_USER_USERINFO
 		WHERE user_openid = #{userOpenid}
 	</select>
+	<!--修改个人信息-->
+	<update id="updateMyMember" parameterType="Member" >
+		UPDATE TB_IAMBERRY_USER_USERINFO
+		<set>
+			<if test="userName!=null||userName!=''">
+				user_name=#{userName},
+			</if>
+			<if test="userTel!=null">
+				user_tel=#{userTel},
+			</if>
+			<if test="userSex!=null">
+				user_sex=#{userSex},
+			</if>
+			<if test="userBirthDate!=null">
+				user_birth_date=#{userBirthDate}
+			</if>
+		</set>
+		WHERE user_openid = #{userOpenid}
+	</update>
 	<!-- 匹配查询会员信息 -->
 	<select id="getMemberByFuzzy" parameterType="Member" resultType="Member">
 		select 

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/orderMapper.xml

@@ -72,7 +72,7 @@ PUBLIC
 		WHERE
 			SALES_STATUS = 1 AND SALES_ORDERID = #{salesOrderid}
 	</update>
-	
+
 	<!-- 根据订单号,获取订单的详细信息 -->
 	<select id="selectOrderStatusByOrderId" parameterType="String" resultType="Integer">
 		SELECT

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/productInfoMapper.xml

@@ -69,7 +69,7 @@
 	</select>
 
 	<!--查询正在使用的产品类型-->
-	<select id="listProductType" resultType="ProductType">
+	<select id="listProductType" resultType="ProductType" >
 		SELECT
 		<include refid="allTypeField"></include>
 		FROM TB_IAMBERRY_PRODUCT_TYPE

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/MemberServiceImpl.java

@@ -328,6 +328,11 @@ public class MemberServiceImpl implements MemberService {
 	}
 
 	@Override
+	public Integer updateMyMember(Member member) {
+		return memberDao.updateMyMember(member);
+	}
+
+	@Override
 	public Integer updateUserStayIntegralByOpenId(Member member) {
 		return memberDao.updateUserStayIntegralByOpenId(member);
 	}

+ 7 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/MemberDao.java

@@ -122,6 +122,13 @@ public interface MemberDao {
 	Member getMyMemberInfo(String openId);
 
 	/**
+	 * 修改个人信息
+	 * @param member
+	 * @return
+	 */
+	Integer updateMyMember(Member member);
+
+	/**
 	 * 根据 openid 修改用户待入账积分
 	 * 2018年1月10日17:18:39
 	 * @param member

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/member/dao/imp/MemberDaoImpl.java

@@ -143,6 +143,11 @@ public class MemberDaoImpl  implements MemberDao {
 	}
 
 	@Override
+	public Integer updateMyMember(Member member) {
+		return memberMapper.updateMyMember(member);
+	}
+
+	@Override
 	public Integer updateUserStayIntegralByOpenId(Member member) {
 		return memberMapper.updateUserStayIntegralByOpenId(member);
 	}

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/AdminOrderServiceImpl.java

@@ -769,4 +769,9 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	public Integer updateOrderRfund(Order order) {
 		return adminOrderDao.updateOrderRfund(order);
 	}
+
+	@Override
+	public Integer getNotSendCount(String openid) {
+		return adminOrderDao.getNotSendCount(openid);
+	}
 }

+ 7 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/AdminOrderDao.java

@@ -210,4 +210,11 @@ public interface AdminOrderDao {
 	 */
 	Integer updateOrderRfund(Order order);
 
+	/**
+	 * 查询未发货数量
+	 * @param openid
+	 * @return
+	 */
+	Integer getNotSendCount(String openid);
+
 }

+ 5 - 0
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/order/dao/impl/AdminOrderDaoImpl.java

@@ -309,4 +309,9 @@ public class AdminOrderDaoImpl implements AdminOrderDao {
 	public Integer updateOrderRfund(Order order) {
 		return adminOrderMapper.updateOrderRfund(order);
 	}
+
+	@Override
+	public Integer getNotSendCount(String openid) {
+		return adminOrderMapper.getNotSendCount(openid);
+	}
 }

+ 3 - 3
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/cart/ProductInfoHandler.java

@@ -680,7 +680,7 @@ public class ProductInfoHandler {
 	public ResultMsg listProductType(){
 		ResultMsg rm=new ResultMsg();
 		List<ProductType> list=productInfoService.listProductType();
-		if(list.size()<0){
+		if(list.size()<0||list==null){
 			rm.setStatus(false);
 			rm.setResultCode(ResultInfo.ERRORCODE);
 			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
@@ -694,7 +694,7 @@ public class ProductInfoHandler {
 	}
 
 	/**
-	 * 根据产品类型id查询产品颜色信息
+	 * 根据产品类型id查询产品列表
 	 * @param typeId
 	 * @param pageSize
 	 * @param pageNO
@@ -706,7 +706,7 @@ public class ProductInfoHandler {
 											   @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
 											   @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO){
 		ResultMsg rm=new ResultMsg();
-		if(typeId<=0){
+		if(typeId!=null&&typeId<=0){
 			rm.setStatus(false);
 			rm.setResultCode(ResultInfo.ERRORCODE);
 			rm.setMessage(NameUtils.getConfig("ERRORINFO"));

+ 12 - 11
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/integral/UseIntegralHandler.java

@@ -10,6 +10,7 @@ import com.iamberry.wechat.core.entity.integral.UseIntegral;
 import com.iamberry.wechat.core.entity.member.Member;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import com.iamberry.wechat.face.member.MemberService;
+import com.iamberry.wechat.face.order.AdminOrderService;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResultInfo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,8 @@ public class UseIntegralHandler {
     private UseIntegralService useIntegralService;
     @Autowired
     private MemberService memberService;
+    @Autowired
+    private AdminOrderService adminOrderService;
     /**
      * 收入记录 use_type=1
      * @param req
@@ -192,7 +195,7 @@ public class UseIntegralHandler {
     }
 
     /**
-     * 获取会员信息、会员等级信息
+     * 会员中心
      * @param req
      * @return
      */
@@ -202,19 +205,14 @@ public class UseIntegralHandler {
         ResultMsg rm=new ResultMsg();
         Map<String,Object> map=new HashMap<String, Object>();
         Member member=WechatUtils.getUserBySession(req);
-        if (member == null || member.getUserOpenid() == null) {
+        String openid=member.getUserOpenid();
+        if (member == null || openid == null) {
             rm.setMessage(ResultInfo.loginOutError);
             return rm;
         }
-        member=memberService.getMyMemberInfo(member.getUserOpenid());
-        if(member==null){
-            rm.setStatus(false);
-            rm.setResultCode(ResultInfo.ERRORCODE);
-            rm.setMessage(NameUtils.getConfig("ERRORINFO"));
-            return rm;
-        }
+        /*************会员等级***************/
+        member=memberService.getMyMemberInfo(openid);
         int userIntegralCount=member.getUserIntegral();
-
         List<RankRule> list=useIntegralService.getRankRule();
         RankRule rankRule=null;
         for(RankRule r:list){
@@ -223,8 +221,11 @@ public class UseIntegralHandler {
                 break;
             }
         }
+        /**************未发货数量*****************/
+        Integer notSendCount=adminOrderService.getNotSendCount(openid);
+
+        map.put("notSendCount",notSendCount);
         map.put("rankRule",rankRule);
-        map.put("memberInfo",member);
         rm.setStatus(true);
         rm.setResultCode(ResultInfo.SUCCESSCODE);
         rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));

+ 60 - 0
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/member/MemberHandler.java

@@ -2,6 +2,7 @@ package com.iamberry.wechat.handles.member;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import javax.servlet.ServletException;
@@ -9,6 +10,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.iamberry.wechat.core.entity.integral.MemberIntegral;
+import com.iamberry.wechat.core.entity.integral.RankRule;
 import com.iamberry.wechat.face.integral.UseIntegralService;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -367,4 +369,62 @@ public class MemberHandler {
 		}
 	}
 
+	/**
+	 * 修改个人信息
+	 * @param req
+	 * @param member
+	 * @return
+	 */
+	@RequestMapping("/updateMyMember")
+	@ResponseBody
+	public ResultMsg updateMyMember(HttpServletRequest req,Member member){
+		ResultMsg rm=new ResultMsg();
+		Member memberInfo=WechatUtils.getUserBySession(req);
+		if (memberInfo == null || memberInfo.getUserOpenid() == null) {
+			rm.setMessage(ResultInfo.loginOutError);
+			return rm;
+		}
+		member.setUserOpenid(memberInfo.getUserOpenid());
+		Integer i=memberService.updateMyMember(member);
+		if(i<0){
+			rm.setResultCode(ResultInfo.ERRORCODE);
+			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
+			rm.setStatus(false);
+			return rm;
+		}
+		rm.setStatus(true);
+		rm.setResultCode(ResultInfo.SUCCESSCODE);
+		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+		rm.setData(i);
+		return rm;
+	}
+	/**
+	 * 获取个人信息
+	 * @param req
+	 * @return
+	 */
+	@RequestMapping("/getMember")
+	@ResponseBody
+	public ResultMsg getMember(HttpServletRequest req){
+		ResultMsg rm=new ResultMsg();
+		Member member=WechatUtils.getUserBySession(req);
+		String openid=member.getUserOpenid();
+		if (member == null || openid == null) {
+			rm.setMessage(ResultInfo.loginOutError);
+			return rm;
+		}
+		member=memberService.getMyMemberInfo(openid);
+		if(member==null){
+			rm.setStatus(false);
+			rm.setResultCode(ResultInfo.ERRORCODE);
+			rm.setMessage(NameUtils.getConfig("ERRORINFO"));
+			return rm;
+		}
+		rm.setStatus(true);
+		rm.setResultCode(ResultInfo.SUCCESSCODE);
+		rm.setMessage(NameUtils.getConfig("SUCCESSINFO"));
+		rm.setData(member);
+		return rm;
+	}
+
 }

+ 76 - 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;
 
@@ -18,6 +30,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 @Controller
 @RequestMapping("/wechat/couponWechat")
 public class CouponWechatHandler {
+	@Autowired
+	CouponItemService couponItemService;
+	@Autowired
+	CouponTypeService couponTypeService;
 	/**
 	 * 
 	 * @param req
@@ -46,4 +62,64 @@ public class CouponWechatHandler {
 			e.printStackTrace();
 		}
 	}
+
+	/**
+	 * 获取用户是否已领取优惠券
+	 * @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.SUCCESSCODE);
+			resultMsg.setStatus(true);
+		}else{
+			resultMsg.setResultCode(ResultInfo.ERRORCODE);
+			resultMsg.setStatus(false);
+			resultMsg.setMessage("机器信息不存在,请重新进入!");
+			return resultMsg;
+		}
+		return resultMsg;
+	}
+
+	/**
+	 * 点击领取新人优惠券(为当前用户新增一条优惠券)
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping("/getIsReceive")
+	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.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;
+	}
 }