|
|
@@ -12,6 +12,7 @@ import com.fs.common.VerifyCodeUtil;
|
|
|
import com.fs.common.annotation.Log;
|
|
|
import com.fs.common.annotation.RepeatSubmit;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
+import com.fs.common.core.domain.entity.SysDictData;
|
|
|
import com.fs.common.core.page.TableDataInfo;
|
|
|
import com.fs.common.core.redis.RedisCache;
|
|
|
import com.fs.common.enums.BusinessType;
|
|
|
@@ -38,6 +39,8 @@ import com.fs.im.dto.OpenImResponseDTO;
|
|
|
import com.fs.im.service.OpenIMService;
|
|
|
import com.fs.qw.domain.QwUser;
|
|
|
import com.fs.qw.service.ILuckyBagService;
|
|
|
+import com.fs.system.service.ISysDictDataService;
|
|
|
+import com.fs.system.service.ISysDictTypeService;
|
|
|
import com.fs.voice.utils.StringUtil;
|
|
|
import com.fs.watch.domain.WatchDeviceSetup;
|
|
|
import com.fs.watch.domain.WatchUser;
|
|
|
@@ -70,6 +73,9 @@ public class AppLoginController extends AppBaseController{
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
@Autowired
|
|
|
private IFsUserService userService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysDictTypeService iSysDictTypeService;
|
|
|
@Autowired
|
|
|
private FsUserMapper userMapper;
|
|
|
@Autowired
|
|
|
@@ -142,13 +148,14 @@ public class AppLoginController extends AppBaseController{
|
|
|
@ApiOperation("登录")
|
|
|
@PostMapping("/login")
|
|
|
@Transactional
|
|
|
- public R login(@Validated @RequestBody FsUserLoginParam param) {
|
|
|
+ public R login(@Validated @RequestBody FsUserLoginParam param,
|
|
|
+ @RequestHeader(value = "isWechatInstalled", required = false) Boolean isWechatInstalled) {
|
|
|
int loginType = param.getLoginType();
|
|
|
switch (loginType) {
|
|
|
case 1:
|
|
|
- return handleLoginType1(param);
|
|
|
+ return handleLoginType1(param,isWechatInstalled);
|
|
|
case 3:
|
|
|
- return handleLoginType3(param);
|
|
|
+ return handleLoginType3(param,isWechatInstalled);
|
|
|
default:
|
|
|
return R.error("请选择正确的登陆类型!");
|
|
|
}
|
|
|
@@ -476,7 +483,8 @@ public class AppLoginController extends AppBaseController{
|
|
|
}
|
|
|
|
|
|
@PostMapping("/loginByPhone")
|
|
|
- public R loginByPhone(@RequestBody Map<String,String> map){
|
|
|
+ public R loginByPhone(@RequestBody Map<String,String> map,
|
|
|
+ @RequestHeader(value = "isWechatInstalled", required = false) Boolean isWechatInstalled){
|
|
|
String phone = map.get("phone");
|
|
|
String code = map.get("code");
|
|
|
String encryptPhone = encryptPhone(phone);
|
|
|
@@ -500,6 +508,10 @@ public class AppLoginController extends AppBaseController{
|
|
|
}
|
|
|
|
|
|
FsUser info=user.get(0);
|
|
|
+
|
|
|
+ if (isWechatInstalled && isInit()){
|
|
|
+ return generateTokenAndReturn(info);
|
|
|
+ }
|
|
|
FsUser userMap = new FsUser();
|
|
|
userMap.setUserId(info.getUserId());
|
|
|
String jpushId = map.get("jpushId");
|
|
|
@@ -731,7 +743,7 @@ public class AppLoginController extends AppBaseController{
|
|
|
//
|
|
|
// }
|
|
|
|
|
|
- private R handleLoginType1(FsUserLoginParam param) {
|
|
|
+ private R handleLoginType1(FsUserLoginParam param, Boolean isWechatInstalled) {
|
|
|
if (StringUtils.isEmpty(param.getPhone()) || StringUtils.isEmpty(param.getPassword())) {
|
|
|
return R.error("账号或密码不能为空");
|
|
|
}
|
|
|
@@ -744,6 +756,9 @@ public class AppLoginController extends AppBaseController{
|
|
|
//当前手机号只绑定了单个微信,直接登录
|
|
|
if (usersByPhone.size()==1){
|
|
|
user = usersByPhone.get(0);
|
|
|
+ if (isWechatInstalled && isInit()){
|
|
|
+ return generateTokenAndReturn(user);
|
|
|
+ }
|
|
|
if (user.getUnionId()==null){
|
|
|
if (user.getPhone().length()<=11){
|
|
|
FsUser fsUser = new FsUser();
|
|
|
@@ -786,6 +801,19 @@ public class AppLoginController extends AppBaseController{
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 后台配置
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean isInit() {
|
|
|
+ List<SysDictData> sysDictData = iSysDictTypeService.selectDictDataByType("is_init");
|
|
|
+ if (CollectionUtil.isNotEmpty(sysDictData)){
|
|
|
+ return sysDictData.get(0).getDictValue().equals("1");
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
@PostMapping("/sendCode")
|
|
|
public R sendCode(@RequestBody Map<String, String> body){
|
|
|
String phone = body.get("phone");
|
|
|
@@ -864,7 +892,7 @@ public class AppLoginController extends AppBaseController{
|
|
|
// return generateTokenAndReturn(user);
|
|
|
// }
|
|
|
|
|
|
- private R handleLoginType3(FsUserLoginParam param) {
|
|
|
+ private R handleLoginType3(FsUserLoginParam param, Boolean isWechatInstalled) {
|
|
|
if (StringUtils.isEmpty(param.getPhone())) {
|
|
|
return R.error("获取手机号失败");
|
|
|
}
|
|
|
@@ -885,6 +913,9 @@ public class AppLoginController extends AppBaseController{
|
|
|
}
|
|
|
if (usersByPhone.size()==1){
|
|
|
user = usersByPhone.get(0);
|
|
|
+ if (isWechatInstalled && isInit()){
|
|
|
+ return generateTokenAndReturn(user);
|
|
|
+ }
|
|
|
if (user.getUnionId()==null){
|
|
|
if (user.getPhone().length()<=11){
|
|
|
FsUser fsUser = new FsUser();
|