Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
向汉
/
uc-engine
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
b8ba18e4
...
b8ba18e43b6e49cbcd5390d6c5b7a1abc929e67a
authored
2022-01-26 10:24:41 +0800
by
xianghan@topdraw.cn
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1.添加小程序绑定事件
1 parent
3a9035d7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
70 additions
and
15 deletions
member-service-impl/src/main/java/com/topdraw/business/module/member/relatedinfo/rest/MemberRelatedInfoController.java
member-service-impl/src/main/java/com/topdraw/business/process/rest/MemberOperationController.java
member-service-impl/src/main/java/com/topdraw/business/process/rest/UserOperationController.java
member-service-impl/src/main/java/com/topdraw/business/process/service/UserOperationService.java
member-service-impl/src/main/java/com/topdraw/business/process/service/impl/UserOperationServiceImpl.java
member-service-impl/src/main/java/com/topdraw/business/module/member/relatedinfo/rest/MemberRelatedInfoController.java
View file @
b8ba18e
...
...
@@ -22,13 +22,13 @@ import io.swagger.annotations.*;
import
java.util.Objects
;
/**
* @author XiangHan
/api/MemberRelatedInfo
* @author XiangHan
* @date 2021-10-22
*/
@Slf4j
@Api
(
tags
=
"MemberRelatedInfo管理"
)
@RestController
@RequestMapping
(
"/ucEngine/api/
MemberRelatedInfo
"
)
@RequestMapping
(
"/ucEngine/api/
memberRelatedInfoController
"
)
@CrossOrigin
public
class
MemberRelatedInfoController
{
...
...
member-service-impl/src/main/java/com/topdraw/business/process/rest/MemberOperationController.java
View file @
b8ba18e
...
...
@@ -15,17 +15,17 @@ import org.springframework.web.bind.annotation.*;
@Api
(
"会员处理"
)
@RestController
@RequestMapping
(
value
=
"/ucEngine/api/memberOperation"
)
@RequestMapping
(
value
=
"/ucEngine/api/memberOperation
Controller
"
)
public
class
MemberOperationController
{
@Autowired
private
MemberOperationService
memberOperationService
;
@Log
(
"获取会员加密信息并且检查vip状态"
)
@GetMapping
(
"/getMemberProfileAndCheckVip/{
memberId}/{appi
d}"
)
@GetMapping
(
"/getMemberProfileAndCheckVip/{
appId}/{memberI
d}"
)
@ApiOperation
(
"获取会员加密信息并且检查vip状态"
)
public
IResultInfo
getMemberProfileAndCheckVip
(
@PathVariable
Long
memberId
,
@PathVariable
String
appi
d
)
{
MemberProfileDTO
memberProfileDTO
=
this
.
memberOperationService
.
getMemberProfileAndCheckVip
(
memberId
,
app
i
d
);
public
IResultInfo
getMemberProfileAndCheckVip
(
@PathVariable
(
value
=
"appId"
)
String
appId
,
@PathVariable
(
value
=
"memberId"
)
Long
memberI
d
)
{
MemberProfileDTO
memberProfileDTO
=
this
.
memberOperationService
.
getMemberProfileAndCheckVip
(
memberId
,
app
I
d
);
return
ResultInfo
.
success
(
memberProfileDTO
);
}
...
...
member-service-impl/src/main/java/com/topdraw/business/process/rest/UserOperationController.java
View file @
b8ba18e
package
com
.
topdraw
.
business
.
process
.
rest
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.druid.support.json.JSONUtils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.topdraw.annotation.AnonymousAccess
;
import
com.topdraw.annotation.Log
;
import
com.topdraw.business.module.member.profile.domain.MemberProfile
;
import
com.topdraw.business.module.member.service.dto.MemberDTO
;
import
com.topdraw.business.module.user.iptv.domain.UserTv
;
import
com.topdraw.business.module.user.iptv.service.dto.UserTvDTO
;
import
com.topdraw.business.module.user.weixin.domain.UserWeixin
;
import
com.topdraw.business.module.user.weixin.service.dto.UserWeixinDTO
;
import
com.topdraw.business.process.domian.TempIptvUser
;
import
com.topdraw.business.process.domian.UnbindGroup
;
...
...
@@ -22,7 +17,6 @@ import com.topdraw.business.process.service.UserOperationService;
import
com.topdraw.common.ResultInfo
;
import
com.topdraw.config.RedisKeyUtil
;
import
com.topdraw.exception.BadRequestException
;
import
com.topdraw.module.mq.DataSyncMsg
;
import
com.topdraw.util.JSONUtil
;
import
com.topdraw.utils.RedisUtils
;
import
com.topdraw.utils.StringUtils
;
...
...
@@ -51,8 +45,6 @@ public class UserOperationController {
@Autowired
private
UserOperationService
userTvOperationService
;
@Autowired
private
WeiXinRequestUtil
weixinRequestUtil
;
@Autowired
private
RedisUtils
redisUtils
;
@Log
(
"获取大屏绑定的小屏会员列表"
)
...
...
@@ -155,6 +147,15 @@ public class UserOperationController {
return
ResultInfo
.
success
(
result
);
}
@Log
(
"微信小程序绑定大屏"
)
@PostMapping
(
"/appletBind"
)
@ApiOperation
(
"微信小程序绑定大屏"
)
@AnonymousAccess
public
ResultInfo
appletBind
(
@Validated
@RequestBody
WeiXinUserBean
resources
)
{
UserWeixinDTO
result
=
this
.
userTvOperationService
.
appletBind
(
resources
);
return
ResultInfo
.
success
(
result
);
}
@Log
(
"微信公众号关注"
)
@PostMapping
(
"/subscribe"
)
@ApiOperation
(
"微信公众号关注"
)
...
...
member-service-impl/src/main/java/com/topdraw/business/process/service/UserOperationService.java
View file @
b8ba18e
...
...
@@ -107,4 +107,11 @@ public interface UserOperationService {
* @return
*/
Object
serviceLogin
(
WeiXinUserBean
resources
);
/**
* 小程序绑定大屏
* @param resources
* @return
*/
UserWeixinDTO
appletBind
(
WeiXinUserBean
resources
);
}
...
...
member-service-impl/src/main/java/com/topdraw/business/process/service/impl/UserOperationServiceImpl.java
View file @
b8ba18e
...
...
@@ -475,7 +475,9 @@ public class UserOperationServiceImpl implements UserOperationService {
// 保存或者修改,微信账户信息
UserWeixinDTO
userWeixinDTO
=
this
.
doCreateUserWeiXin
(
userWeixin
,
memberId
);
return
userWeixinDTO
;
// 为了保证返回的同一用户
UserWeixinDTO
userWeixinDTO_0
=
this
.
getFirstId
(
userWeixinDTO
);
return
userWeixinDTO_0
;
}
/**
...
...
@@ -1188,6 +1190,51 @@ public class UserOperationServiceImpl implements UserOperationService {
return
userWeixinDTO_0
;
}
@Override
public
UserWeixinDTO
appletBind
(
WeiXinUserBean
resources
)
{
/*Optional<UserWeixin> userWeixinOptional = userWeixinRepository.findById(criteria.getId());
if (!userWeixinOptional.isPresent()) {
throw new EntityNotFoundException(UserWeixin.class, "id", criteria.getId().toString());
}
UserWeixin userWeixin = userWeixinOptional.get();
Member weixinMember = userWeixin.getMember();
String unionid = criteria.getUnionid();
Long personId = null;
// 前端先校验绑定状态,若已绑定会予以提示,进一步操作,可能会产生换绑
// 小屏账号关联person,且已进行了授权
if (ObjectUtil.isNull(weixinMember) && StrUtil.isNotBlank(unionid)) {
//第一次绑定
// 微信用户unionid为空,或者与传到unionid一致,否则报错
Assert.state(StrUtil.isBlank(userWeixin.getUnionid()) || ObjectUtil.equals(userWeixin.getUnionid(), unionid), "用户信息有误,请重新授权");
userWeixin.setUnionid(unionid);
Member member = getOrGenerateMobileMember(userWeixin, null);
personId = member.getId();
} else if (ObjectUtil.isNotNull(weixinMember)) {
personId = weixinMember.getId();
personCode = weixinMember.getCode();
}
TvUserQueryCriteria tvUserQueryCriteria = new TvUserQueryCriteria();
tvUserQueryCriteria.setPlatformAccount(criteria.getPlatformUserId());
List<TvUserDTO> tvUsers = tvUserService.queryAll(tvUserQueryCriteria);
// 理论上,大屏账号在创建/修改时,会同步到此侧,查不到可能是传值有误,或还未同步过来
Assert.notEmpty(tvUsers, "大屏账号不存在,请检查或稍后重试");
TvUser tvUser = tvUserMapper.toEntity(tvUsers.get(0));
// 更新关联的大屏账号
// personService.updateBindTvUser(personCode, tvUser.getId());
weixinMember.setUserIptvId(tvUser.getId());
weixinMember.setBindIptvTime(new Timestamp(System.currentTimeMillis()));
weixinMember.setBindIptvPlatformType(1);
memberService.update(weixinMember);
userWeixin.setMemberId(personId);
update(userWeixin);*/
return
null
;
}
/**
* 同一用户有多个微信APP的情况下展示同一个账户信息
* 原则:那个先创建就用那个id
...
...
Please
register
or
sign in
to post a comment