Commit ec4adb06 authored by 曹盼盼's avatar 曹盼盼

封装微信授权登录接口

parent 094ec2e0
......@@ -14,6 +14,7 @@ import com.yeejoin.amos.boot.module.tzs.api.mapper.ViewJgClaimMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.EquipmentCategoryServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.TzsAppService;
import com.yeejoin.amos.boot.module.tzs.biz.utils.HttpUtils;
import com.yeejoin.amos.boot.module.tzs.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.tzs.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -36,6 +37,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -188,4 +190,14 @@ public class TzsAppController {
String sequenceNbr = viewJgClaimMapper.supervisoryCode(code);
return ResponseHelper.buildResponse(sequenceNbr);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@RequestMapping(value = "/wxUserLogin", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "微信授权登陆", notes = "微信授权登陆")
public ResponseModel<JSONObject> wxUserLogin(@RequestBody JSONObject wx) {
return ResponseHelper.buildResponse(appService.wxUserLogin(wx));
}
}
......@@ -7,11 +7,14 @@ import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.yeejoin.amos.boot.biz.common.utils.QRCodeUtil;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.common.CommonException;
import com.yeejoin.amos.boot.module.tzs.api.common.MobileLoginParam;
import com.yeejoin.amos.boot.module.tzs.api.dto.*;
import com.yeejoin.amos.boot.module.tzs.api.entity.*;
import com.yeejoin.amos.boot.module.tzs.api.mapper.CategoryOtherInfoMapper;
import com.yeejoin.amos.boot.module.tzs.biz.utils.HttpUtils;
import com.yeejoin.amos.boot.module.tzs.flc.api.entity.RegUnitInfo;
import com.yeejoin.amos.boot.module.tzs.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -33,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.io.ByteArrayInputStream;
import java.io.IOException;
......@@ -103,10 +107,21 @@ public class TzsAppService {
@Autowired
CategoryOtherInfoMapper categoryOtherInfoMapper;
@Autowired
RedisUtils redisUtils;
@Value("${minio.url.path}")
String minioPath;
@Autowired
private RegUnitInfoMapper regUnitInfoMapper;
public static final String WXUSER_TOKEN = "wxUser_token";
/**
* token 过期时间,wechat 系统为7200 ,tzs 系统小于7200 防止获取到无效token
*/
private long time = 6000l;
/**
* 产品appkey
......@@ -374,4 +389,38 @@ public class TzsAppService {
}
public JSONObject wxUserLogin(JSONObject wx) {
if (redisUtils.hasKey(WXUSER_TOKEN)) {
Object obj= redisUtils.get(WXUSER_TOKEN);
return JSONObject.parseObject(obj.toString());
}else {
StringBuffer buffer= new StringBuffer("https://api.weixin.qq.com/sns/jscode2session?appid=")
.append(wx.getString("appid")).append("&secret=").append(wx.getString("secret")).append("&js_code=").append(wx.getString("js_code"))
.append("&grant_type=").append( wx.getString("grant_type"));
String responseStr = HttpUtils.doGet(buffer.toString());
JSONObject response = null;
try {
response = JSONObject.parseObject(responseStr);
System.out.println("666"+response.getString("session_key"));
} catch (Exception e) {
throw new BadRequest("获取token 出错:" + e.getMessage());
}
if(response.get("session_key") != null) { // 获取token 成功
try {
redisUtils.set(WXUSER_TOKEN, response,time);
return response;
} catch (Exception e) {
throw new BadRequest("获取token 出错:" + e.getMessage());
}
} else {
throw new BadRequest("获取token 出错:" + response);
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment