From 5196a1d1e00ced009a2d4e8ea0aa5f3bb7cefe33 Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期一, 10 四月 2023 15:56:37 +0800 Subject: [PATCH] 小程序登陆绑定 --- src/main/java/com/qxueyou/scc/sys/action/LoginController.java | 49 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java index 555edcc..81ed905 100644 --- a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java +++ b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONObject; import com.qxueyou.scc.base.util.*; import com.qxueyou.scc.wx.service.IWechatService; +import freemarker.template.utility.StringUtil; import org.apache.commons.lang3.StringUtils; import org.apache.kafka.common.network.LoginType; import org.apache.tomcat.util.net.openssl.ciphers.Authentication; @@ -126,22 +127,46 @@ * @param uid * @throws IOException */ - @PostMapping("/auth/wechat/login") + + @PostMapping("/wxlogin") @ApiOperation("寰俊鐧诲綍") + @ResponseBody public Result wechatLogin(String code,String number) { JSONObject sessionKeyOrOpenId = wechatService.getSessionKeyOrOpenId(code); - String phone = wechatService.getNumber(number); - String hql = "from User where deleteFlag is false and mobilePhone = ? "; - List<Object> params = CollectionUtils.newList(phone); - User user = commonDAO.findUnique(hql,params, User.class); - if(user==null){ - User user1=new User(); - user1.setMobilePhone(phone); - commonDAO.save(user1); + JSONObject gettoken = wechatService.gettoken(appId, secret); + Result phone = wechatService.getNumber(gettoken.get("access_token").toString(), number); + if(phone.getSuccess()){ + String hql = "from User where deleteFlag is false and mobilePhone = ? "; + System.out.println(phone.getData()); + List<Object> params = CollectionUtils.newList(phone.getData()); + User user = commonDAO.findUnique(hql,params, User.class); + if(user==null){ + //鏂板鐢ㄦ埛 + User user1=new User(); + user1.setMobilePhone(phone.getData().toString()); + user1.setOpenId(sessionKeyOrOpenId.get("openid").toString()); + commonDAO.save(user1); + //鏂板鍏宠仈瀛﹀憳 + String addUserSql = "from User where deleteFlag is false and mobilePhone = ? "; + List<Object> newParams = CollectionUtils.newList(phone.getData()); + User newUser = commonDAO.findUnique(addUserSql,newParams, User.class); + StuStudent stuStudent=new StuStudent(); + stuStudent.setStatus(StuStudent.STATUS_REGISTER); + stuStudent.setUserId(newUser.getUserId()); + stuStudent.setMobilePhone(newUser.getMobilePhone()); + commonDAO.save(stuStudent); + } + if(StringUtils.isEmpty(user.getOpenId())){ + user.setOpenId(sessionKeyOrOpenId.get("openid").toString()); + commonDAO.saveOrUpdate(user); + } + String studentSql = "from StuStudent where deleteFlag is false and userId = ? "; + List<Object> stuParams = CollectionUtils.newList(user.getUserId()); + StuStudent stuStudent = commonDAO.findUnique(studentSql, stuParams, StuStudent.class); + return new Result(true,"鎺堟潈鎴愬姛",CollectionUtils.newObjectMap("user",user,"ClassId",stuStudent.getClassId())); } - return new Result(true,"cg",user); -// return new Result(true,"token",securityProperties.getTokenStartWith() + token,"user",user); - } + return phone; +} @ApiOperation(value = "鐧诲叆鎺ュ彛", notes = "") @ApiImplicitParams({ -- Gitblit v1.8.0