feat:微信支付
This commit is contained in:
1 parent
f2b185b731
commit
bce4bf9ee3
27 files changed
+1224
-68
No files matched your search
+19
@@ -0,0 +1,19 @@
|
||||
package com.bsd.pjcloud.app.api.dto;
|
||||
|
||||
import com.bsd.pjcloud.app.api.constant.AppUserTypeEnum;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AppAdminSyncDto {
|
||||
|
||||
private String uniqueCode;
|
||||
|
||||
private AppUserTypeEnum userTypeEnum;
|
||||
|
||||
private Long adminUserId;
|
||||
|
||||
private String username;
|
||||
|
||||
private String avatarImage;
|
||||
|
||||
}
|
||||
+9
-1
@@ -19,6 +19,7 @@
|
||||
|
||||
package com.bsd.pjcloud.app.api.feign;
|
||||
|
||||
import com.bsd.pjcloud.app.api.dto.AppAdminSyncDto;
|
||||
import com.bsd.pjcloud.app.api.dto.AppUserInfo;
|
||||
import com.bsd.pjcloud.common.core.constant.ServiceNameConstants;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
@@ -26,6 +27,8 @@ import com.bsd.pjcloud.common.feign.annotation.NoToken;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
|
||||
@FeignClient(contextId = "remoteAppUserService", value = ServiceNameConstants.APP_SERVER)
|
||||
@@ -49,5 +52,10 @@ public interface RemoteAppUserService {
|
||||
@GetMapping("/appsocial/info/{inStr}")
|
||||
R<AppUserInfo> social(@PathVariable("inStr") String inStr);
|
||||
|
||||
|
||||
/**
|
||||
* 同步admin账户信息为app账户
|
||||
*/
|
||||
@NoToken
|
||||
@PostMapping("/appsocial/info/sync-admin-account-info")
|
||||
R<AppUserInfo> syncAdminAccountInfo(@RequestBody AppAdminSyncDto appAdminSyncDto);
|
||||
}
|
||||
+15
@@ -20,6 +20,8 @@ package com.bsd.pjcloud.app.controller;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.app.api.dto.AppAdminSyncDto;
|
||||
import com.bsd.pjcloud.app.api.dto.AppUserInfo;
|
||||
import com.bsd.pjcloud.app.api.entity.AppSocialDetails;
|
||||
import com.bsd.pjcloud.app.service.AppSocialDetailsService;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
@@ -49,6 +51,19 @@ public class AppSocialDetailsController {
|
||||
|
||||
private final AppSocialDetailsService appSocialDetailsService;
|
||||
|
||||
/* ************************************* start 设备端 start ************************************* */
|
||||
|
||||
/**
|
||||
* 同步admin账户信息为app账户
|
||||
*/
|
||||
@PostMapping("/sync-admin-account-info")
|
||||
public R<AppUserInfo> syncAdminAccountInfo(@RequestBody AppAdminSyncDto dto) {
|
||||
return R.ok(appSocialDetailsService.syncAdminAccountInfo(dto));
|
||||
}
|
||||
|
||||
/* ************************************* end 设备端 end ************************************* */
|
||||
|
||||
|
||||
/**
|
||||
* 社交登录账户简单分页查询
|
||||
*/
|
||||
|
||||
+14
-16
@@ -18,30 +18,28 @@
|
||||
package com.bsd.pjcloud.app.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.app.api.dto.AppAdminSyncDto;
|
||||
import com.bsd.pjcloud.app.api.dto.AppUserInfo;
|
||||
import com.bsd.pjcloud.app.api.entity.AppSocialDetails;
|
||||
|
||||
/**
|
||||
* 系统社交登录账号表
|
||||
*
|
||||
* @author pjcloud
|
||||
* @date 2018-08-16 21:30:41
|
||||
*/
|
||||
public interface AppSocialDetailsService extends IService<AppSocialDetails> {
|
||||
|
||||
/**
|
||||
* 绑定社交账号
|
||||
* @param state 类型
|
||||
* @param code code
|
||||
* @return
|
||||
*/
|
||||
Boolean bindSocial(String state, String code);
|
||||
|
||||
/**
|
||||
* 根据入参查询用户信息
|
||||
* @param inStr
|
||||
* @return
|
||||
*/
|
||||
AppUserInfo getUserInfo(String inStr);
|
||||
/**
|
||||
* 同步admin账户信息为app账户
|
||||
*/
|
||||
AppUserInfo syncAdminAccountInfo(AppAdminSyncDto dto);
|
||||
|
||||
/**
|
||||
* 绑定社交账号
|
||||
*/
|
||||
Boolean bindSocial(String state, String code);
|
||||
|
||||
/**
|
||||
* 根据入参查询用户信息
|
||||
*/
|
||||
AppUserInfo getUserInfo(String inStr);
|
||||
}
|
||||
+56
-34
@@ -17,8 +17,12 @@
|
||||
|
||||
package com.bsd.pjcloud.app.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.app.api.constant.AppUserTypeEnum;
|
||||
import com.bsd.pjcloud.app.api.dto.AppAdminSyncDto;
|
||||
import com.bsd.pjcloud.app.api.dto.AppUserInfo;
|
||||
import com.bsd.pjcloud.app.api.entity.AppSocialDetails;
|
||||
import com.bsd.pjcloud.app.api.entity.AppUser;
|
||||
@@ -26,6 +30,7 @@ import com.bsd.pjcloud.app.handler.LoginHandler;
|
||||
import com.bsd.pjcloud.app.mapper.AppSocialDetailsMapper;
|
||||
import com.bsd.pjcloud.app.mapper.AppUserMapper;
|
||||
import com.bsd.pjcloud.app.service.AppSocialDetailsService;
|
||||
import com.bsd.pjcloud.app.service.AppUserService;
|
||||
import com.bsd.pjcloud.common.core.constant.CacheConstants;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -42,45 +47,62 @@ import java.util.Map;
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
@Service("appSocialDetailsService")
|
||||
public class AppSocialDetailsServiceImpl extends ServiceImpl<AppSocialDetailsMapper, AppSocialDetails>
|
||||
implements AppSocialDetailsService {
|
||||
public class AppSocialDetailsServiceImpl extends ServiceImpl<AppSocialDetailsMapper, AppSocialDetails> implements AppSocialDetailsService {
|
||||
|
||||
private final Map<String, LoginHandler> loginHandlerMap;
|
||||
private final Map<String, LoginHandler> loginHandlerMap;
|
||||
|
||||
private final CacheManager cacheManager;
|
||||
private final CacheManager cacheManager;
|
||||
|
||||
private final AppUserMapper appUserMapper;
|
||||
private final AppUserMapper appUserMapper;
|
||||
|
||||
/**
|
||||
* 绑定社交账号
|
||||
* @param type type
|
||||
* @param code code
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean bindSocial(String type, String code) {
|
||||
LoginHandler loginHandler = loginHandlerMap.get(type);
|
||||
// 绑定逻辑
|
||||
String identify = loginHandler.identify(code);
|
||||
AppUser user = appUserMapper.selectById(SecurityUtils.getUser().getId());
|
||||
loginHandler.bind(user, identify);
|
||||
private final AppUserService appUserService;
|
||||
|
||||
// 更新緩存
|
||||
cacheManager.getCache(CacheConstants.USER_DETAILS_MINI).evict(user.getUsername());
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
@Override
|
||||
public AppUserInfo syncAdminAccountInfo(AppAdminSyncDto dto) {
|
||||
AppUser user = appUserService.getOne(Wrappers.<AppUser>query().lambda()
|
||||
.eq(AppUser::getOpenid, dto.getUniqueCode())
|
||||
.eq(AppUser::getUserType, dto.getUserTypeEnum().getType())
|
||||
);
|
||||
if (ObjectUtil.isNotEmpty(user)) {
|
||||
return appUserService.findUserInfo(user);
|
||||
}
|
||||
AppUser appUser = new AppUser();
|
||||
appUser.setOpenid(dto.getUniqueCode());
|
||||
appUser.setUserType(AppUserTypeEnum.MINI_ALIPAY.getType());
|
||||
appUser.setUsername(dto.getUsername());
|
||||
appUser.setName(dto.getUsername());
|
||||
appUser.setAvatar(dto.getAvatarImage());
|
||||
appUser.setCreateBy(dto.getUniqueCode());
|
||||
appUser.setUpdateBy(dto.getUniqueCode());
|
||||
appUserService.saveOrUpdate(appUser);
|
||||
return appUserService.findUserInfo(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入参查询用户信息
|
||||
* @param inStr TYPE@code
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AppUserInfo getUserInfo(String inStr) {
|
||||
String[] inStrs = inStr.split(StringPool.AT);
|
||||
String type = inStrs[0];
|
||||
String loginStr = inStr.substring(type.length() + 1);
|
||||
return loginHandlerMap.get(type).handle(loginStr);
|
||||
}
|
||||
/**
|
||||
* 绑定社交账号
|
||||
*/
|
||||
@Override
|
||||
public Boolean bindSocial(String type, String code) {
|
||||
LoginHandler loginHandler = loginHandlerMap.get(type);
|
||||
// 绑定逻辑
|
||||
String identify = loginHandler.identify(code);
|
||||
AppUser user = appUserMapper.selectById(SecurityUtils.getUser().getId());
|
||||
loginHandler.bind(user, identify);
|
||||
|
||||
// 更新緩存
|
||||
cacheManager.getCache(CacheConstants.USER_DETAILS_MINI).evict(user.getUsername());
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入参查询用户信息
|
||||
*/
|
||||
@Override
|
||||
public AppUserInfo getUserInfo(String inStr) {
|
||||
String[] inStrs = inStr.split(StringPool.AT);
|
||||
String type = inStrs[0];
|
||||
String loginStr = inStr.substring(type.length() + 1);
|
||||
return loginHandlerMap.get(type).handle(loginStr);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user