派生自 projectDept/qhighschool

EricsHu
2023-04-10 5196a1d1e00ced009a2d4e8ea0aa5f3bb7cefe33
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({