ソースを参照

新增福利社接口

liujiankang 7 年 前
コミット
41e2b47c2a

+ 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 {
 	 * 分页查询所有优惠券详情列表
 	 * 201676
 	 * @author 穆再兴
-	 * @param couponItem
 	 * @return
 	 */
 	public List<CouponItemDto> getCouponItemDtoList(CouponItemDto couponItemDto);
@@ -23,7 +22,6 @@ public interface CouponItemService {
 	/**
 	 * 查询所有符合条件的优惠券详情总数
 	 * 201677
-	 * @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);
+
 
 }

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

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

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

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