浏览代码

上朵年货节

wangxiaoming 5 年之前
父节点
当前提交
7a9f78d585

+ 0 - 1
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/WechatUtils.java

@@ -75,7 +75,6 @@ public class WechatUtils {
 	 * @Time   2016年11月24日
 	 */
 	public static Member getUserBySession(HttpServletRequest request) {
-
 // 		Member m = new Member();
 //		m.setUserId(1);
 // 		m.setUserOpenid("oZ9pv02WMRQgyDVRY1a_daYecwHI");

+ 6 - 4
tooth-common-core/src/main/java/com/iamberry/wechat/tools/WeixinUtil.java

@@ -463,7 +463,7 @@ public class WeixinUtil {
 			return null;
 		}
 
-		// 获取信息
+		// 获取信息 - 验证
 		JSONObject jsonObject = httpRequest(NameUtils.userinfo_url.replaceAll("ACCESS_TOKEN", token.getToken()).replaceAll("OPENID", openid), "GET", null);
 		if (null == jsonObject) {
 			// 网络错误
@@ -472,12 +472,14 @@ public class WeixinUtil {
 
 		// 对数据进行get(防止出现问题,能够让程序及时补救), 如果抛出异常,表示access_token可能失效,强制获取一次。
 		try {
-			jsonObject.getString("sex");
+			if(jsonObject.has("sex")){	//关注的用户
+				return jsonObject;
+			}else if(jsonObject.has("subscribe")){
+				return jsonObject;
+			}
 		} catch (Exception e) {
-			
 			// 记录日志
 			logger.error("getUserInfo method throw exception:" + e.getMessage() + "[" + jsonObject + "]");
-			
 			// 判断错误信息是否为 access_token 失效的问题,只有access失效,我们才重新获取,否则每次获取可能导致access_token资源耗尽
 			if (jsonObject.getInt("errcode") != 40001) 
 				return jsonObject;

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

@@ -551,12 +551,6 @@
 			<if test="userIncome != null ">
 				user_income = #{userIncome},
 			</if >
-			<if test="userCoupon != null ">
-				user_coupon = #{userCoupon},
-			</if >
-			<if test="userTemplateId != null ">
-				user_template_id = #{userTemplateId},
-			</if >
 			<if test="userDealers != null ">
 				user_dealers = #{userDealers},
 			</if >

+ 40 - 15
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/home/HomeHandler.java

@@ -235,34 +235,59 @@ public class HomeHandler {
 
 		Member m = WechatUtils.getUserBySession(request);
 		m = memberService.getMemberByUserOpenId(m.getUserOpenid());
+		Integer userStatus = m.getUserStatus();	//关注状态	1:未关注,默认  2:已关注  0:已取消关注
 		try{
-			JSONObject jsonObject = WeixinUtil.getUserInfo(m.getUserOpenid());
+			JSONObject jsonObject = WeixinUtil.getUserInfo(m.getUserOpenid());	//subscribe
 			assert jsonObject != null;
-			assert jsonObject.has("nickname");
-			String nickname = jsonObject.getString("nickname");
-			String headimgurl = jsonObject.getString("headimgurl");
-
-			Member mem = new Member();
-			mem.setUserHead(headimgurl);
-			mem.setUserNickname(nickname);
-			mem.setUserOpenid(m.getUserOpenid());
-			if(m.getUserStatus() == 2){
-				memberService.nowUpdateUserByOpenId(mem);
+			if(jsonObject.has("nickname")){
+				String nickname = jsonObject.getString("nickname");
+				String headimgurl = jsonObject.getString("headimgurl");
+				Integer sex = jsonObject.getInt("sex");
+				String city = jsonObject.getString("city");
+				String country = jsonObject.getString("country");
+				String province = jsonObject.getString("province");
+				Member mem = new Member();
+				mem.setUserHead(headimgurl);
+				mem.setUserNickname(nickname);
+				mem.setUserOpenid(m.getUserOpenid());
+				if(m.getUserStatus() == 2){
+					memberService.nowUpdateUserByOpenId(mem);
+				}else{
+					userStatus = 2;	//已关注
+					if(nickname != null && !"".equals(nickname)){
+						mem.setUserStatus(2);
+					}
+					mem.setUserSex(sex);
+					mem.setUserAddr(country+"-"+province+"-"+city);
+					homeService.updateWechatMemberInfoByByOpenid(mem);
+				}
+				logger.info("获取个人信息成功;openid:"+m.getUserOpenid());
 			}else{
-				if(nickname != null && !"".equals(nickname)){
-					mem.setUserStatus(2);
+				if(jsonObject.has("subscribe")){
+					Integer subscribe = jsonObject.getInt("subscribe");
+					if(subscribe == 0  && m.getUserStatus() == 2){	//已经取消关注了
+						//修改成未关注
+						userStatus = 0;
+						Member mem = new Member();
+						mem.setUserOpenid(m.getUserOpenid());
+						mem.setUserStatus(0);
+						memberService.nowUpdateUserByOpenId(mem);
+					}
 				}
-				homeService.updateWechatMemberInfoByByOpenid(mem);
 			}
-			logger.info("获取个人信息成功;openid:"+m.getUserOpenid());
 		}catch (Exception e){
 			logger.info("获取个人信息失败;openid:"+m.getUserOpenid());
 			e.printStackTrace();
 		}
 
+		Map map = new HashMap();
+		map.put("userStatus",userStatus);
+		map.put("openId",m.getUserOpenid());
+
 		msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
 		msg.setResultCode(ResultInfo.SUCCESSCODE);
 		msg.setStatus(true);
+		msg.setData(map);
 		return msg;
 	}
 

+ 8 - 0
tooth-wechat-web/src/main/resources/iamberry-wechat-service-mybatis.xml

@@ -294,6 +294,10 @@
 		<!-- 赠品 -->
 		<typeAlias type="com.iamberry.wechat.core.entity.gift.SettlementGift" alias="SettlementGift"/>
 
+		<!-- 年货节 -->
+		<typeAlias type="com.iamberry.wechat.core.entity.activity.Festival" alias="Festival"/>
+		<typeAlias type="com.iamberry.wechat.core.entity.activity.FestivalHelp" alias="FestivalHelp"/>
+
 		<package name="com.iamberry.wechat.core.entity.rent"/>
 	</typeAliases>
 	<!-- PageHelper -->
@@ -436,5 +440,9 @@
 
 		<!-- 赠品 -->
 		<mapper resource="com/iamberry/wechat/service/mapper/settlementGiftMapper.xml"/>
+
+		<!-- 年货节 -->
+		<mapper resource="com/iamberry/wechat/service/mapper/festivalHelpMapper.xml"/>
+		<mapper resource="com/iamberry/wechat/service/mapper/festivalMapper.xml"/>
 	</mappers>
 </configuration>

+ 6 - 6
tooth-wechat-web/src/main/resources/platform.properties

@@ -169,18 +169,18 @@ signatureSimple=userAgent=%s&userIp=%s&token=%s&timestamp=%s&sessionId=%s
 
 
 # pubNo -- soodo
-#pubNo=gh_cdd0a86d3b19
+pubNo=gh_cdd0a86d3b19
 # appId-soodo
-#appId=wxdb090f0af89e0be3
+appId=wxdb090f0af89e0be3
 # appSecret-soodo
-#appSecret=518114a120274f625530750c1803921b
+appSecret=518114a120274f625530750c1803921b
 
 # pubNo -- soodo-test
-pubNo=gh_d6b974cc3491
+#pubNo=gh_d6b974cc3491
 # appId-soodo-test
-appId=wx921a7cdaa9fb2461
+#appId=wx921a7cdaa9fb2461
 # appSecret-test
-appSecret=9d54dbc626c64939bd3682ef05a5a4a5
+#appSecret=9d54dbc626c64939bd3682ef05a5a4a5
 
 # token
 token=weixin

+ 17 - 17
tooth-wechat-web/src/main/resources/wx_public_no.properties

@@ -1,25 +1,25 @@
-#
-#pubNo = gh_cdd0a86d3b19
-#appId = wxdb090f0af89e0be3
-#token = weixin
-#appSecret = 518114a120274f625530750c1803921b
-#partner = 1490237892
-#partnerkey=8a90e3ab0e2db7772f5f64e7ed2f4b98
-#charset=UTF-8
-#KEYSTORE_FILE=E:/apiclient_cert.p12
-#KEYSTORE_PASSWORD=1240220902
-#ipAddress=120.25.79.106
-
-
 
-
-pubNo = gh_d6b974cc3491
-appId = wx921a7cdaa9fb2461
+pubNo = gh_cdd0a86d3b19
+appId = wxdb090f0af89e0be3
 token = weixin
-appSecret = 9d54dbc626c64939bd3682ef05a5a4a5
+appSecret = 518114a120274f625530750c1803921b
 partner = 1490237892
 partnerkey=8a90e3ab0e2db7772f5f64e7ed2f4b98
 charset=UTF-8
 KEYSTORE_FILE=E:/apiclient_cert.p12
 KEYSTORE_PASSWORD=1240220902
 ipAddress=120.25.79.106
+
+
+
+
+#pubNo = gh_d6b974cc3491
+#appId = wx921a7cdaa9fb2461
+#token = weixin
+#appSecret = 9d54dbc626c64939bd3682ef05a5a4a5
+#partner = 1490237892
+#partnerkey=8a90e3ab0e2db7772f5f64e7ed2f4b98
+#charset=UTF-8
+#KEYSTORE_FILE=E:/apiclient_cert.p12
+#KEYSTORE_PASSWORD=1240220902
+#ipAddress=120.25.79.106