|
@@ -5,10 +5,14 @@ import com.iamberry.wechat.core.entity.WechatUtils;
|
|
|
import com.iamberry.wechat.core.entity.member.Member;
|
|
|
import com.iamberry.wechat.core.entity.mothMovable.MothMovable;
|
|
|
import com.iamberry.wechat.core.entity.stati.AcceStatistics;
|
|
|
+import com.iamberry.wechat.face.home.HomeService;
|
|
|
import com.iamberry.wechat.face.member.MemberService;
|
|
|
import com.iamberry.wechat.face.mothMovable.MothMovableService;
|
|
|
import com.iamberry.wechat.face.stati.AcceStatisticsService;
|
|
|
import com.iamberry.wechat.tools.ResultInfo;
|
|
|
+import com.iamberry.wechat.tools.WeixinUtil;
|
|
|
+import com.iamberry.wechat.utils.SendMessageUtil;
|
|
|
+import net.sf.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
@@ -17,6 +21,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.net.URLEncoder;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -35,7 +43,11 @@ public class MothMovableHandler {
|
|
|
@Autowired
|
|
|
private MemberService memberService;
|
|
|
@Autowired
|
|
|
+ private HomeService homeService;
|
|
|
+ @Autowired
|
|
|
private AcceStatisticsService acceStatisticsService;
|
|
|
+ @Autowired
|
|
|
+ private SendMessageUtil sendMessageUtil;
|
|
|
|
|
|
/**
|
|
|
* 获取二维码
|
|
@@ -81,6 +93,26 @@ public class MothMovableHandler {
|
|
|
}catch (Exception e){
|
|
|
return new ResultMsg(false, ResultMsg.ERROR, e.getMessage(),null);
|
|
|
}
|
|
|
+
|
|
|
+ //判断时候领取的优惠券,有领取了优惠券,就推送信息
|
|
|
+ if(mothMovable.getCouponItemId() != null && !"".equals(mothMovable.getCouponItemId())){
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.add(Calendar.DATE, 7); //有效期7天
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String dataStr = "有效期至"+ formatter.format(calendar.getTime());
|
|
|
+ try{
|
|
|
+ sendMessageUtil.servicePush(
|
|
|
+ "亲爱的用户,恭喜您已领取WaterO滤芯T1/T2抵用券",
|
|
|
+ "WaterO滤芯T1/T2抵用券",
|
|
|
+ dataStr,
|
|
|
+ "可在“服务中心—会员中心—券包”查看,请尽快使用。",
|
|
|
+ member.getUserOpenid(),
|
|
|
+ ResultInfo.SERVICE_PUSH_URL);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
msg.setResultCode(ResultInfo.SUCCESSCODE);
|
|
|
msg.setData(mothMovable);
|
|
|
msg.setStatus(true);
|
|
@@ -100,7 +132,32 @@ public class MothMovableHandler {
|
|
|
ResultMsg msg = new ResultMsg();
|
|
|
|
|
|
Member member = WechatUtils.getUserBySession(request);
|
|
|
+
|
|
|
+ JSONObject jsonObject = WeixinUtil.getUserInfo(member.getUserOpenid());
|
|
|
+ String sex = jsonObject.getString("sex");//值为1时是男性,值为2时是女性,值为0时是未知
|
|
|
+ String city = jsonObject.getString("city");
|
|
|
+ String country = jsonObject.getString("country");
|
|
|
+ String province = jsonObject.getString("province");
|
|
|
+ String nickname = jsonObject.getString("nickname");
|
|
|
+ String headimgurl = jsonObject.getString("headimgurl");
|
|
|
+ try {
|
|
|
+ nickname = URLEncoder.encode(jsonObject.getString("nickname"), "UTF-8");
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ nickname = "";
|
|
|
+ }
|
|
|
member = memberService.getMemberByUserOpenId(member.getUserOpenid());
|
|
|
+ //赋值&更新会员数据
|
|
|
+ if (member != null && member.getUserId() != null) {
|
|
|
+ member.setUserOpenid(member.getUserOpenid());
|
|
|
+ member.setUserNickname(nickname);
|
|
|
+ member.setUserSex(Integer.parseInt(sex));
|
|
|
+ member.setUserAddr(country+"-"+province+"-"+city);
|
|
|
+ member.setUserHead(headimgurl);
|
|
|
+ //userIsBought 暂存旧的关注状态
|
|
|
+ member.setUserIsBought(member.getUserStatus() == null ? 1 : member.getUserStatus());
|
|
|
+ member.setUserStatus(2); // 已关注
|
|
|
+ homeService.updateWechatMemberInfoByByOpenid(member);
|
|
|
+ }
|
|
|
|
|
|
//进入活动的UV埋点
|
|
|
AcceStatistics acceStatistics = new AcceStatistics();
|
|
@@ -108,7 +165,7 @@ public class MothMovableHandler {
|
|
|
acceStatistics.setAcceStatType(1);
|
|
|
acceStatistics.setJudgeTime(new Date());
|
|
|
Integer count = acceStatisticsService.getAcceStatiCount(acceStatistics);
|
|
|
- if(count < 0){ //添加UV访问
|
|
|
+ if(count <= 0){ //添加UV访问
|
|
|
Integer flag = acceStatisticsService.save(acceStatistics);
|
|
|
}
|
|
|
|