Просмотр исходного кода

[小程序登录][修改]:去除异常处理

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
a65debcc10
1 измененных файлов: 161 добавлений и 155 удалений
  1. +161
    -155
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java

+ 161
- 155
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Просмотреть файл

@@ -91,19 +91,20 @@ public class WxUserGrantController extends BaseController {


/** /**
* 用户登录 * 用户登录
*
* @param map * @param map
* @return * @return
*/ */
@AuthIgnore @AuthIgnore
@PostMapping("/login") @PostMapping("/login")
@ApiOperation(value="用户登录", notes="{\"appId\":\"string\",\"code\":\"string\",\"scene\":\"string\",\"sceneAddress\":\"string\",\"latitude\":\"string\",\"longitude\":\"string\",\"systemInfo\":\"string\"}")
@ApiOperation(value = "用户登录", notes = "{\"appId\":\"string\",\"code\":\"string\",\"scene\":\"string\",\"sceneAddress\":\"string\",\"latitude\":\"string\",\"longitude\":\"string\",\"systemInfo\":\"string\"}")
public ResultData userLogin(@RequestBody Map<String, String> map) { public ResultData userLogin(@RequestBody Map<String, String> map) {
logger.debug(map.toString()); logger.debug(map.toString());


Map resultMap = new HashMap(); Map resultMap = new HashMap();


String appId = map.get("appId"); String appId = map.get("appId");
String code = map.get("code");
String code = map.get("code");
String sceneAddress = map.get("sceneAddress"); String sceneAddress = map.get("sceneAddress");
String scene = map.get("scene"); String scene = map.get("scene");
String longitude = map.get("longitude"); String longitude = map.get("longitude");
@@ -123,20 +124,20 @@ public class WxUserGrantController extends BaseController {
WxMaService wxMaService = null; WxMaService wxMaService = null;


wxAuthorizerInfo = wxAuthorizerInfoService.getByAppId(appId); wxAuthorizerInfo = wxAuthorizerInfoService.getByAppId(appId);
if(wxAuthorizerInfo == null) {
if (wxAuthorizerInfo == null) {
return new ResultData(ErrorCode.APP_ID_NOT_FOUND); return new ResultData(ErrorCode.APP_ID_NOT_FOUND);
} }


if(isFmOpen) {
if (isFmOpen) {
wxMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); wxMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
} else { } else {
wxAppinfo = getAppInfo(appId); wxAppinfo = getAppInfo(appId);
if(wxAppinfo == null) {
if (wxAppinfo == null) {
return new ResultData(ErrorCode.APP_ID_NOT_FOUND); return new ResultData(ErrorCode.APP_ID_NOT_FOUND);
} }
wxMaService = getWeappServiceByAppInfo(wxAppinfo); wxMaService = getWeappServiceByAppInfo(wxAppinfo);


if(StringUtils.isBlank(wxAppinfo.getAccessToken())) {
if (StringUtils.isBlank(wxAppinfo.getAccessToken())) {
// 如果没有accessToken,主动获取保存到数据库中,下次访问可以拿来使用 // 如果没有accessToken,主动获取保存到数据库中,下次访问可以拿来使用
updateAppAccessToken(wxAppinfo, wxMaService); updateAppAccessToken(wxAppinfo, wxMaService);
wxMaService = getWeappServiceByAppInfo(wxAppinfo); wxMaService = getWeappServiceByAppInfo(wxAppinfo);
@@ -144,7 +145,7 @@ public class WxUserGrantController extends BaseController {
} else { } else {
// 检查token是否已过期, 1小时就重新获取 // 检查token是否已过期, 1小时就重新获取
Date curDate = new Date(); Date curDate = new Date();
if(curDate.getTime() > wxAppinfo.getLastTokenTime().getTime() + Constant.H_EXPIRE) {
if (curDate.getTime() > wxAppinfo.getLastTokenTime().getTime() + Constant.H_EXPIRE) {
updateAppAccessToken(wxAppinfo, wxMaService); updateAppAccessToken(wxAppinfo, wxMaService);
wxMaService = getWeappServiceByAppInfo(wxAppinfo); wxMaService = getWeappServiceByAppInfo(wxAppinfo);
} }
@@ -163,7 +164,7 @@ public class WxUserGrantController extends BaseController {
session_key = session.getSessionKey(); session_key = session.getSessionKey();
openId = session.getOpenid(); openId = session.getOpenid();
unionId = session.getUnionid(); unionId = session.getUnionid();
if(StringUtils.isNotBlank(unionId)) {
if (StringUtils.isNotBlank(unionId)) {
bHaveUnionId = true; bHaveUnionId = true;
} }


@@ -174,145 +175,142 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.SESSION_KEY_DECODE_ERR, resultMap); return new ResultData(ErrorCode.SESSION_KEY_DECODE_ERR, resultMap);
} }


HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String ipaddress = IPUtil.getIpAddr(request); String ipaddress = IPUtil.getIpAddr(request);


WxCUser user = new WxCUser(); WxCUser user = new WxCUser();
user.setTenantId(wxAuthorizerInfo.getTenantId()); user.setTenantId(wxAuthorizerInfo.getTenantId());
user.setAppId(appId); user.setAppId(appId);
user.setOpenId(openId); user.setOpenId(openId);
if(bHaveUnionId) {
if (bHaveUnionId) {
user.setUnionId(unionId); user.setUnionId(unionId);
} }
int score = 0; int score = 0;
int credit = 0; int credit = 0;
try {
WxCUser user1 = null;
if(bHaveUnionId) {
// 优先根据unionId查询
WxCUser userQ = new WxCUser();
userQ.setTenantId(wxAuthorizerInfo.getTenantId());
userQ.setUnionId(unionId);
user1 = wxCUserService.getByObject(userQ);

WxCUser user1 = null;
if (bHaveUnionId) {
// 优先根据unionId查询
WxCUser userQ = new WxCUser();
userQ.setTenantId(wxAuthorizerInfo.getTenantId());
userQ.setUnionId(unionId);
user1 = wxCUserService.getByObject(userQ);
}
if (user1 == null) {
user1 = wxCUserService.getByOpenId(user);
}
if (user1 != null) {
token = user1.createToken(new Date());

resultMap.put("token", token);
request.setAttribute(Constant.LOGIN_USER_KEY, user1.getId());
request.setAttribute(Constant.TENANT_ID, user1.getTenantId());

user1.setRegisterIp(ipaddress);
user1.setSessionKey(session_key);
user1.setOpenId(openId);
if (bHaveUnionId) {
user1.setUnionId(unionId);
} }
if(user1 == null) {
user1 = wxCUserService.getByOpenId(user);
if (StringUtils.isNotBlank(wxAuthorizerInfo.getOpenAppid())) {
user1.setOpenAppId(wxAuthorizerInfo.getOpenAppid());
}
if (user1.getSceneAddress() == null || user1.getSceneAddress().equals("undefined"))
user1.setSceneAddress(sceneAddress);
if (user1.getScene() == null || user1.getScene().equals("undefined"))
user1.setScene(scene);
if (!StringUtils.isBlank(longitude))
user1.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
if (!StringUtils.isBlank(latitude))
user1.setLatitude(BigDecimal.valueOf(Double.valueOf(latitude)));

JSONObject extraInfo = new JSONObject();
extraInfo.put("systemInfo", JSONObject.parseObject(systemInfo));
user1.setExtraInfo(extraInfo.toJSONString());

user1.setLoginCount(user1.getLoginCount() + 1);
userTokenService.saveOrUpdate(user1);

// 成长值
try {
score = wxScoreRulesService.addScore(EnumScoreType.LOGIN, user1);
} catch (MallinkException e) {
logger.error("c_user 成长值 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 成长值 " + e.getMessage());
}
// 积分
try {
logger.info("user:" + user.getId());
WxCreditHistory wxCreditHistory = addCredit(user1, EnumScoreType.LOGIN);
logger.info("wxCreditHistory_id" + wxCreditHistory.getId());
credit = wxCreditHistory.getCreditNum() == null ? 0 : wxCreditHistory.getCreditNum();
logger.info("user_id:" + user1.getId() + " 登录新增积分:" + credit);
} catch (MallinkException e) {
logger.error("c_user 积分 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 积分 " + e.getMessage());
}
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN, user1);
} else {
user.setTenantId(wxAppinfo.getTenantId());
token = user.createToken(new Date());

user.setRegisterIp(ipaddress);
if (user.getSceneAddress() == null || user.getSceneAddress().equals("undefined"))
user.setSceneAddress(sceneAddress);
if (user.getScene() == null || user.getScene().equals("undefined"))
user.setScene(scene);
user.setSessionKey(session_key);
if (!StringUtils.isBlank(longitude))
user.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
if (!StringUtils.isBlank(latitude))
user.setLatitude(BigDecimal.valueOf(Double.valueOf(latitude)));

JSONObject extraInfo = new JSONObject();
extraInfo.put("systemInfo", JSONObject.parseObject(systemInfo));
user.setExtraInfo(extraInfo.toJSONString());
user.setLoginCount(0);

userTokenService.saveOrUpdate(user);

resultMap.put("token", token);
request.setAttribute(Constant.LOGIN_USER_KEY, user.getId());
request.setAttribute(Constant.TENANT_ID, user.getTenantId());
// 成长值
try {
score = wxScoreRulesService.addScore(EnumScoreType.LOGIN, user);
} catch (MallinkException e) {
logger.error("c_user 成长值 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 成长值 " + e.getMessage());
} }
if (user1 != null) {
token = user1.createToken(new Date());

resultMap.put("token", token);
request.setAttribute(Constant.LOGIN_USER_KEY, user1.getId());
request.setAttribute(Constant.TENANT_ID, user1.getTenantId());

user1.setRegisterIp(ipaddress);
user1.setSessionKey(session_key);
user1.setOpenId(openId);
if(bHaveUnionId) {
user1.setUnionId(unionId);
}
if(StringUtils.isNotBlank(wxAuthorizerInfo.getOpenAppid())) {
user1.setOpenAppId(wxAuthorizerInfo.getOpenAppid());
}
if (user1.getSceneAddress() == null || user1.getSceneAddress().equals("undefined"))
user1.setSceneAddress(sceneAddress);
if (user1.getScene() == null || user1.getScene().equals("undefined"))
user1.setScene(scene);
if (!StringUtils.isBlank(longitude))
user1.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
if (!StringUtils.isBlank(latitude))
user1.setLatitude(BigDecimal.valueOf(Double.valueOf(latitude)));

JSONObject extraInfo = new JSONObject();
extraInfo.put("systemInfo",JSONObject.parseObject(systemInfo));
user1.setExtraInfo(extraInfo.toJSONString());

user1.setLoginCount(user1.getLoginCount()+1);
userTokenService.saveOrUpdate(user1);

// 成长值
try {
score = wxScoreRulesService.addScore(EnumScoreType.LOGIN, user1);
} catch (MallinkException e) {
logger.error("c_user 成长值 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 成长值 " + e.getMessage());
}
// 积分
try {
logger.info("user:" + user.getId());
WxCreditHistory wxCreditHistory = addCredit(user1,EnumScoreType.LOGIN);
logger.info("wxCreditHistory_id" + wxCreditHistory.getId());
credit = wxCreditHistory.getCreditNum() == null ? 0 : wxCreditHistory.getCreditNum();
logger.info("user_id:" + user1.getId() + " 登录新增积分:" + credit);
} catch (MallinkException e) {
logger.error("c_user 积分 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 积分 " + e.getMessage());
}
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN,user1);
} else {
user.setTenantId(wxAppinfo.getTenantId());
token = user.createToken(new Date());

user.setRegisterIp(ipaddress);
if (user.getSceneAddress() == null || user.getSceneAddress().equals("undefined"))
user.setSceneAddress(sceneAddress);
if (user.getScene() == null || user.getScene().equals("undefined"))
user.setScene(scene);
user.setSessionKey(session_key);
if (!StringUtils.isBlank(longitude))
user.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
if (!StringUtils.isBlank(latitude))
user.setLatitude(BigDecimal.valueOf(Double.valueOf(latitude)));

JSONObject extraInfo = new JSONObject();
extraInfo.put("systemInfo",JSONObject.parseObject(systemInfo));
user.setExtraInfo(extraInfo.toJSONString());
user.setLoginCount(0);

userTokenService.saveOrUpdate(user);

resultMap.put("token", token);
request.setAttribute(Constant.LOGIN_USER_KEY, user.getId());
request.setAttribute(Constant.TENANT_ID, user.getTenantId());
// 成长值
try {
score = wxScoreRulesService.addScore(EnumScoreType.LOGIN, user);
} catch (MallinkException e) {
logger.error("c_user 成长值 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 成长值 " + e.getMessage());
}

// 积分
try {
logger.info("user:" + user.getId());
WxCreditHistory wxCreditHistory = addCredit(user,EnumScoreType.LOGIN);
logger.info("wxCreditHistory_id" + wxCreditHistory.getId());
credit = wxCreditHistory.getCreditNum() == null ? 0 : wxCreditHistory.getCreditNum();
logger.info("user_id:" + user.getId() + " 登录新增积分:" + credit);
} catch (MallinkException e) {
logger.error("c_user 积分 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 积分 " + e.getMessage());
}


wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN,user);
// 积分
try {
logger.info("user:" + user.getId());
WxCreditHistory wxCreditHistory = addCredit(user, EnumScoreType.LOGIN);
logger.info("wxCreditHistory_id" + wxCreditHistory.getId());
credit = wxCreditHistory.getCreditNum() == null ? 0 : wxCreditHistory.getCreditNum();
logger.info("user_id:" + user.getId() + " 登录新增积分:" + credit);
} catch (MallinkException e) {
logger.error("c_user 积分 " + e.getMessage());
} catch (Exception e) {
logger.error("c_user 积分 " + e.getMessage());
} }
} catch (Exception e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.DB_FAIL.getCode(), "wx_c_user数据库保存出错", resultMap);

wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_LOGIN, user);
} }




resultMap.put("score",score);
resultMap.put("credit",credit);
resultMap.put("score", score);
resultMap.put("credit", credit);
return new ResultData(resultMap); return new ResultData(resultMap);
} }


/** /**
* WxAppInfo更新accessToken * WxAppInfo更新accessToken
*
* @param wxAppinfo * @param wxAppinfo
* @param wxMaService * @param wxMaService
*/ */
@@ -332,11 +330,12 @@ public class WxUserGrantController extends BaseController {


/** /**
* 获取用户的昵称等信息 * 获取用户的昵称等信息
*
* @param map * @param map
* @return * @return
*/ */
@PostMapping("/getUserInfo") @PostMapping("/getUserInfo")
@ApiOperation(value="授权后获取用户的昵称,unionId等信息", notes="{\"encryptedData\":\"string\",\"iv\":\"string\"}")
@ApiOperation(value = "授权后获取用户的昵称,unionId等信息", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}")
public ResultData getUserInfo(@RequestBody Map<String, String> map) { public ResultData getUserInfo(@RequestBody Map<String, String> map) {
logger.debug(map.toString()); logger.debug(map.toString());
Map resultMap = new HashMap(); Map resultMap = new HashMap();
@@ -373,9 +372,9 @@ public class WxUserGrantController extends BaseController {
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);


// 成长值 // 成长值
wxScoreRulesService.addScore(EnumScoreType.WECHAT_PERSION,user);
wxScoreRulesService.addScore(EnumScoreType.WECHAT_PERSION, user);
//增加积分 //增加积分
addCredit(user,EnumScoreType.WECHAT_PERSION);
addCredit(user, EnumScoreType.WECHAT_PERSION);


resultMap.put("openId", user.getOpenId()); resultMap.put("openId", user.getOpenId());
resultMap.put("unionId", user.getUnionId()); resultMap.put("unionId", user.getUnionId());
@@ -395,11 +394,12 @@ public class WxUserGrantController extends BaseController {


/** /**
* 授权后获取用户的手机号等信息 * 授权后获取用户的手机号等信息
*
* @param map * @param map
* @return * @return
*/ */
@PostMapping("/getUserPhone") @PostMapping("/getUserPhone")
@ApiOperation(value = "授权后获取用户的手机号", notes="{\"encryptedData\":\"string\",\"iv\":\"string\"}")
@ApiOperation(value = "授权后获取用户的手机号", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}")
public ResultData getUserPhone(@RequestBody Map<String, String> map) { public ResultData getUserPhone(@RequestBody Map<String, String> map) {
logger.debug(map.toString()); logger.debug(map.toString());
Map resultMap = new HashMap(); Map resultMap = new HashMap();
@@ -421,7 +421,7 @@ public class WxUserGrantController extends BaseController {
String session_key = user.getSessionKey(); String session_key = user.getSessionKey();
try { try {
// 解密 // 解密
WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(session_key, encryptedData, iv);
WxMaPhoneNumberInfo phoneNoInfo = wxMaService.getUserService().getPhoneNoInfo(session_key, encryptedData, iv);
if (null != phoneNoInfo) { if (null != phoneNoInfo) {
logger.debug(phoneNoInfo.toString()); logger.debug(phoneNoInfo.toString());
user.setPhone(phoneNoInfo.getPhoneNumber()); user.setPhone(phoneNoInfo.getPhoneNumber());
@@ -430,12 +430,12 @@ public class WxUserGrantController extends BaseController {
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);


// 成长值 // 成长值
wxScoreRulesService.addScore(EnumScoreType.WECHAT_PHONE,user);
wxScoreRulesService.addScore(EnumScoreType.WECHAT_PHONE, user);
//增加积分 //增加积分
addCredit(user,EnumScoreType.WECHAT_PHONE);
addCredit(user, EnumScoreType.WECHAT_PHONE);


resultMap.put("msg","授权手机成功!");
resultMap.put("phone",phoneNoInfo.getPhoneNumber());
resultMap.put("msg", "授权手机成功!");
resultMap.put("phone", phoneNoInfo.getPhoneNumber());
} else { } else {
return new ResultData(ErrorCode.PHONE_DECODE_ERR, resultMap); return new ResultData(ErrorCode.PHONE_DECODE_ERR, resultMap);
} }
@@ -447,7 +447,7 @@ public class WxUserGrantController extends BaseController {
if (!user.getPhone().contains("*")) { // 用户手机非加密 if (!user.getPhone().contains("*")) { // 用户手机非加密
// 更新到basicinfo // 更新到basicinfo
saveToBasicInfo(user); saveToBasicInfo(user);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE,user);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE, user);
} }


return new ResultData(resultMap); return new ResultData(resultMap);
@@ -455,10 +455,11 @@ public class WxUserGrantController extends BaseController {


/** /**
* 检查用户状态 * 检查用户状态
*
* @return * @return
*/ */
@RequestMapping("/checkUserStatus") @RequestMapping("/checkUserStatus")
@ApiOperation(value = "判断是否是老用户", notes="")
@ApiOperation(value = "判断是否是老用户", notes = "")
public ResultData checkUserStatus() { public ResultData checkUserStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser(); WxCUser user = getUser();
@@ -473,10 +474,11 @@ public class WxUserGrantController extends BaseController {


/** /**
* 检查用户状态 * 检查用户状态
*
* @return * @return
*/ */
@RequestMapping("/checkPhoneStatus") @RequestMapping("/checkPhoneStatus")
@ApiOperation(value = "判断是否是老用户", notes="")
@ApiOperation(value = "判断是否是老用户", notes = "")
public ResultData checkPhoneStatus() { public ResultData checkPhoneStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser(); WxCUser user = getUser();
@@ -506,7 +508,7 @@ public class WxUserGrantController extends BaseController {
} else { } else {
userVo.setLevelName(WxLevelConfigService.DEFAULT_LEVEL); userVo.setLevelName(WxLevelConfigService.DEFAULT_LEVEL);
List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(user.getTenantId()); List<WxLevelConfig> levelList = wxLevelConfigService.getByTenantId(user.getTenantId());
for(WxLevelConfig levelConfig: levelList) {
for (WxLevelConfig levelConfig : levelList) {
if (userVo.getScore() >= levelConfig.getPoints()) { if (userVo.getScore() >= levelConfig.getPoints()) {
userVo.setLevelId(levelConfig.getId()); userVo.setLevelId(levelConfig.getId());
userVo.setLevelName(levelConfig.getLevel()); userVo.setLevelName(levelConfig.getLevel());
@@ -542,11 +544,11 @@ public class WxUserGrantController extends BaseController {
phone = user.getVerifyCodePhone(); phone = user.getVerifyCodePhone();
returnMap.put("phone", phone); returnMap.put("phone", phone);
returnMap.put("count", count); returnMap.put("count", count);
return new ResultData(Result.SUCCESS,"count获取成功", returnMap);
return new ResultData(Result.SUCCESS, "count获取成功", returnMap);
} else { } else {
Map returnMap = new HashMap(); Map returnMap = new HashMap();
returnMap.put("count", count); returnMap.put("count", count);
return new ResultData(Result.SUCCESS,"count获取成功", returnMap);
return new ResultData(Result.SUCCESS, "count获取成功", returnMap);
} }
} }


@@ -557,11 +559,12 @@ public class WxUserGrantController extends BaseController {
userCar.setTenantId(getTenantId()); userCar.setTenantId(getTenantId());
userCar.setCUserId(getUserId()); userCar.setCUserId(getUserId());
List<WxCUserCar> list = wxCUserCarService.getList(userCar); List<WxCUserCar> list = wxCUserCarService.getList(userCar);
return new ResultData(Result.SUCCESS,"获取查询成功", list);
return new ResultData(Result.SUCCESS, "获取查询成功", list);
} }


/** /**
* 微信消息服务验证 * 微信消息服务验证
*
* @param response * @param response
* @param request * @param request
* @throws IOException * @throws IOException
@@ -577,25 +580,26 @@ public class WxUserGrantController extends BaseController {
String nonce = request.getParameter("nonce"); String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr"); String echostr = request.getParameter("echostr");


logger.warn("收到的微信服务验证信息:"+signature+"\n"+timestamp+"\n"+nonce+"\n"+echostr);
logger.warn("收到的微信服务验证信息:" + signature + "\n" + timestamp + "\n" + nonce + "\n" + echostr);
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
// 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
// 当前无法确定此消息的appId及token, 所以直接返回echostr // 当前无法确定此消息的appId及token, 所以直接返回echostr
//if (CheckUtil.checkSignature(wp.getToken(), signature, timestamp, nonce)) { //if (CheckUtil.checkSignature(wp.getToken(), signature, timestamp, nonce)) {
out.print(echostr);
logger.warn("微信服务验证成功===================="+echostr);
System.out.println("微信服务验证成功!");
out.print(echostr);
logger.warn("微信服务验证成功====================" + echostr);
System.out.println("微信服务验证成功!");
//} //}
out.close(); out.close();
} }


/** /**
* 授权后获取用户的手机号等信息 * 授权后获取用户的手机号等信息
*
* @param map * @param map
* @return * @return
*/ */
@PostMapping("/getWeRunData") @PostMapping("/getWeRunData")
@ApiOperation(value = "获取用户过去三十天微信运动步数", notes="{\"encryptedData\":\"string\",\"iv\":\"string\"}")
@ApiOperation(value = "获取用户过去三十天微信运动步数", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}")
public ResultData getWeRunData(@RequestBody Map<String, String> map) { public ResultData getWeRunData(@RequestBody Map<String, String> map) {
logger.debug(map.toString()); logger.debug(map.toString());
String encryptedData = map.get("encryptedData"); String encryptedData = map.get("encryptedData");
@@ -614,7 +618,7 @@ public class WxUserGrantController extends BaseController {
String session_key = user.getSessionKey(); String session_key = user.getSessionKey();
try { try {
// 解密 // 解密
String weRunDataStr = WxMaCryptUtils.decrypt(session_key, encryptedData, iv);
String weRunDataStr = WxMaCryptUtils.decrypt(session_key, encryptedData, iv);
if (null != weRunDataStr) { if (null != weRunDataStr) {
Object obj = JSON.parse(weRunDataStr); Object obj = JSON.parse(weRunDataStr);
return new ResultData(obj); return new ResultData(obj);
@@ -629,10 +633,11 @@ public class WxUserGrantController extends BaseController {


/** /**
* 用户更新信息 * 用户更新信息
*
* @return * @return
*/ */
@PostMapping("/updateUserInfo") @PostMapping("/updateUserInfo")
@ApiOperation(value = "用户更新信息", notes="")
@ApiOperation(value = "用户更新信息", notes = "")
public ResultData updateUserInfo(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) { public ResultData updateUserInfo(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) {
if (wxCUserBasicInfo == null) if (wxCUserBasicInfo == null)
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
@@ -646,7 +651,7 @@ public class WxUserGrantController extends BaseController {
WxCUserBasicInfo record = new WxCUserBasicInfo(); WxCUserBasicInfo record = new WxCUserBasicInfo();
record.setName(wxCUserBasicInfo.getName()); record.setName(wxCUserBasicInfo.getName());
record.setBirthdate(wxCUserBasicInfo.getBirthdate()); record.setBirthdate(wxCUserBasicInfo.getBirthdate());
record.setSex(wxCUserBasicInfo.getSex() );
record.setSex(wxCUserBasicInfo.getSex());
record.setAddress(wxCUserBasicInfo.getAddress()); record.setAddress(wxCUserBasicInfo.getAddress());
record.setId(getUserId()); record.setId(getUserId());
record.setUpdateDate(new Date()); record.setUpdateDate(new Date());
@@ -668,10 +673,11 @@ public class WxUserGrantController extends BaseController {


/** /**
* 获取用户折扣率 * 获取用户折扣率
*
* @return * @return
*/ */
@RequestMapping("/getDiscountInfo") @RequestMapping("/getDiscountInfo")
@ApiOperation(value = "获取用户折扣率", notes="")
@ApiOperation(value = "获取用户折扣率", notes = "")
public ResultData getDiscountInfo() { public ResultData getDiscountInfo() {


WxCUser user = getUser(); WxCUser user = getUser();
@@ -680,9 +686,9 @@ public class WxUserGrantController extends BaseController {


String level = WxLevelConfigService.DEFAULT_LEVEL; String level = WxLevelConfigService.DEFAULT_LEVEL;
Long levelId = 0L; Long levelId = 0L;
for(WxLevelConfig levelConfig: levelList) {
for (WxLevelConfig levelConfig : levelList) {
if (user.getScore() >= levelConfig.getPoints()) { if (user.getScore() >= levelConfig.getPoints()) {
if(levelConfig.getDiscountEnable().equals(EnumLevelConfigDiscountStatus.ENABLE.getCode()))
if (levelConfig.getDiscountEnable().equals(EnumLevelConfigDiscountStatus.ENABLE.getCode()))
levelId = levelConfig.getId(); levelId = levelConfig.getId();
level = levelConfig.getLevel(); level = levelConfig.getLevel();
} }
@@ -691,9 +697,9 @@ public class WxUserGrantController extends BaseController {
levelMerchant.setLevelId(levelId); levelMerchant.setLevelId(levelId);
List<WxLevelMerchantCVo> levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant); List<WxLevelMerchantCVo> levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant);


Map<String,Object> result = new HashMap();
result.put("level",level);
result.put("levelMerchantList",levelMerchantList);
Map<String, Object> result = new HashMap();
result.put("level", level);
result.put("levelMerchantList", levelMerchantList);
return new ResultData(result); return new ResultData(result);
} }




Загрузка…
Отмена
Сохранить