Commit 7bfe629e 7bfe629ea6301abccc904cb9fd8276d0ef82019f by xianghan

1.添加app绑定第三方账号的接口

1 parent d90e60eb
...@@ -45,6 +45,10 @@ public class UserAppBind implements Serializable { ...@@ -45,6 +45,10 @@ public class UserAppBind implements Serializable {
45 @Column(name = "status", nullable = false) 45 @Column(name = "status", nullable = false)
46 private Integer status; 46 private Integer status;
47 47
48 // 昵称
49 @Column(name = "nickname", nullable = false)
50 private String nickname;
51
48 // 创建时间 52 // 创建时间
49 @CreatedDate 53 @CreatedDate
50 @Column(name = "create_time") 54 @Column(name = "create_time")
......
...@@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaRepository; ...@@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 5 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 import org.springframework.data.jpa.repository.Modifying; 6 import org.springframework.data.jpa.repository.Modifying;
7 import org.springframework.data.jpa.repository.Query; 7 import org.springframework.data.jpa.repository.Query;
8 import org.springframework.data.repository.query.Param;
9 import org.springframework.transaction.annotation.Transactional;
8 10
9 import java.util.Optional; 11 import java.util.Optional;
10 12
...@@ -19,4 +21,16 @@ public interface UserAppBindRepository extends JpaRepository<UserAppBind, Long>, ...@@ -19,4 +21,16 @@ public interface UserAppBindRepository extends JpaRepository<UserAppBind, Long>,
19 @Modifying 21 @Modifying
20 @Query(value = "UPDATE `uc_user_app_bind` SET `status` = 0 , `update_time` = now() WHERE `account` = ?1 ", nativeQuery = true) 22 @Query(value = "UPDATE `uc_user_app_bind` SET `status` = 0 , `update_time` = now() WHERE `account` = ?1 ", nativeQuery = true)
21 Integer cancelUserAppBind(String account); 23 Integer cancelUserAppBind(String account);
24
25 Optional<UserAppBind> findFirstByAccountAndAccountType(String account, Integer accountType);
26
27 @Modifying
28 @Transactional(rollbackFor = Exception.class)
29 @Query(value = "UPDATE `uc_user_app_bind` SET `status` = 1, `update_time` = now() WHERE `account` = ?1, accountType = ?2", nativeQuery = true)
30 Integer updateUserAppBindStatus2Valid(String account, Integer accountType);
31
32 @Modifying
33 @Query(value = "UPDATE `uc_user_app_bind` SET `status` = :#{#resources.status}, `update_time` = now(), " +
34 " `user_app_id` = :#{#resources.userAppId}, `nickname` = :#{#resources.nickname} WHERE `account` = ?1, accountType = ?2", nativeQuery = true)
35 Integer updateUserAppBind(@Param("resources") UserAppBind userAppBind);
22 } 36 }
......
...@@ -47,4 +47,18 @@ public interface UserAppBindService { ...@@ -47,4 +47,18 @@ public interface UserAppBindService {
47 * @return 47 * @return
48 */ 48 */
49 Integer cancelUserAppBind(String account); 49 Integer cancelUserAppBind(String account);
50
51 /**
52 *
53 * @param account
54 * @param accountType
55 * @return
56 */
57 UserAppBindDTO findFirstByAccountAndAccountType(String account, Integer accountType);
58
59 /**
60 *
61 * @return
62 */
63 Integer updateUserAppBind(UserAppBind userAppBind);
50 } 64 }
......
...@@ -27,6 +27,9 @@ public class UserAppBindDTO implements Serializable { ...@@ -27,6 +27,9 @@ public class UserAppBindDTO implements Serializable {
27 // 绑定状态 0:解绑;1 绑定 27 // 绑定状态 0:解绑;1 绑定
28 private Integer status; 28 private Integer status;
29 29
30 // 昵称
31 private String nickname;
32
30 // 创建时间 33 // 创建时间
31 private Timestamp createTime; 34 private Timestamp createTime;
32 35
......
...@@ -70,5 +70,18 @@ public class UserAppBindServiceImpl implements UserAppBindService { ...@@ -70,5 +70,18 @@ public class UserAppBindServiceImpl implements UserAppBindService {
70 return this.userAppBindRepository.cancelUserAppBind(account); 70 return this.userAppBindRepository.cancelUserAppBind(account);
71 } 71 }
72 72
73 @Override
74 @Transactional(readOnly = true)
75 public UserAppBindDTO findFirstByAccountAndAccountType(String account, Integer accountType) {
76 UserAppBind userAppBind = this.userAppBindRepository.findFirstByAccountAndAccountType(account, accountType).orElseGet(UserAppBind::new);
77 return this.userAppBindMapper.toDto(userAppBind);
78 }
79
80 @Override
81 @Transactional(rollbackFor = Exception.class)
82 public Integer updateUserAppBind(UserAppBind userAppBind) {
83 return this.userAppBindRepository.updateUserAppBind(userAppBind);
84 }
85
73 86
74 } 87 }
......
...@@ -107,6 +107,38 @@ public class UserOperationController { ...@@ -107,6 +107,38 @@ public class UserOperationController {
107 } 107 }
108 108
109 @Log 109 @Log
110 @PostMapping(value = "/appBindUserAccount")
111 @ApiOperation("app账号绑定第三方账号")
112 @AnonymousAccess
113 public ResultInfo appBindUserAccount(@Validated @RequestBody UserApp resources) {
114 log.info("app账号绑定第三方账号,参数 ==>> [appBindUserAccount#{}]", resources);
115
116 String username = resources.getUsername();
117 if (StringUtils.isBlank(username)) {
118 log.error("app账号绑定第三方账号,参数错误,账号不得为空 ");
119 return ResultInfo.failure("app账号绑定第三方账号,参数错误,账号不得为空");
120 }
121
122 String account = resources.getAccount();
123 if (StringUtils.isNotBlank(account)) {
124 if (Objects.isNull(resources.getAccountType())) {
125 log.error("app账号绑定第三方账号,参数错误,第三方账号不得为空");
126 return ResultInfo.failure("app账号绑定第三方账号,参数错误,第三方账号不得为空");
127 }
128 }
129
130 // 第三方账号类型 3:微信;4:QQ;5:微博;6:苹果账号
131 Integer accountType = resources.getAccountType();
132 if (Objects.isNull(accountType)) {
133 log.error("app账号绑定第三方账号,参数错误,第三方账号类型不得为空");
134 return ResultInfo.failure("app账号绑定第三方账号,参数错误,第三方账号类型不得为空");
135 }
136
137 boolean result = this.userOperationService.appBindUserAccount(resources);
138 return ResultInfo.success(result);
139 }
140
141 @Log
110 @PostMapping(value = "/updateUserApp") 142 @PostMapping(value = "/updateUserApp")
111 @ApiOperation("修改app账号信息") 143 @ApiOperation("修改app账号信息")
112 @AnonymousAccess 144 @AnonymousAccess
...@@ -136,7 +168,7 @@ public class UserOperationController { ...@@ -136,7 +168,7 @@ public class UserOperationController {
136 168
137 169
138 @PostMapping("/appBind") 170 @PostMapping("/appBind")
139 @ApiOperation("微信小程序绑定大屏") 171 @ApiOperation("app绑定大屏")
140 @AnonymousAccess 172 @AnonymousAccess
141 public ResultInfo appBind(@Validated(value = {BindGroup.class}) @RequestBody BindBean resources) { 173 public ResultInfo appBind(@Validated(value = {BindGroup.class}) @RequestBody BindBean resources) {
142 log.info("UserOperationController ==> appletBind ==>> param ==> [{}]",resources); 174 log.info("UserOperationController ==> appletBind ==>> param ==> [{}]",resources);
...@@ -156,7 +188,7 @@ public class UserOperationController { ...@@ -156,7 +188,7 @@ public class UserOperationController {
156 } 188 }
157 189
158 @PostMapping("/appUnbind") 190 @PostMapping("/appUnbind")
159 @ApiOperation("小屏解绑") 191 @ApiOperation("app解绑")
160 @AnonymousAccess 192 @AnonymousAccess
161 public ResultInfo appUnbind(@Validated(value = {UnbindGroup.class}) @RequestBody WeixinUnBindBean weixinUnBindBean) { 193 public ResultInfo appUnbind(@Validated(value = {UnbindGroup.class}) @RequestBody WeixinUnBindBean weixinUnBindBean) {
162 log.info("UserOperationController ==> minaUnbind ==>> param ==> [{}]", weixinUnBindBean); 194 log.info("UserOperationController ==> minaUnbind ==>> param ==> [{}]", weixinUnBindBean);
......
...@@ -183,4 +183,12 @@ public interface UserOperationService { ...@@ -183,4 +183,12 @@ public interface UserOperationService {
183 * @return 183 * @return
184 */ 184 */
185 boolean cancelUserAppBind(UserApp resources); 185 boolean cancelUserAppBind(UserApp resources);
186
187 /**
188 *
189 * @param resources
190 * @return
191 */
192 boolean appBindUserAccount(UserApp resources);
193
186 } 194 }
......
...@@ -12,10 +12,7 @@ import com.topdraw.business.module.member.domain.MemberTypeConstant; ...@@ -12,10 +12,7 @@ import com.topdraw.business.module.member.domain.MemberTypeConstant;
12 import com.topdraw.business.module.member.service.MemberService; 12 import com.topdraw.business.module.member.service.MemberService;
13 import com.topdraw.business.module.member.service.dto.MemberDTO; 13 import com.topdraw.business.module.member.service.dto.MemberDTO;
14 import com.topdraw.business.module.member.service.dto.MemberSimpleDTO; 14 import com.topdraw.business.module.member.service.dto.MemberSimpleDTO;
15 import com.topdraw.business.module.user.app.domain.UserApp; 15 import com.topdraw.business.module.user.app.domain.*;
16 import com.topdraw.business.module.user.app.domain.UserAppBind;
17 import com.topdraw.business.module.user.app.domain.UserAppBindBuilder;
18 import com.topdraw.business.module.user.app.domain.UserAppBuilder;
19 import com.topdraw.business.module.user.app.service.UserAppBindService; 16 import com.topdraw.business.module.user.app.service.UserAppBindService;
20 import com.topdraw.business.module.user.app.service.UserAppService; 17 import com.topdraw.business.module.user.app.service.UserAppService;
21 import com.topdraw.business.module.user.app.service.dto.UserAppBindDTO; 18 import com.topdraw.business.module.user.app.service.dto.UserAppBindDTO;
...@@ -167,6 +164,19 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -167,6 +164,19 @@ public class UserOperationServiceImpl implements UserOperationService {
167 return false; 164 return false;
168 } 165 }
169 166
167 @Override
168 @Transactional(rollbackFor = Exception.class)
169 public boolean appBindUserAccount(UserApp resources) {
170 String account = resources.getAccount();
171 Integer accountType = resources.getAccountType();
172 UserAppBindDTO userAppBindDTO = this.userAppBindService.findFirstByAccountAndAccountType(account, accountType);
173 if (Objects.nonNull(userAppBindDTO.getId())){
174 Integer count = null;//this.userAppBindService.update(account, accountType, UserAppStatusConstant.VALID_STATUS);
175 return count > 0;
176 }
177 return false;
178 }
179
170 /** 180 /**
171 * 创建大屏账户同时创建会员 181 * 创建大屏账户同时创建会员
172 * 182 *
...@@ -174,7 +184,7 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -174,7 +184,7 @@ public class UserOperationServiceImpl implements UserOperationService {
174 * @return UserTvDTO 184 * @return UserTvDTO
175 */ 185 */
176 @Override 186 @Override
177 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class) 187 @Transactional(rollbackFor = Exception.class)
178 public UserTvDTO createTvUserAndMember(UserTv resources) { 188 public UserTvDTO createTvUserAndMember(UserTv resources) {
179 189
180 // 大屏账户 190 // 大屏账户
...@@ -1130,7 +1140,7 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -1130,7 +1140,7 @@ public class UserOperationServiceImpl implements UserOperationService {
1130 userTv.setId(userTvDTO.getId()); 1140 userTv.setId(userTvDTO.getId());
1131 userTv.setPriorityMemberCode(memberDTO.getCode()); 1141 userTv.setPriorityMemberCode(memberDTO.getCode());
1132 1142
1133 userTvDTO = this.userTvService.doUpdatePriorityMemberCode(userTv); 1143 this.userTvService.doUpdatePriorityMemberCode(userTv);
1134 } 1144 }
1135 1145
1136 Member member = new Member(); 1146 Member member = new Member();
...@@ -1156,7 +1166,7 @@ public class UserOperationServiceImpl implements UserOperationService { ...@@ -1156,7 +1166,7 @@ public class UserOperationServiceImpl implements UserOperationService {
1156 member.setPlatformAccount(platformAccount); 1166 member.setPlatformAccount(platformAccount);
1157 1167
1158 // 修改会员 1168 // 修改会员
1159 memberDTO = this.memberService.doUpdateMemberUserIptvIdAndBindIptvPlatformAndBindIptvTime(member); 1169 this.memberService.doUpdateMemberUserIptvIdAndBindIptvPlatformAndBindIptvTime(member);
1160 1170
1161 memberDTO.setPlatformAccount(platformAccount); 1171 memberDTO.setPlatformAccount(platformAccount);
1162 1172
......