|
@@ -174,123 +174,6 @@ public class WxUserController extends AppBaseController{
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 看课互医小程序登陆接口
|
|
|
- */
|
|
|
- @ApiOperation("看课互医小程序登陆接口")
|
|
|
- @PostMapping("/loginCourseHis")
|
|
|
- @Transactional
|
|
|
- public R loginCourseHis( @RequestBody LoginParam param) {
|
|
|
-
|
|
|
- if (StringUtils.isBlank(param.getCode())) {
|
|
|
- return R.error("code不存在");
|
|
|
- }
|
|
|
-
|
|
|
- String appid="";
|
|
|
-
|
|
|
- if(!StringUtil.isNullOrEmpty(param.getAppId())){
|
|
|
- appid=param.getAppId();
|
|
|
- }else {
|
|
|
- FsSysConfig con = configUtil.getSysConfig();
|
|
|
- appid = con.getAppid();
|
|
|
- }
|
|
|
-
|
|
|
-// final WxMaService wxService = WxMaConfiguration.getMaService(con.getAppid());
|
|
|
- final WxMaService wxService = WxMaConfiguration.getMaService(appid);
|
|
|
- try {
|
|
|
- WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode());
|
|
|
- this.logger.info(session.getSessionKey());
|
|
|
- this.logger.info(session.getOpenid());
|
|
|
- // 解密
|
|
|
- WxMaPhoneNumberInfo phoneNoInfo = wxService.getUserService().getPhoneNoInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
|
|
|
- //三端用户同步,先用unionid查询
|
|
|
- FsUser user = new FsUser();
|
|
|
- if (session.getUnionid()!=null){
|
|
|
- user = userService.selectFsUserByUnionid(session.getUnionid());
|
|
|
- if (user==null){
|
|
|
- user = userService.selectFsUserByCourseOpenId(session.getOpenid());
|
|
|
- }
|
|
|
- }else {
|
|
|
- user = userService.selectFsUserByCourseOpenId(session.getOpenid());
|
|
|
- }
|
|
|
-
|
|
|
- if(user==null){
|
|
|
- //新用户
|
|
|
- String phoneNumber = phoneNoInfo.getPhoneNumber();
|
|
|
-
|
|
|
-
|
|
|
- //查询手机号是否存在,如果存在,更新
|
|
|
- FsUser checkPhone=userService.selectFsUserByPhone(encryptPhone(phoneNumber));
|
|
|
- if (checkPhone==null){
|
|
|
- checkPhone=userService.selectFsUserByPhone(phoneNumber);
|
|
|
- }
|
|
|
- if(checkPhone!=null){
|
|
|
- user=checkPhone;
|
|
|
- FsUser userMap=new FsUser();
|
|
|
- userMap.setCourseMaOpenId(session.getOpenid());
|
|
|
- userMap.setUserId(checkPhone.getUserId());
|
|
|
- userMap.setUpdateTime(new DateTime());
|
|
|
- if(session.getUnionid()!=null){
|
|
|
- userMap.setUnionId(session.getUnionid());
|
|
|
- }
|
|
|
- userService.updateFsUser(userMap);
|
|
|
- }
|
|
|
- else{
|
|
|
- //写入
|
|
|
- user=new FsUser();
|
|
|
- user.setPhone(phoneNoInfo.getPhoneNumber());
|
|
|
- user.setNickName("微信用户"+phoneNoInfo.getPhoneNumber().substring(phoneNoInfo.getPhoneNumber().length()-4));
|
|
|
- user.setAvatar("https://hos-1309931967.cos.ap-chongqing.myqcloud.com/fs/20230725/a848605591384ec29d49773dd58d9345.jpg");
|
|
|
- user.setStatus(1);
|
|
|
- user.setCourseMaOpenId(session.getOpenid());
|
|
|
- user.setCreateTime(new Date());
|
|
|
- if(session.getUnionid()!=null){
|
|
|
- user.setUnionId(session.getUnionid());
|
|
|
- }
|
|
|
- userService.insertFsUser(user);
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
- if(user.getStatus().equals(0)){
|
|
|
-
|
|
|
- return R.error("此会员已禁用");
|
|
|
- }
|
|
|
- FsUser userMap=new FsUser();
|
|
|
- userMap.setUserId(user.getUserId());
|
|
|
- if(session.getUnionid()!=null){
|
|
|
- userMap.setUnionId(session.getUnionid());
|
|
|
- }
|
|
|
- userMap.setCourseMaOpenId(session.getOpenid());
|
|
|
- userMap.setPhone(phoneNoInfo.getPhoneNumber());
|
|
|
- userMap.setUpdateTime(new DateTime());
|
|
|
- userService.updateFsUser(userMap);
|
|
|
- }
|
|
|
- String token = jwtUtils.generateToken(user.getUserId());
|
|
|
-// redisCache.setCacheObject("token:"+user.getUserId(),token,365, TimeUnit.DAYS);
|
|
|
- Map<String,Object> map=new HashMap<>();
|
|
|
- map.put("token",token);
|
|
|
- user.setPhone(encryptPhone(phoneNoInfo.getPhoneNumber()));
|
|
|
- map.put("user",user);
|
|
|
- FsUserLoginLog log = new FsUserLoginLog();
|
|
|
- log.setCode(param.getCode());
|
|
|
- log.setLoginJson(JSON.toJSONString(param));
|
|
|
-// log.setUserRegisterJson(JSON.toJSONString(jsonMap));
|
|
|
- log.setStatus(1);
|
|
|
- log.setUserId(user.getUserId());
|
|
|
- log.setPhone(user.getPhone());
|
|
|
- log.setMaOpenId(user.getMaOpenId());
|
|
|
- log.setCreateTime(DateUtils.getNowDate());
|
|
|
- fsUserLoginLogMapper.insertFsUserLoginLog(log);
|
|
|
- return R.ok(map);
|
|
|
- } catch (WxErrorException e) {
|
|
|
- //this.logger.error(e.getMessage(), e);
|
|
|
- return R.error("授权失败,"+e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 看课互医小程序登陆接口
|
|
|
*/
|