|
@@ -5,11 +5,14 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
|
|
|
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
+import com.fs.app.annotation.Login;
|
|
|
import com.fs.app.param.LoginMaWxParam;
|
|
|
import com.fs.app.utils.JwtUtils;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
+import com.fs.common.core.redis.RedisCache;
|
|
|
import com.fs.common.exception.CustomException;
|
|
|
import com.fs.common.utils.IpUtil;
|
|
|
+import com.fs.common.utils.ServletUtils;
|
|
|
import com.fs.company.domain.CompanyDept;
|
|
|
import com.fs.company.domain.CompanyUser;
|
|
|
import com.fs.company.service.ICompanyDeptService;
|
|
@@ -18,6 +21,7 @@ import com.fs.core.security.SecurityUtils;
|
|
|
import com.fs.store.service.IFsUserService;
|
|
|
import com.fs.wx.miniapp.config.WxMaConfiguration;
|
|
|
import com.fs.wx.miniapp.config.WxMaProperties;
|
|
|
+import io.jsonwebtoken.Claims;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
@@ -25,10 +29,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.Objects;
|
|
@@ -45,14 +46,17 @@ public class WxCompanyUserController extends AppBaseController {
|
|
|
@Autowired
|
|
|
JwtUtils jwtUtils;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ RedisCache redisCache;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ICompanyUserService companyUserService;
|
|
|
|
|
|
@Autowired
|
|
|
private ICompanyDeptService companyDeptService;
|
|
|
|
|
|
- @ApiOperation("授权登录")
|
|
|
- @PostMapping("/login")
|
|
|
+ @ApiOperation("小程序-销售授权登录")
|
|
|
+ @PostMapping("/loginByMa")
|
|
|
public R login(@RequestBody LoginMaWxParam param) {
|
|
|
if (StringUtils.isBlank(param.getCode())) {
|
|
|
return R.error("code不存在");
|
|
@@ -126,5 +130,32 @@ public class WxCompanyUserController extends AppBaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Login(isMiniLogin = true)
|
|
|
+ @ApiOperation("获取销售通过小程序登录后的用户信息")
|
|
|
+ @GetMapping("/getMaUser")
|
|
|
+ public R getUserInfo() {
|
|
|
+ try {
|
|
|
+ CompanyUser companyUser = companyUserService.selectCompanyUserById(Long.parseLong(getUserId()));
|
|
|
+ if (companyUser == null) {
|
|
|
+ return R.error(401, "用户信息不存在");
|
|
|
+ }
|
|
|
+ return R.ok().put("user", companyUser);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return R.error("操作异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 特殊要求:销售小程序临时登录,登录后页面中还有一个之前常用的登录,所以为了区分,token名称不能跟之前的一样
|
|
|
+ *
|
|
|
+ * @return 用户id
|
|
|
+ */
|
|
|
+ public String getUserId() {
|
|
|
+ String headValue = ServletUtils.getRequest().getHeader("UserToken");
|
|
|
+ Claims claims = jwtUtils.getClaimByToken(headValue);
|
|
|
+ String userId = claims.getSubject().toString();
|
|
|
+ return userId;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|