Commit 4e72dfb7 by XiaHou

云应用相关的业务代码

parent 12ac5402
...@@ -35,4 +35,11 @@ public class AppleController extends BaseController { ...@@ -35,4 +35,11 @@ public class AppleController extends BaseController {
public JsonResult appleInsertUserParam(@ApiParam(value = "传入对象") @RequestBody AppleInsertUserParam appleInsertUserParam) { public JsonResult appleInsertUserParam(@ApiParam(value = "传入对象") @RequestBody AppleInsertUserParam appleInsertUserParam) {
return this.atlAppleService.appleInsertUserParam(appleInsertUserParam); return this.atlAppleService.appleInsertUserParam(appleInsertUserParam);
} }
@ApiOperation("通过identityToken解析 不绑定手机号登录 可能会导致业务失效,慎用")
@RequestMapping(value = "/identityTokenLoginNotBindMobile", method = RequestMethod.GET)
@ResponseBody
public JsonResult identityTokenLoginNotBindMobile(@ApiParam(value = "苹果identityToken", required = true) @RequestParam(value = "identityToken", required = true) String identityToken) {
return atlAppleService.identityTokenLoginNotBindMobile(identityToken);
}
} }
package com.hwstudio.antaile.queryparam;
import lombok.Data;
import java.io.Serializable;
/**
* @Author xh
* @Date 2021/8/26
* description:
*/
@Data
public class QueryRandomAtlTimeParam implements Serializable {
}
...@@ -6,7 +6,6 @@ import com.hwstudio.antaile.common.Constants; ...@@ -6,7 +6,6 @@ import com.hwstudio.antaile.common.Constants;
import com.hwstudio.antaile.dto.AppleInsertUserParam; import com.hwstudio.antaile.dto.AppleInsertUserParam;
import com.hwstudio.antaile.dto.AppleLoginDTO; import com.hwstudio.antaile.dto.AppleLoginDTO;
import com.hwstudio.antaile.dto.LoginUserDto; import com.hwstudio.antaile.dto.LoginUserDto;
import com.hwstudio.antaile.dto.WxInsertUserParam;
import com.hwstudio.antaile.entity.AtlUser; import com.hwstudio.antaile.entity.AtlUser;
import com.hwstudio.antaile.entity.Sms; import com.hwstudio.antaile.entity.Sms;
import com.hwstudio.antaile.exception.BusinessException; import com.hwstudio.antaile.exception.BusinessException;
...@@ -17,6 +16,7 @@ import com.hwstudio.antaile.utils.JsonResult; ...@@ -17,6 +16,7 @@ import com.hwstudio.antaile.utils.JsonResult;
import com.hwstudio.antaile.utils.RedisUtil; import com.hwstudio.antaile.utils.RedisUtil;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
...@@ -90,9 +90,9 @@ public class AtlAppleService { ...@@ -90,9 +90,9 @@ public class AtlAppleService {
atlUser.setAppleSub(appleInsertUserParam.getAppleSub()); atlUser.setAppleSub(appleInsertUserParam.getAppleSub());
this.atlUserMapper.updateUser(atlUser); this.atlUserMapper.updateUser(atlUser);
//赋值给insertAtlUser对象 //赋值给insertAtlUser对象
BeanUtils.copyProperties(atlUser,insertAtlUser ); BeanUtils.copyProperties(atlUser, insertAtlUser);
} else { } else {
String nickName = appleInsertUserParam.getMobilePhone().substring(0, 3) + "****" + appleInsertUserParam.getMobilePhone().substring(7, appleInsertUserParam.getMobilePhone().length());; String nickName = appleInsertUserParam.getMobilePhone().substring(0, 3) + "****" + appleInsertUserParam.getMobilePhone().substring(7, appleInsertUserParam.getMobilePhone().length());
insertAtlUser.setAvaterImageUrl(nickName); insertAtlUser.setAvaterImageUrl(nickName);
insertAtlUser.setState(1); insertAtlUser.setState(1);
insertAtlUser.setMobilePhone(appleInsertUserParam.getMobilePhone()); insertAtlUser.setMobilePhone(appleInsertUserParam.getMobilePhone());
...@@ -117,6 +117,48 @@ public class AtlAppleService { ...@@ -117,6 +117,48 @@ public class AtlAppleService {
} }
/** /**
* 通过identityToken解析 不绑定手机号登录 可能会导致业务失效,慎用
*
* @param identityToken
* @return
*/
@Transactional(rollbackFor = Exception.class)
public JsonResult identityTokenLoginNotBindMobile(String identityToken) {
JSONObject object = AppleUtil.parserIdentityToken(identityToken);
AppleLoginDTO appleLoginDTO = object.toJavaObject(AppleLoginDTO.class);
if (appleLoginDTO == null) {
return JsonResult.failed("获取apple Sub异常");
}
if (appleLoginDTO.getSub() == null || appleLoginDTO.getSub().isEmpty()) {
return JsonResult.failed("传入苹果token有误,获取sub失败");
}
AtlUser atlUser = atlUserMapper.getByAppleSub(appleLoginDTO.getSub());
//登录返回对象
LoginUserDto loginUserDto = new LoginUserDto();
String token = UUID.randomUUID().toString();
if (atlUser == null) {
//如果为空 需要插入登录
atlUser = new AtlUser();
String nickName = "atl" + token.substring(0,10 );
atlUser.setNickName(nickName);
atlUser.setState(1);
atlUser.setAppleSub(appleLoginDTO.getSub());
atlUser.setLoginDate(new Date());
this.atlUserMapper.insert(atlUser);
} else {
//否则有查询到 就登录成功
loginUserDto.setAvatarUrl(atlUser.getAvaterImageUrl());
loginUserDto.setNickName(atlUser.getNickName());
loginUserDto.setPhone(atlUser.getMobilePhone());
}
redisUtil.set(token, atlUser, Long.valueOf(604800));
loginUserDto.setToken(token);
loginUserDto.setUserId(atlUser.getId());
loginUserDto.setAppleSub(atlUser.getAppleSub());
return JsonResult.success("登录成功", loginUserDto);
}
/**
* 校验传入参数 * 校验传入参数
* *
* @param appleInsertUserParam * @param appleInsertUserParam
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
</select> </select>
<insert id="registerMobile" keyProperty="id" keyColumn="id" useGeneratedKeys="true"> <insert id="registerMobile" keyProperty="id" keyColumn="id" useGeneratedKeys="true">
INSERT INTO atl_user(mobile_phone, login_password , create_time, nick_name, clientId, is_sys_push, is_sc_push, is_rem_push INSERT INTO atl_user(mobile_phone, login_password , create_time, nick_name, clientId, is_sys_push, is_sc_push,
is_rem_push
<if test="fromTimeid != null"> <if test="fromTimeid != null">
,from_timeid ,from_timeid
</if> </if>
...@@ -238,6 +239,15 @@ ...@@ -238,6 +239,15 @@
<if test="unionid != null and unionid !='' "> <if test="unionid != null and unionid !='' ">
unionid, unionid,
</if> </if>
<if test="fromTimeid != null">
from_timeid,
</if>
<if test="fromUserid != null">
from_userid,
</if>
<if test="appleSub != null and appleSub !='' ">
apple_sub,
</if>
create_time, is_sys_push, is_sc_push, is_rem_push create_time, is_sys_push, is_sc_push, is_rem_push
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
...@@ -295,6 +305,15 @@ ...@@ -295,6 +305,15 @@
<if test="unionid != null and unionid !='' "> <if test="unionid != null and unionid !='' ">
#{unionid}, #{unionid},
</if> </if>
<if test="fromTimeid != null">
#{fromTimeid},
</if>
<if test="fromUserid != null">
#{fromUserid},
</if>
<if test="appleSub != null and appleSub !='' ">
#{appleSub},
</if>
NOW(), '0', '0', '0' NOW(), '0', '0', '0'
</trim> </trim>
</insert> </insert>
...@@ -401,11 +420,13 @@ ...@@ -401,11 +420,13 @@
where create_user_id = #{userId} where create_user_id = #{userId}
</select> </select>
<select id="selectOneUserByMobilePhone" parameterType="java.lang.String" resultType="com.hwstudio.antaile.entity.AtlUser"> <select id="selectOneUserByMobilePhone" parameterType="java.lang.String"
resultType="com.hwstudio.antaile.entity.AtlUser">
SELECT * FROM atl_user WHERE mobile_phone=#{mobilePhone} SELECT * FROM atl_user WHERE mobile_phone=#{mobilePhone}
</select> </select>
<select id="selectRelationUserListByOther" parameterType="com.hwstudio.antaile.queryparam.QueryRelationUserParam" resultType="com.hwstudio.antaile.dto.RelationUserDTO"> <select id="selectRelationUserListByOther" parameterType="com.hwstudio.antaile.queryparam.QueryRelationUserParam"
resultType="com.hwstudio.antaile.dto.RelationUserDTO">
select select
a.id,a.nick_name nickName,a.sex,a.login_date loginDate, a.id,a.nick_name nickName,a.sex,a.login_date loginDate,
a.avater_image_url avaterImageUrl,a.from_timeid fromTimeid,a.from_userid fromUserid, a.avater_image_url avaterImageUrl,a.from_timeid fromTimeid,a.from_userid fromUserid,
......
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