记得上下班打卡 | git大法好,push需谨慎

Commit 51410384 authored by 张国柄's avatar 张国柄

替换REDIS存储结构MAP -> String;

parent 1b2f0c33
...@@ -18,9 +18,9 @@ public interface IAdamAddressesService extends IService<AdamAddresses> { ...@@ -18,9 +18,9 @@ public interface IAdamAddressesService extends IService<AdamAddresses> {
void add(AdamAddresses adamAddresses); void add(AdamAddresses adamAddresses);
List<AdamAddresses> queryByUid(String uid); // List<AdamAddresses> queryByUid(String uid);
AdamAddresses query(String uid, String addressesId); // AdamAddresses query(String uid, String addressesId);
void def(String uid, String addressesId); void def(String uid, String addressesId);
......
...@@ -15,7 +15,7 @@ import com.liquidnet.service.adam.entity.AdamDisposed; ...@@ -15,7 +15,7 @@ import com.liquidnet.service.adam.entity.AdamDisposed;
* @author liquidnet * @author liquidnet
* @since 2021-05-18 * @since 2021-05-18
*/ */
public interface IAdamDisposedService extends IService<AdamDisposed> { public interface IAdamDisposedService {
void add(AdamDisposedBaseVo disposedBaseVo); void add(AdamDisposedBaseVo disposedBaseVo);
......
...@@ -15,11 +15,11 @@ import java.util.List; ...@@ -15,11 +15,11 @@ import java.util.List;
* @since 2021-04-28 * @since 2021-04-28
*/ */
public interface IAdamEntersService extends IService<AdamEnters> { public interface IAdamEntersService extends IService<AdamEnters> {
List<AdamEnters> queryByUid(String uid); // List<AdamEnters> queryByUid(String uid);
void add(AdamEnters info); void add(AdamEnters info);
AdamEnters query(String uid, String entersId); // AdamEnters query(String uid, String entersId);
void def(String uid, String entersId); void def(String uid, String entersId);
......
...@@ -11,5 +11,5 @@ import com.liquidnet.service.adam.entity.AdamMember; ...@@ -11,5 +11,5 @@ import com.liquidnet.service.adam.entity.AdamMember;
public interface IAdamMemberService extends IService<AdamMember> { public interface IAdamMemberService extends IService<AdamMember> {
AdamMemberVo queryMemberInfo(); AdamMemberVo queryMemberInfo();
AdamMemberSimpleVo queryMemberSimpleVo(); // AdamMemberSimpleVo queryMemberSimpleVo();
} }
package com.liquidnet.service.adam.service;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamEnters;
import java.util.List;
public interface IAdamRdmService {
boolean setUidByMobile(String mobile, String uid);
void delUidByMobile(String mobile);
String getUidByMobile(String mobile);
boolean setUidByPlatformOpenId(String platform, String openId, String uid);
void delUidByPlatformOpenId(String platform, String openId);
String getUidByPlatformOpenId(String platform, String openId);
void delUserInfoVoByUid(String uid);
boolean setUserInfoVoByUid(String uid, AdamUserInfoVo vo);
AdamUserInfoVo getUserInfoVoByUid(String uid);
boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo);
void delRealInfoVoByUid(String uid);
AdamRealInfoVo getRealInfoVoByUid(String uid);
boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList);
void delThirdPartVoListByUid(String uid);
List<AdamThirdPartInfoVo> getThirdPartVoListByUid(String uid);
AdamThirdPartInfoVo getThirdPartVoByUidPlatform(String uid, String platform);
AdamUserMemberVo getUserMemberVoByUid(String uid);
AdamMemberSimpleVo getMemberSimpleVo();
boolean setEntersByUid(String uid, List<AdamEnters> list);
void delEntersByUid(String uid);
List<AdamEnters> getEntersByUid(String uid);
AdamEnters getEntersByUidEntersId(String uid, String entersId);
boolean setAddressesByUid(String uid, List<AdamAddresses> list);
void delAddressesByUid(String uid);
List<AdamAddresses> getAddressesByUid(String uid);
AdamAddresses getAddressesByUidAddressesId(String uid, String addressesId);
}
...@@ -16,7 +16,7 @@ import java.util.List; ...@@ -16,7 +16,7 @@ import java.util.List;
*/ */
public interface IAdamThirdPartyService extends IService<AdamThirdParty> { public interface IAdamThirdPartyService extends IService<AdamThirdParty> {
List<AdamThirdPartInfoVo> queryByUid(String uid); // List<AdamThirdPartInfoVo> queryByUid(String uid);
AdamThirdPartInfoVo queryByUidAndPlatform(String uid, String platform); // AdamThirdPartInfoVo queryByUidAndPlatform(String uid, String platform);
} }
...@@ -12,7 +12,7 @@ public interface IAdamUserMemberService extends IService<AdamUserMember> { ...@@ -12,7 +12,7 @@ public interface IAdamUserMemberService extends IService<AdamUserMember> {
String getMaxMemberNo(String memberId); String getMaxMemberNo(String memberId);
// 获取用户会员信息 // 获取用户会员信息
AdamUserMemberVo getUserMemberInfo(String uid); // AdamUserMemberVo getUserMemberInfo(String uid);
/** /**
* 获取会员库存 * 获取会员库存
......
...@@ -19,11 +19,11 @@ import java.util.List; ...@@ -19,11 +19,11 @@ import java.util.List;
*/ */
public interface IAdamUserService extends IService<AdamUser> { public interface IAdamUserService extends IService<AdamUser> {
String queryUidByRedis(String mobile); // String queryUidByRedis(String mobile);
//
// String queryUidByRedis(String openId, String platform);
String queryUidByRedis(String openId, String platform); // AdamUserInfoVo queryByUid(String uid);
AdamUserInfoVo queryByUid(String uid);
/** /**
* 手机号注册 * 手机号注册
...@@ -55,18 +55,16 @@ public interface IAdamUserService extends IService<AdamUser> { ...@@ -55,18 +55,16 @@ public interface IAdamUserService extends IService<AdamUser> {
* @param bindUid * @param bindUid
* @param unBindUid * @param unBindUid
* @param param * @param param
* @return
*/ */
List<AdamThirdPartInfoVo> bindTpaForce(String bindUid, String unBindUid, AdamThirdPartParam param); void bindTpaForce(String bindUid, String unBindUid, AdamThirdPartParam param);
/** /**
* 第三方账号解绑 * 第三方账号解绑
* *
* @param uid * @param uid
* @param platform * @param platform
* @return List<AdamThirdPartInfoVo>
*/ */
List<AdamThirdPartInfoVo> unBindTpa(String uid, String platform); void unBindTpa(String uid, String platform);
void close(String uid); void close(String uid);
......
...@@ -23,6 +23,8 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable { ...@@ -23,6 +23,8 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable {
private String timeEnd; private String timeEnd;
@ApiModelProperty(position = 15, value = "票种列表信息") @ApiModelProperty(position = 15, value = "票种列表信息")
private List<KylinStationTicketVo> ticketVoList; private List<KylinStationTicketVo> ticketVoList;
@ApiModelProperty(position = 16, value = "可下载时间")
private String canDownTime;
private static final KylinStationPerformanceVo obj = new KylinStationPerformanceVo(); private static final KylinStationPerformanceVo obj = new KylinStationPerformanceVo();
...@@ -33,4 +35,14 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable { ...@@ -33,4 +35,14 @@ public class KylinStationPerformanceVo implements Serializable, Cloneable {
return new KylinStationPerformanceVo(); return new KylinStationPerformanceVo();
} }
} }
public KylinStationPerformanceVo copy(KylinPerformanceVo source) {
if (null == source) return this;
this.performanceId = source.getPerformancesId();
this.type = source.getType();
this.title = source.getTitle();
this.timeStart = source.getTimeStart();
this.timeEnd = source.getTimeEnd();
return this;
}
} }
...@@ -31,4 +31,14 @@ public class KylinStationTicketVo implements Serializable, Cloneable { ...@@ -31,4 +31,14 @@ public class KylinStationTicketVo implements Serializable, Cloneable {
private Integer checkedNum; private Integer checkedNum;
@ApiModelProperty(position = 19, value = "余量[9]") @ApiModelProperty(position = 19, value = "余量[9]")
private Integer remainderNum; private Integer remainderNum;
private static final KylinStationTicketVo obj = new KylinStationTicketVo();
public static KylinStationTicketVo getNew() {
try {
return (KylinStationTicketVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinStationTicketVo();
}
}
} }
...@@ -14,7 +14,7 @@ public class CurrentUtil { ...@@ -14,7 +14,7 @@ public class CurrentUtil {
public static String getToken() { public static String getToken() {
String authToken = ServletUtils.getRequest().getHeader(uToken); String authToken = ServletUtils.getRequest().getHeader(uToken);
return StringUtils.isBlank(authToken) ? null : authToken.substring(7); return StringUtils.isEmpty(authToken) ? "" : authToken;
} }
public static Map getTokenClaims() { public static Map getTokenClaims() {
......
...@@ -75,21 +75,15 @@ zuul: ...@@ -75,21 +75,15 @@ zuul:
# ignored-patterns: /**/div/** # ignored-patterns: /**/div/**
# ----------------------------------------------------------- # -----------------------------------------------------------
global: global:
login: include:
url: /adam/login/sms, url:
/adam/login/mobile, url-pattern: /kylin/station/**
/adam/login/tpa
exclude: exclude:
url: /adam/v2/api-docs, url: /adam/send,
/adam/v2/api-docs-ext,
/kylin/v2/api-docs,
/kylin/v2/api-docs-ext,
/adam/login/sms,
/adam/login/mobile,
/adam/login/tpa,
/adam/send,
/adam/member/info /adam/member/info
url-pattern: /kylin/** url-pattern: /**/login/**,
/*/v2/api-docs*,
/kylin/**
# ----------------------------------------------------------- # -----------------------------------------------------------
#解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service #解决错误 com.netflix.client.ClientException: Load balancer does not have available server for client:panfeng-item-service
#这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。 #这样就可以即指定path与URL,又不破坏Zuul的Hystrix与Ribbon特性了。
......
...@@ -4,17 +4,20 @@ package com.liquidnet.service.adam.constant; ...@@ -4,17 +4,20 @@ package com.liquidnet.service.adam.constant;
* @date 2020-11-04 14:02 * @date 2020-11-04 14:02
*/ */
public class AdamRedisConst { public class AdamRedisConst {
public static final String ADAM = "adam"; public static final String ADAM = "adam:";
public static final String INFO_IDENTITY = ADAM.concat(":identity"); public static final String IDENTITY = ADAM.concat("identity:");
public static final String INFO_IDENTITY_MOBILE = INFO_IDENTITY.concat(":mobile"); public static final String IDENTITY_MOBILE = IDENTITY.concat("mobile:");
public static final String INFO_IDENTITY_THIRD_PARTY = INFO_IDENTITY.concat(":third_party"); public static final String IDENTITY_THIRD_PARTY = IDENTITY.concat("third_party:");
public static final String INFO_USER = ADAM.concat(":list:user");
public static final String INFO_REAL_NAME = ADAM.concat(":list:real_name");
public static final String INFO_THIRD_PARTY = ADAM.concat(":list:third_party");
public static final String INFO_ENTERS = ADAM.concat(":list:enters:"); public static final String INFO = ADAM.concat("info:");
public static final String INFO_ADDRESSES = ADAM.concat(":list:addresses:"); public static final String INFO_USER = INFO.concat("user:");
public static final String INFO_REAL_NAME = INFO.concat("info:real_name:");
public static final String INFO_THIRD_PARTY = INFO.concat("info:third_party:");
public static final String INFO_USER_MEMBER = INFO.concat("info:user_member:");
public static final String INFO_MEMBER_SIMPLE = INFO.concat("info:member_simple:");
public static final String INFO_ENTERS = INFO.concat("info:enters:");
public static final String INFO_ADDRESSES = INFO.concat("info:addresses:");
public static final String INFO_MEMBERS = ADAM.concat(":list:members"); public static final String INFO_MEMBERS = ADAM.concat(":list:members");
public static final String INFO_MEMBERS_INFO = ADAM.concat(":list:members:info:"); public static final String INFO_MEMBERS_INFO = ADAM.concat(":list:members:info:");
...@@ -24,33 +27,4 @@ public class AdamRedisConst { ...@@ -24,33 +27,4 @@ public class AdamRedisConst {
public static final String INFO_MEMBERS_USER = ADAM.concat(":list:members:user"); public static final String INFO_MEMBERS_USER = ADAM.concat(":list:members:user");
public static final String INFO_MEMBERS_REPERTORY_INFO = ADAM.concat(":list:members:repertory:"); public static final String INFO_MEMBERS_REPERTORY_INFO = ADAM.concat(":list:members:repertory:");
public static final String INFO_MEMBERS_ORDER_INFO = ADAM.concat(":list:members:order:"); public static final String INFO_MEMBERS_ORDER_INFO = ADAM.concat(":list:members:order:");
// public static final String USER_CONFIRM_SMS_CODE_KEY = ADAM + ":user:sms_confirm:";
//
// public static final String USER_EMAIL_CONFIRM_KEY = ADAM + ":user:email:confirm:";
//
// public static final String USER_EMAIL_UPDATE_KEY = ADAM + ":user:email:update:";
//
// public static final String USER_PASSWORD_FORGET_KEY = ADAM + ":user:password:forget:";
//
// public static final String USER_PASSWORD_ERROR_KEY = ADAM + ":user:password:error:";
//
// public static final String CONVERSION_SEND_CONFIRM_KEY = ADAM + ":conversion:send_confirm:";
//
// public static final String WALLET_LOCK = ADAM + "_wallet_lock_";
//
// public static final String FUNDING_LOCK = ADAM + "_funding_lock_";
//
// public static final String PAYOUT_LOCK = ADAM + "_payout_lock_";
//
// public static final String USER_LOGIN_TIME_OUT_KEY = ADAM + ":user:login:timeout:";
//
// public static final String USER_LOGIN_TOKEN_ITEM_EMAIL_CHANGE = "emailChangeFlag";
//
// public static final String USER_LOGIN_KEY = ADAM + ":user:login:";
//
// public static final String USER_LOGIN_ITEM_TOKEN = "token";
//
// public static final String USER_LOGIN_ITEM_PERMIT = "permit";
} }
...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CurrentUtil; ...@@ -6,6 +6,7 @@ import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.adam.entity.AdamAddresses; import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.service.IAdamAddressesService; import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamAddressesParam; import com.liquidnet.service.adam.dto.AdamAddressesParam;
...@@ -36,6 +37,8 @@ import java.util.List; ...@@ -36,6 +37,8 @@ import java.util.List;
@RestController @RestController
@RequestMapping("addr") @RequestMapping("addr")
public class AdamAddressesController { public class AdamAddressesController {
@Autowired
IAdamRdmService adamRdmService;
@Autowired @Autowired
IAdamAddressesService adamAddressesService; IAdamAddressesService adamAddressesService;
...@@ -65,7 +68,7 @@ public class AdamAddressesController { ...@@ -65,7 +68,7 @@ public class AdamAddressesController {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamAddressesVo> voList = new ArrayList<>(); List<AdamAddressesVo> voList = new ArrayList<>();
adamAddressesService.queryByUid(currentUid).forEach(i -> { adamRdmService.getAddressesByUid(currentUid).forEach(i -> {
voList.add(AdamAddressesVo.getNew().copy(i)); voList.add(AdamAddressesVo.getNew().copy(i));
}); });
...@@ -78,7 +81,7 @@ public class AdamAddressesController { ...@@ -78,7 +81,7 @@ public class AdamAddressesController {
public ResponseDto<Object> def(@PathVariable String addrId) { public ResponseDto<Object> def(@PathVariable String addrId) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamAddresses addresses = adamAddressesService.query(currentUid, addrId); AdamAddresses addresses = adamRdmService.getAddressesByUidAddressesId(currentUid, addrId);
if (null == addresses) return ResponseDto.failure(ErrorMapping.get("10106")); if (null == addresses) return ResponseDto.failure(ErrorMapping.get("10106"));
if (!addresses.getIsDefault()) adamAddressesService.def(currentUid, addrId); if (!addresses.getIsDefault()) adamAddressesService.def(currentUid, addrId);
...@@ -111,7 +114,7 @@ public class AdamAddressesController { ...@@ -111,7 +114,7 @@ public class AdamAddressesController {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamAddresses addresses = adamAddressesService.query(currentUid, addrId); AdamAddresses addresses = adamRdmService.getAddressesByUidAddressesId(currentUid, addrId);
if (null == addresses) return ResponseDto.failure(ErrorMapping.get("10106")); if (null == addresses) return ResponseDto.failure(ErrorMapping.get("10106"));
adamAddressesService.remove(currentUid, addrId); adamAddressesService.remove(currentUid, addrId);
...@@ -125,7 +128,7 @@ public class AdamAddressesController { ...@@ -125,7 +128,7 @@ public class AdamAddressesController {
@RequestParam(name = "uid", required = false) String uid) { @RequestParam(name = "uid", required = false) String uid) {
// TODO: 2021/4/28 校验 // TODO: 2021/4/28 校验
AdamAddresses addresses = adamAddressesService.query(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, addrId); AdamAddresses addresses = adamRdmService.getAddressesByUidAddressesId(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, addrId);
return null == addresses ? ResponseDto.failure(ErrorMapping.get(10105)) : ResponseDto.success(AdamAddressesVo.getNew().copy(addresses)); return null == addresses ? ResponseDto.failure(ErrorMapping.get(10105)) : ResponseDto.success(AdamAddressesVo.getNew().copy(addresses));
} }
......
...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.dto.AdamEntersParam; ...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.dto.AdamEntersParam;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters; import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.service.IAdamEntersService; import com.liquidnet.service.adam.service.IAdamEntersService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -36,6 +37,8 @@ import java.util.List; ...@@ -36,6 +37,8 @@ import java.util.List;
@RestController @RestController
@RequestMapping("enters") @RequestMapping("enters")
public class AdamEntersController { public class AdamEntersController {
@Autowired
IAdamRdmService adamRdmService;
@Autowired @Autowired
IAdamEntersService adamEntersService; IAdamEntersService adamEntersService;
...@@ -66,7 +69,7 @@ public class AdamEntersController { ...@@ -66,7 +69,7 @@ public class AdamEntersController {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
List<AdamEntersVo> voList = new ArrayList<>(); List<AdamEntersVo> voList = new ArrayList<>();
adamEntersService.queryByUid(currentUid).forEach(i -> { adamRdmService.getEntersByUid(currentUid).forEach(i -> {
voList.add(AdamEntersVo.getNew().copy(i)); voList.add(AdamEntersVo.getNew().copy(i));
}); });
...@@ -78,7 +81,7 @@ public class AdamEntersController { ...@@ -78,7 +81,7 @@ public class AdamEntersController {
@PostMapping("def/{entersId}") @PostMapping("def/{entersId}")
public ResponseDto<Object> def(@PathVariable String entersId) { public ResponseDto<Object> def(@PathVariable String entersId) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamEnters enters = adamEntersService.query(currentUid, entersId); AdamEnters enters = adamRdmService.getEntersByUidEntersId(currentUid, entersId);
if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105")); if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105"));
if (!enters.getIsDefault()) { if (!enters.getIsDefault()) {
...@@ -94,7 +97,7 @@ public class AdamEntersController { ...@@ -94,7 +97,7 @@ public class AdamEntersController {
// TODO: 2021/4/28 校验 // TODO: 2021/4/28 校验
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamEnters enters = adamEntersService.query(currentUid, parameter.getEntersId()); AdamEnters enters = adamRdmService.getEntersByUidEntersId(currentUid, parameter.getEntersId());
if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105")); if (null == enters) return ResponseDto.failure(ErrorMapping.get("10105"));
AdamEnters updateInfo = new AdamEnters(); AdamEnters updateInfo = new AdamEnters();
...@@ -114,7 +117,7 @@ public class AdamEntersController { ...@@ -114,7 +117,7 @@ public class AdamEntersController {
public ResponseDto<Object> del(@PathVariable String entersId) { public ResponseDto<Object> del(@PathVariable String entersId) {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamEnters enters = adamEntersService.query(currentUid, entersId); AdamEnters enters = adamRdmService.getEntersByUidEntersId(currentUid, entersId);
if (null == enters) return ResponseDto.failure(ErrorMapping.get(10105)); if (null == enters) return ResponseDto.failure(ErrorMapping.get(10105));
adamEntersService.remove(currentUid, entersId); adamEntersService.remove(currentUid, entersId);
...@@ -128,7 +131,7 @@ public class AdamEntersController { ...@@ -128,7 +131,7 @@ public class AdamEntersController {
@RequestParam(name = "uid", required = false) String uid) { @RequestParam(name = "uid", required = false) String uid) {
// TODO: 2021/4/28 校验 // TODO: 2021/4/28 校验
AdamEnters info = adamEntersService.query(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, entersId); AdamEnters info = adamRdmService.getEntersByUidEntersId(StringUtils.isBlank(uid) ? CurrentUtil.getCurrentUid() : uid, entersId);
return null == info ? ResponseDto.failure(ErrorMapping.get(10105)) : ResponseDto.success(AdamEntersVo.getNew().copy(info)); return null == info ? ResponseDto.failure(ErrorMapping.get(10105)) : ResponseDto.success(AdamEntersVo.getNew().copy(info));
} }
......
...@@ -60,6 +60,8 @@ public class AdamLoginController { ...@@ -60,6 +60,8 @@ public class AdamLoginController {
IAdamUserMemberService adamUserMemberService; IAdamUserMemberService adamUserMemberService;
@Autowired @Autowired
IAdamMemberService adamMemberService; IAdamMemberService adamMemberService;
@Autowired
IAdamRdmService adamRdmService;
/*@ApiOperationSupport(order = 1) /*@ApiOperationSupport(order = 1)
@ApiOperation(value = "手机号密码登录") @ApiOperation(value = "手机号密码登录")
...@@ -117,15 +119,15 @@ public class AdamLoginController { ...@@ -117,15 +119,15 @@ public class AdamLoginController {
if (!this.checkSmsCode(mobile, code)) return ResponseDto.failure(ErrorMapping.get("10002")); if (!this.checkSmsCode(mobile, code)) return ResponseDto.failure(ErrorMapping.get("10002"));
String uid = adamUserService.queryUidByRedis(mobile); String uid = adamRdmService.getUidByMobile(mobile);
AdamUserInfoVo userInfoVo = AdamUserInfoVo userInfoVo =
StringUtils.isEmpty(uid) ? adamUserService.register(mobile) : adamUserService.queryByUid(uid); StringUtils.isEmpty(uid) ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid);
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew(); AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
// if (userInfoVo.getIsComplete() == 1) { // if (userInfoVo.getIsComplete() == 1) {
loginInfoVo.setRealNameInfo(adamRealNameService.queryByUid(userInfoVo.getUid())); loginInfoVo.setRealNameInfo(adamRdmService.getRealInfoVoByUid(userInfoVo.getUid()));
loginInfoVo.setThirdPartInfo(adamThirdPartyService.queryByUid(userInfoVo.getUid())); loginInfoVo.setThirdPartInfo(adamRdmService.getThirdPartVoListByUid(userInfoVo.getUid()));
loginInfoVo.setUserMemberVo(adamUserMemberService.getUserMemberInfo(userInfoVo.getUid())); loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
loginInfoVo.setMemberSimpleVo(adamMemberService.queryMemberSimpleVo()); loginInfoVo.setMemberSimpleVo(adamRdmService.getMemberSimpleVo());
// } // }
loginInfoVo.setUserInfo(userInfoVo); loginInfoVo.setUserInfo(userInfoVo);
...@@ -151,15 +153,15 @@ public class AdamLoginController { ...@@ -151,15 +153,15 @@ public class AdamLoginController {
String mobile = this.getMobile(accessToken); String mobile = this.getMobile(accessToken);
if (StringUtils.isEmpty(mobile)) return ResponseDto.failure(ErrorMapping.get("10005")); if (StringUtils.isEmpty(mobile)) return ResponseDto.failure(ErrorMapping.get("10005"));
String uid = adamUserService.queryUidByRedis(mobile); String uid = adamRdmService.getUidByMobile(mobile);
AdamUserInfoVo userInfoVo = AdamUserInfoVo userInfoVo =
StringUtils.isEmpty(uid) ? adamUserService.register(mobile) : adamUserService.queryByUid(uid); StringUtils.isEmpty(uid) ? adamUserService.register(mobile) : adamRdmService.getUserInfoVoByUid(uid);
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew(); AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
// if (loginInfoVo.getUserInfo().getIsComplete() == 1) { // if (loginInfoVo.getUserInfo().getIsComplete() == 1) {
loginInfoVo.setRealNameInfo(adamRealNameService.queryByUid(userInfoVo.getUid())); loginInfoVo.setRealNameInfo(adamRdmService.getRealInfoVoByUid(userInfoVo.getUid()));
loginInfoVo.setThirdPartInfo(adamThirdPartyService.queryByUid(userInfoVo.getUid())); loginInfoVo.setThirdPartInfo(adamRdmService.getThirdPartVoListByUid(userInfoVo.getUid()));
loginInfoVo.setUserMemberVo(adamUserMemberService.getUserMemberInfo(userInfoVo.getUid())); loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(userInfoVo.getUid()));
loginInfoVo.setMemberSimpleVo(adamMemberService.queryMemberSimpleVo()); loginInfoVo.setMemberSimpleVo(adamRdmService.getMemberSimpleVo());
// } // }
loginInfoVo.setUserInfo(userInfoVo); loginInfoVo.setUserInfo(userInfoVo);
...@@ -180,20 +182,21 @@ public class AdamLoginController { ...@@ -180,20 +182,21 @@ public class AdamLoginController {
AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew(); AdamLoginInfoVo loginInfoVo = AdamLoginInfoVo.getNew();
if (StringUtils.isEmpty(parameter.getMobile())) { if (StringUtils.isEmpty(parameter.getMobile())) {
String uid = adamUserService.queryUidByRedis(parameter.getOpenId(), parameter.getPlatform()); String uid = adamRdmService.getUidByPlatformOpenId(parameter.getPlatform(), parameter.getOpenId());
if (StringUtils.isEmpty(uid)) return ResponseDto.failure(ErrorMapping.get("10006")); if (StringUtils.isEmpty(uid)) return ResponseDto.failure(ErrorMapping.get("10006"));
loginInfoVo.setUserInfo(adamUserService.queryByUid(uid)); loginInfoVo.setUserInfo(adamRdmService.getUserInfoVoByUid(uid));
loginInfoVo.setRealNameInfo(adamRealNameService.queryByUid(uid)); loginInfoVo.setRealNameInfo(adamRdmService.getRealInfoVoByUid(uid));
loginInfoVo.setThirdPartInfo(adamThirdPartyService.queryByUid(uid)); loginInfoVo.setThirdPartInfo(adamRdmService.getThirdPartVoListByUid(uid));
loginInfoVo.setUserMemberVo(adamUserMemberService.getUserMemberInfo(uid)); loginInfoVo.setUserMemberVo(adamRdmService.getUserMemberVoByUid(uid));
loginInfoVo.setMemberSimpleVo(adamMemberService.queryMemberSimpleVo()); loginInfoVo.setMemberSimpleVo(adamRdmService.getMemberSimpleVo());
} else {// 新账号注册 } else {// 新账号注册
if (!this.checkSmsCode(parameter.getMobile(), parameter.getCode())) return ResponseDto.failure(ErrorMapping.get("10002")); if (!this.checkSmsCode(parameter.getMobile(), parameter.getCode())) return ResponseDto.failure(ErrorMapping.get("10002"));
loginInfoVo.setUserInfo(adamUserService.register(parameter)); AdamUserInfoVo registerUserInfo = adamUserService.register(parameter);
loginInfoVo.setThirdPartInfo(adamThirdPartyService.queryByUid(loginInfoVo.getUserInfo().getUid())); loginInfoVo.setUserInfo(registerUserInfo);
loginInfoVo.setMemberSimpleVo(adamMemberService.queryMemberSimpleVo()); loginInfoVo.setThirdPartInfo(adamRdmService.getThirdPartVoListByUid(registerUserInfo.getUid()));
loginInfoVo.setMemberSimpleVo(adamRdmService.getMemberSimpleVo());
} }
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = new HashMap<>();
...@@ -211,11 +214,11 @@ public class AdamLoginController { ...@@ -211,11 +214,11 @@ public class AdamLoginController {
String uToken = request.getHeader(CurrentUtil.uToken); String uToken = request.getHeader(CurrentUtil.uToken);
log.info("###logout:uid:{}\ntoken:{}\nuToken:{}", CurrentUtil.getCurrentUid(), CurrentUtil.getToken(), uToken); log.info("###logout:uid:{}\ntoken:{}\nuToken:{}", CurrentUtil.getCurrentUid(), CurrentUtil.getToken(), uToken);
String ssoKey = jwtValidator.getSsoRedisKey().concat( String ssoKeyUidM5Token = jwtValidator.getSsoRedisKey().concat(CurrentUtil.getCurrentUid()).concat(
DigestUtils.md5DigestAsHex(uToken.getBytes(StandardCharsets.UTF_8)) DigestUtils.md5DigestAsHex(uToken.getBytes(StandardCharsets.UTF_8))
); );
redisUtil.set(ssoKey, false); redisUtil.set(ssoKeyUidM5Token, false);
return ResponseDto.success(); return ResponseDto.success();
} }
...@@ -232,8 +235,8 @@ public class AdamLoginController { ...@@ -232,8 +235,8 @@ public class AdamLoginController {
/* ---------------------------- Internal Method ---------------------------- */ /* ---------------------------- Internal Method ---------------------------- */
private boolean checkSmsCode(String mobile, String code) { private boolean checkSmsCode(String mobile, String code) {
if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active")) && "111111".equals(code)) { if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) {
return true; return "111111".equals(code);
} }
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
......
...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.dto.vo.AdamMemberRightsVo; ...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.dto.vo.AdamMemberRightsVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo; import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.service.IAdamMemberService; import com.liquidnet.service.adam.service.IAdamMemberService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService; import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -30,7 +31,8 @@ import java.util.Date; ...@@ -30,7 +31,8 @@ import java.util.Date;
@RestController @RestController
@RequestMapping("/member") @RequestMapping("/member")
public class AdamMemberController { public class AdamMemberController {
@Autowired
IAdamRdmService adamRdmService;
@Autowired @Autowired
IAdamMemberService adamMemberService; IAdamMemberService adamMemberService;
@Autowired @Autowired
...@@ -43,8 +45,12 @@ public class AdamMemberController { ...@@ -43,8 +45,12 @@ public class AdamMemberController {
public ResponseDto<AdamMemberVo> query() { public ResponseDto<AdamMemberVo> query() {
AdamMemberVo info = adamMemberService.queryMemberInfo(); AdamMemberVo info = adamMemberService.queryMemberInfo();
if (null != info) { if (null != info) {
info.setMemberInfo(adamUserMemberService.getUserMemberInfo(CurrentUtil.getCurrentUid()));
info.setRightsVoList(AdamMemberRightsVo.getNew().initDefault()); info.setRightsVoList(AdamMemberRightsVo.getNew().initDefault());
String currentUid = CurrentUtil.getCurrentUid();
if (!"1".equals(currentUid)) {
info.setMemberInfo(adamRdmService.getUserMemberVoByUid(currentUid));
}
} }
return ResponseDto.success(info); return ResponseDto.success(info);
} }
...@@ -65,7 +71,7 @@ public class AdamMemberController { ...@@ -65,7 +71,7 @@ public class AdamMemberController {
public ResponseDto<Boolean> isMember(@PathVariable String uid) { public ResponseDto<Boolean> isMember(@PathVariable String uid) {
if (StringUtils.isBlank(uid)) return ResponseDto.success(false); if (StringUtils.isBlank(uid)) return ResponseDto.success(false);
AdamUserMemberVo userMemberInfo = adamUserMemberService.getUserMemberInfo(uid); AdamUserMemberVo userMemberInfo = adamRdmService.getUserMemberVoByUid(uid);
if (null != userMemberInfo) { if (null != userMemberInfo) {
Integer state = userMemberInfo.getState(); Integer state = userMemberInfo.getState();
if (null != state && state == 1) { if (null != state && state == 1) {
......
...@@ -14,6 +14,7 @@ import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo; ...@@ -14,6 +14,7 @@ import com.liquidnet.service.adam.dto.vo.AdamRealInfoVo;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo; import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamMemberOrder; import com.liquidnet.service.adam.entity.AdamMemberOrder;
import com.liquidnet.service.adam.service.IAdamMemberOrderService; import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamRealNameService; import com.liquidnet.service.adam.service.IAdamRealNameService;
import com.liquidnet.service.adam.service.IAdamUserService; import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService;
...@@ -34,7 +35,6 @@ import java.util.List; ...@@ -34,7 +35,6 @@ import java.util.List;
@RestController @RestController
@RequestMapping("member/order") @RequestMapping("member/order")
public class AdamMemberOrderController { public class AdamMemberOrderController {
@Autowired @Autowired
IAdamMemberOrderService adamMemberOrderService; IAdamMemberOrderService adamMemberOrderService;
@Autowired @Autowired
...@@ -43,6 +43,8 @@ public class AdamMemberOrderController { ...@@ -43,6 +43,8 @@ public class AdamMemberOrderController {
IAdamRealNameService adamRealNameService; IAdamRealNameService adamRealNameService;
@Autowired @Autowired
IAdamUserService adamUserService; IAdamUserService adamUserService;
@Autowired
IAdamRdmService adamRdmService;
@ApiOperationSupport(order = 0) @ApiOperationSupport(order = 0)
@ApiOperation(value = "购买会员预览") @ApiOperation(value = "购买会员预览")
...@@ -55,7 +57,7 @@ public class AdamMemberOrderController { ...@@ -55,7 +57,7 @@ public class AdamMemberOrderController {
previewVo.setRealInfoVo(realInfoVo); previewVo.setRealInfoVo(realInfoVo);
previewVo.setPriceVo(adamMemberPriceService.query(mno, id)); previewVo.setPriceVo(adamMemberPriceService.query(mno, id));
AdamUserInfoVo userInfoVo = adamUserService.queryByUid(CurrentUtil.getCurrentUid()); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(CurrentUtil.getCurrentUid());
previewVo.setBirthday(null == userInfoVo ? null : userInfoVo.getBirthday()); previewVo.setBirthday(null == userInfoVo ? null : userInfoVo.getBirthday());
return ResponseDto.success(previewVo); return ResponseDto.success(previewVo);
} }
......
...@@ -9,10 +9,7 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -9,10 +9,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.AdamThirdPartParam; import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.AdamUserInfoParam; import com.liquidnet.service.adam.dto.AdamUserInfoParam;
import com.liquidnet.service.adam.dto.vo.*; import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.service.IAdamRealNameService; import com.liquidnet.service.adam.service.*;
import com.liquidnet.service.adam.service.IAdamThirdPartyService;
import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.adam.service.IAdamUserService;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -44,6 +41,8 @@ public class AdamUserController { ...@@ -44,6 +41,8 @@ public class AdamUserController {
IAdamThirdPartyService adamThirdPartyService; IAdamThirdPartyService adamThirdPartyService;
@Autowired @Autowired
IAdamRealNameService adamRealNameService; IAdamRealNameService adamRealNameService;
@Autowired
IAdamRdmService adamRdmService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "个人资料编辑") @ApiOperation(value = "个人资料编辑")
...@@ -53,7 +52,7 @@ public class AdamUserController { ...@@ -53,7 +52,7 @@ public class AdamUserController {
log.info("parameter:{}", JsonUtils.toJson(parameter)); log.info("parameter:{}", JsonUtils.toJson(parameter));
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
AdamUserInfoVo editUserInfoVo = adamUserService.queryByUid(currentUid); AdamUserInfoVo editUserInfoVo = adamRdmService.getUserInfoVoByUid(currentUid);
editUserInfoVo.setAvatar(parameter.getAvatar()); editUserInfoVo.setAvatar(parameter.getAvatar());
editUserInfoVo.setBackground(parameter.getBackground()); editUserInfoVo.setBackground(parameter.getBackground());
editUserInfoVo.setNickname(parameter.getNickname()); editUserInfoVo.setNickname(parameter.getNickname());
...@@ -170,24 +169,26 @@ public class AdamUserController { ...@@ -170,24 +169,26 @@ public class AdamUserController {
log.info("login by tpa:{}", JsonUtils.toJson(parameter)); log.info("login by tpa:{}", JsonUtils.toJson(parameter));
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
String existUid = adamUserService.queryUidByRedis(parameter.getOpenId(), parameter.getPlatform()); String existUid = adamRdmService.getUidByPlatformOpenId(parameter.getPlatform(), parameter.getOpenId());
if (StringUtils.isNotEmpty(existUid)) { if (StringUtils.isNotEmpty(existUid)) {
if (existUid.equals(currentUid)) { if (existUid.equals(currentUid)) {
return ResponseDto.success(adamThirdPartyService.queryByUid(currentUid)); return ResponseDto.success(adamRdmService.getThirdPartVoListByUid(currentUid));
} }
Boolean force = parameter.getForce(); Boolean force = parameter.getForce();
if (null != force && force) {// 强制解绑,并重新绑定当前账号 if (null != force && force) {// 强制解绑,并重新绑定当前账号
return ResponseDto.success(adamUserService.bindTpaForce(currentUid, existUid, parameter)); adamUserService.bindTpaForce(currentUid, existUid, parameter);
return ResponseDto.success();
} }
return ResponseDto.failure(ErrorMapping.get("10007")); return ResponseDto.failure(ErrorMapping.get("10007"));
} }
// 判断该用户是否已绑定同类型第三方账号 // 判断该用户是否已绑定同类型第三方账号
AdamThirdPartInfoVo bindThirdPartVo = adamThirdPartyService.queryByUidAndPlatform(currentUid, parameter.getPlatform()); AdamThirdPartInfoVo bindThirdPartVo = adamRdmService.getThirdPartVoByUidPlatform(currentUid, parameter.getPlatform());
if (null != bindThirdPartVo) return ResponseDto.failure(ErrorMapping.get("10008")); if (null != bindThirdPartVo) return ResponseDto.failure(ErrorMapping.get("10008"));
adamUserService.bindTpa(currentUid, parameter); adamUserService.bindTpa(currentUid, parameter);
return ResponseDto.success(adamThirdPartyService.queryByUid(currentUid));
return ResponseDto.success(adamRdmService.getThirdPartVoListByUid(currentUid));
} }
@ApiOperationSupport(order = 8) @ApiOperationSupport(order = 8)
...@@ -201,14 +202,16 @@ public class AdamUserController { ...@@ -201,14 +202,16 @@ public class AdamUserController {
String currentUid = CurrentUtil.getCurrentUid(); String currentUid = CurrentUtil.getCurrentUid();
log.info("unbind tpa.platform:{},uid:{}", platform, currentUid); log.info("unbind tpa.platform:{},uid:{}", platform, currentUid);
return ResponseDto.success(adamUserService.unBindTpa(currentUid, platform)); adamUserService.unBindTpa(currentUid, platform);
return ResponseDto.success(adamRdmService.getThirdPartVoListByUid(currentUid));
} }
/* ---------------------------- Internal Method ---------------------------- */ /* ---------------------------- Internal Method ---------------------------- */
private boolean checkSmsCode(String mobile, String code) { private boolean checkSmsCode(String mobile, String code) {
if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active")) && "111111".equals(code)) { if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) {
return true; return "111111".equals(code);
} }
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>(); LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
......
...@@ -42,7 +42,7 @@ public class AdamMemberAdminController { ...@@ -42,7 +42,7 @@ public class AdamMemberAdminController {
return ResponseDto.success(); return ResponseDto.success();
} }
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 2)
@ApiOperation(value = "生成兑换码") @ApiOperation(value = "生成兑换码")
@PostMapping("gen_code") @PostMapping("gen_code")
public ResponseDto<Object> genMemberCode(@RequestBody AdamMemberCodeParam parameter) { public ResponseDto<Object> genMemberCode(@RequestBody AdamMemberCodeParam parameter) {
......
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BsonUtil; import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo; import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.entity.AdamAddresses; import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.mapper.AdamAddressesMapper; import com.liquidnet.service.adam.mapper.AdamAddressesMapper;
import com.liquidnet.service.adam.service.IAdamAddressesService; import com.liquidnet.service.adam.service.IAdamAddressesService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
...@@ -46,61 +45,64 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A ...@@ -46,61 +45,64 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Autowired @Autowired
RedisUtil redisUtil; IAdamRdmService adamRdmService;
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamAddresses adamAddresses) { public void add(AdamAddresses adamAddresses) {
adamAddresses.setIsDefault(CollectionUtils.isEmpty(this.queryByUid(adamAddresses.getUid()))); List<AdamAddresses> addressesList = adamRdmService.getAddressesByUid(adamAddresses.getUid());
mongoTemplate.insert(Collections.singletonList(adamAddresses), AdamAddresses.class.getSimpleName()); adamAddresses.setIsDefault(CollectionUtils.isEmpty(addressesList));
mongoTemplate.insert(adamAddresses, AdamAddresses.class.getSimpleName());
// TODO: 2021/5/14 // TODO: 2021/5/14
List<Object> objectList = Arrays.asList(); List<Object> objectList = Arrays.asList();
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.add", objectList.toArray())); // SqlMapping.get("adam_addresses.add", objectList.toArray()));
redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(adamAddresses.getUid()), adamAddresses.getAddressesId(), adamAddresses); addressesList.add(adamAddresses);
} adamRdmService.setAddressesByUid(adamAddresses.getUid(), addressesList);
@Override
public List<AdamAddresses> queryByUid(String uid) {
List<AdamAddresses> infoList = new ArrayList<>();
Map<Object, Object> objectMap = redisUtil.hmget(AdamRedisConst.INFO_ADDRESSES.concat(uid));
if (CollectionUtils.isEmpty(objectMap)) {
infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamAddresses.class, AdamAddresses.class.getSimpleName());
} else {
Collection<Object> values = objectMap.values();
for (Object o : values) {
infoList.add((AdamAddresses) o);
}
}
return infoList;
} }
@Override // @Override
public AdamAddresses query(String uid, String addressesId) { // public List<AdamAddresses> queryByUid(String uid) {
AdamAddresses info = (AdamAddresses) redisUtil.hget(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId); // List<AdamAddresses> infoList = new ArrayList<>();
//
if (null == info) { // Map<Object, Object> objectMap = redisUtil.hmget(AdamRedisConst.INFO_ADDRESSES.concat(uid));
info = mongoTemplate.findOne( //
Query.query(Criteria.where("entersId").is(addressesId).and("state").is(1).and("uid").is(uid) // if (CollectionUtils.isEmpty(objectMap)) {
), AdamAddresses.class, AdamAddresses.class.getSimpleName()); // infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamAddresses.class, AdamAddresses.class.getSimpleName());
// } else {
if (null != info) redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId, info); // Collection<Object> values = objectMap.values();
} // for (Object o : values) {
// infoList.add((AdamAddresses) o);
return info; // }
} // }
//
// return infoList;
// }
// @Override
// public AdamAddresses query(String uid, String addressesId) {
// AdamAddresses info = (AdamAddresses) redisUtil.hget(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId);
//
// if (null == info) {
// info = mongoTemplate.findOne(
// Query.query(Criteria.where("entersId").is(addressesId).and("state").is(1).and("uid").is(uid)
// ), AdamAddresses.class, AdamAddresses.class.getSimpleName());
//
// if (null != info) redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId, info);
// }
//
// return info;
// }
@Override @Override
public void def(String uid, String addressesId) { public void def(String uid, String addressesId) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
LinkedList<Object[]> linkedList = new LinkedList<>(); LinkedList<Object[]> linkedList = new LinkedList<>();
List<AdamAddresses> addressesList = this.queryByUid(uid); List<AdamAddresses> addressesList = adamRdmService.getAddressesByUid(uid);
if (addressesList.size() > 1) {// 取消原默认 if (addressesList.size() > 1) {// 取消原默认
AdamAddresses unDeaultAddresses = new AdamAddresses(); AdamAddresses unDeaultAddresses = new AdamAddresses();
unDeaultAddresses.setIsDefault(false); unDeaultAddresses.setIsDefault(false);
...@@ -119,7 +121,8 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A ...@@ -119,7 +121,8 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
paramList.add(unDefaultAfterAddresses.getAddressesId()); paramList.add(unDefaultAfterAddresses.getAddressesId());
linkedList.add(paramList.toArray()); linkedList.add(paramList.toArray());
redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(unDefaultAfterAddresses.getUid()), unDefaultAfterAddresses.getAddressesId(), unDefaultAfterAddresses); addressesList.removeIf(r -> r.getAddressesId().equals(unDefaultAfterAddresses.getAddressesId()));
addressesList.add(unDefaultAfterAddresses);
} }
} }
{// 设置新默认 {// 设置新默认
...@@ -141,8 +144,11 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A ...@@ -141,8 +144,11 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray())); // SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
linkedList.add(paramList.toArray()); linkedList.add(paramList.toArray());
redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(addresses.getUid()), addresses.getAddressesId(), addresses); addressesList.removeIf(r -> r.getAddressesId().equals(addresses.getAddressesId()));
addressesList.add(addresses);
} }
adamRdmService.setAddressesByUid(uid, addressesList);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.update.is_default", linkedList)); // SqlMapping.get("adam_addresses.update.is_default", linkedList));
...@@ -162,7 +168,10 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A ...@@ -162,7 +168,10 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.edit", paramList.toArray())); // SqlMapping.get("adam_addresses.edit", paramList.toArray()));
redisUtil.hset(AdamRedisConst.INFO_ADDRESSES.concat(info.getUid()), info.getAddressesId(), BsonUtil.toBean(doc, AdamAddresses.class)); List<AdamAddresses> list = adamRdmService.getAddressesByUid(info.getUid());
list.removeIf(r -> r.getAddressesId().equals(info.getAddressesId()));
list.add(info);
adamRdmService.setAddressesByUid(info.getUid(), list);
} }
@Override @Override
...@@ -181,12 +190,14 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A ...@@ -181,12 +190,14 @@ public class AdamAddressesServiceImpl extends ServiceImpl<AdamAddressesMapper, A
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_addresses.remove", paramList.toArray())); // SqlMapping.get("adam_addresses.remove", paramList.toArray()));
redisUtil.hdel(AdamRedisConst.INFO_ADDRESSES.concat(uid), addressesId); List<AdamAddresses> list = adamRdmService.getAddressesByUid(uid);
list.removeIf(r -> r.getAddressesId().equals(addressesId));
adamRdmService.setAddressesByUid(uid, list);
} }
@Override @Override
public AdamAddressesVo queryDefault(String uid) { public AdamAddressesVo queryDefault(String uid) {
List<AdamAddresses> addressesList = this.queryByUid(uid); List<AdamAddresses> addressesList = adamRdmService.getAddressesByUid(uid);
if (!CollectionUtils.isEmpty(addressesList)) { if (!CollectionUtils.isEmpty(addressesList)) {
AdamAddresses defaultAddr = null; AdamAddresses defaultAddr = null;
......
...@@ -2,7 +2,6 @@ package com.liquidnet.service.adam.service.impl; ...@@ -2,7 +2,6 @@ package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo; import com.liquidnet.service.adam.dto.vo.AdamCollectBaseVo;
import com.liquidnet.service.adam.dto.vo.AdamCollectInfoVo; import com.liquidnet.service.adam.dto.vo.AdamCollectInfoVo;
...@@ -11,7 +10,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo; ...@@ -11,7 +10,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamCollection; import com.liquidnet.service.adam.entity.AdamCollection;
import com.liquidnet.service.adam.mapper.AdamCollectionMapper; import com.liquidnet.service.adam.mapper.AdamCollectionMapper;
import com.liquidnet.service.adam.service.IAdamCollectionService; import com.liquidnet.service.adam.service.IAdamCollectionService;
import com.liquidnet.service.adam.service.IAdamUserService; import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient; import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo;
...@@ -51,14 +50,11 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -51,14 +50,11 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Autowired @Autowired
RedisUtil redisUtil; IAdamRdmService adamRdmService;
@Autowired
IAdamUserService adamUserService;
/* ---------------- 外部服务API ---------------- */ /* ---------------- 外部服务API ---------------- */
@Autowired @Autowired
FeignKylinPerformanceClient kylinPerformanceClient; FeignKylinPerformanceClient feignKylinPerformanceClient;
@Override @Override
public void add(AdamCollectBaseVo collectionVo) { public void add(AdamCollectBaseVo collectionVo) {
...@@ -68,7 +64,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -68,7 +64,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
collectionVo.setState(1); collectionVo.setState(1);
collectionVo.setCreatedAt(nowStr); collectionVo.setCreatedAt(nowStr);
AdamUserInfoVo userInfoVo = adamUserService.queryByUid(collectionVo.getUid()); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(collectionVo.getUid());
collectionVo.setAvatar(userInfoVo.getAvatar()); collectionVo.setAvatar(userInfoVo.getAvatar());
collectionVo.setNickname(userInfoVo.getNickname()); collectionVo.setNickname(userInfoVo.getNickname());
collectionVo.setSex(userInfoVo.getSex()); collectionVo.setSex(userInfoVo.getSex());
...@@ -121,7 +117,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -121,7 +117,7 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
try { try {
String[] contentIds = collectVoList.stream().map(AdamCollectVo::getContentId).toArray(a -> new String[collectVoList.size()]); String[] contentIds = collectVoList.stream().map(AdamCollectVo::getContentId).toArray(a -> new String[collectVoList.size()]);
ResponseDto<List<KylinPerformanceVo>> performanceVoListDto = kylinPerformanceClient.performanceList(contentIds); ResponseDto<List<KylinPerformanceVo>> performanceVoListDto = feignKylinPerformanceClient.performanceList(contentIds);
if (performanceVoListDto.isSuccess()) { if (performanceVoListDto.isSuccess()) {
List<KylinPerformanceVo> kylinPerformanceVoList = performanceVoListDto.getData(); List<KylinPerformanceVo> kylinPerformanceVoList = performanceVoListDto.getData();
...@@ -136,10 +132,10 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper, ...@@ -136,10 +132,10 @@ public class AdamCollectionServiceImpl extends ServiceImpl<AdamCollectionMapper,
}); });
}); });
} else { } else {
log.info("Failed:{}.API.performanceList(...) for AdamCollection:{}", kylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson()); log.info("Failed:{}.API.performanceList(...) for AdamCollection:{}", feignKylinPerformanceClient.getClass().getSimpleName(), performanceVoListDto.toJson());
} }
} catch (Exception e) { } catch (Exception e) {
log.error("Exception:{}.API.performanceList(...) for AdamCollection", kylinPerformanceClient.getClass().getSimpleName(), e); log.error("Exception:{}.API.performanceList(...) for AdamCollection", feignKylinPerformanceClient.getClass().getSimpleName(), e);
} }
voPageInfo = PageInfo.of(collectVoList); voPageInfo = PageInfo.of(collectVoList);
voPageInfo.setTotal(count); voPageInfo.setTotal(count);
......
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.*; import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamDisposed;
import com.liquidnet.service.adam.mapper.AdamDisposedMapper;
import com.liquidnet.service.adam.service.IAdamDisposedService; import com.liquidnet.service.adam.service.IAdamDisposedService;
import com.liquidnet.service.adam.service.IAdamUserService; import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient; import com.liquidnet.service.feign.kylin.api.FeignKylinPerformanceClient;
import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo;
...@@ -39,7 +35,7 @@ import java.util.List; ...@@ -39,7 +35,7 @@ import java.util.List;
*/ */
@Slf4j @Slf4j
@Service @Service
public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, AdamDisposed> implements IAdamDisposedService { public class AdamDisposedServiceImpl implements IAdamDisposedService {
@Autowired @Autowired
MongoConverter mongoConverter; MongoConverter mongoConverter;
@Autowired @Autowired
...@@ -47,9 +43,7 @@ public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, Ada ...@@ -47,9 +43,7 @@ public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, Ada
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Autowired @Autowired
RedisUtil redisUtil; IAdamRdmService adamRdmService;
@Autowired
IAdamUserService adamUserService;
/* ---------------- 外部服务API ---------------- */ /* ---------------- 外部服务API ---------------- */
...@@ -64,7 +58,7 @@ public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, Ada ...@@ -64,7 +58,7 @@ public class AdamDisposedServiceImpl extends ServiceImpl<AdamDisposedMapper, Ada
disposedBaseVo.setState(1); disposedBaseVo.setState(1);
disposedBaseVo.setCreatedAt(nowStr); disposedBaseVo.setCreatedAt(nowStr);
AdamUserInfoVo userInfoVo = adamUserService.queryByUid(disposedBaseVo.getUid()); AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(disposedBaseVo.getUid());
disposedBaseVo.setAvatar(userInfoVo.getAvatar()); disposedBaseVo.setAvatar(userInfoVo.getAvatar());
disposedBaseVo.setNickname(userInfoVo.getNickname()); disposedBaseVo.setNickname(userInfoVo.getNickname());
disposedBaseVo.setSex(userInfoVo.getSex()); disposedBaseVo.setSex(userInfoVo.getSex());
......
package com.liquidnet.service.adam.service.impl; package com.liquidnet.service.adam.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BsonUtil; import com.liquidnet.commons.lang.util.BsonUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.entity.AdamEnters; import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.mapper.AdamEntersMapper; import com.liquidnet.service.adam.mapper.AdamEntersMapper;
import com.liquidnet.service.adam.service.IAdamEntersService; import com.liquidnet.service.adam.service.IAdamEntersService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
...@@ -26,7 +25,10 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -26,7 +25,10 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/** /**
* <p> * <p>
...@@ -48,32 +50,34 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -48,32 +50,34 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Autowired @Autowired
RedisUtil redisUtil; IAdamRdmService adamRdmService;
@Override // @Override
public List<AdamEnters> queryByUid(String uid) { // public List<AdamEnters> queryByUid(String uid) {
List<AdamEnters> infoList = new ArrayList<>(); // List<AdamEnters> infoList = new ArrayList<>();
//
Map<Object, Object> objectMap = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid)); // Map<Object, Object> objectMap = redisUtil.hmget(AdamRedisConst.INFO_ENTERS.concat(uid));
//
if (CollectionUtils.isEmpty(objectMap)) { // if (CollectionUtils.isEmpty(objectMap)) {
infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEnters.class, AdamEnters.class.getSimpleName()); // infoList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEnters.class, AdamEnters.class.getSimpleName());
} else { // } else {
Collection<Object> values = objectMap.values(); // Collection<Object> values = objectMap.values();
for (Object o : values) { // for (Object o : values) {
infoList.add((AdamEnters) o); // infoList.add((AdamEnters) o);
} // }
} // }
//
return infoList; // return infoList;
} // }
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamEnters info) { public void add(AdamEnters info) {
info.setIsDefault(CollectionUtils.isEmpty(this.queryByUid(info.getUid()))); List<AdamEnters> entersList = adamRdmService.getEntersByUid(info.getUid());
info.setIsDefault(CollectionUtils.isEmpty(entersList));
mongoTemplate.insert(Collections.singletonList(info), AdamEnters.class.getSimpleName()); mongoTemplate.insert(info, AdamEnters.class.getSimpleName());
List<Object> paramList = new ArrayList<>(); List<Object> paramList = new ArrayList<>();
paramList.add(info.getEntersId()); paramList.add(info.getEntersId());
...@@ -91,30 +95,31 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -91,30 +95,31 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.add", paramList.toArray())); // SqlMapping.get("adam_enters.add", paramList.toArray()));
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), info); entersList.add(info);
adamRdmService.setEntersByUid(info.getUid(), entersList);
} }
@Override // @Override
public AdamEnters query(String uid, String entersId) { // public AdamEnters query(String uid, String entersId) {
AdamEnters info = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(uid), entersId); // AdamEnters info = (AdamEnters) redisUtil.hget(AdamRedisConst.INFO_ENTERS.concat(uid), entersId);
//
if (null == info) { // if (null == info) {
info = mongoTemplate.findOne( // info = mongoTemplate.findOne(
Query.query(Criteria.where("entersId").is(entersId).and("state").is(1).and("uid").is(uid)), // Query.query(Criteria.where("entersId").is(entersId).and("state").is(1).and("uid").is(uid)),
AdamEnters.class, AdamEnters.class.getSimpleName()); // AdamEnters.class, AdamEnters.class.getSimpleName());
//
if (null != info) redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(uid), entersId, info); // if (null != info) redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(uid), entersId, info);
} // }
return info; // return info;
} // }
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void def(String uid, String entersId) { public void def(String uid, String entersId) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
LinkedList<Object[]> linkedList = new LinkedList<>(); LinkedList<Object[]> linkedList = new LinkedList<>();
List<AdamEnters> adamEnters = this.queryByUid(uid); List<AdamEnters> entersList = adamRdmService.getEntersByUid(uid);
if (adamEnters.size() > 1) {// 取消原默认 if (entersList.size() > 1) {// 取消原默认
AdamEnters unDeaultEnters = new AdamEnters(); AdamEnters unDeaultEnters = new AdamEnters();
unDeaultEnters.setIsDefault(false); unDeaultEnters.setIsDefault(false);
unDeaultEnters.setUpdatedAt(now); unDeaultEnters.setUpdatedAt(now);
...@@ -134,7 +139,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -134,7 +139,9 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray())); // SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
linkedList.add(paramList.toArray()); linkedList.add(paramList.toArray());
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(enters.getUid()), enters.getEntersId(), enters); entersList.removeIf(r -> r.getEntersId().equals(enters.getEntersId()));
entersList.add(enters);
} }
} }
{// 设置新默认 {// 设置新默认
...@@ -156,8 +163,12 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -156,8 +163,12 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
// SqlMapping.get("adam_enters.update.is_default", paramList.toArray())); // SqlMapping.get("adam_enters.update.is_default", paramList.toArray()));
linkedList.add(paramList.toArray()); linkedList.add(paramList.toArray());
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(enters.getUid()), enters.getEntersId(), enters); entersList.removeIf(r -> r.getEntersId().equals(enters.getEntersId()));
entersList.add(enters);
} }
adamRdmService.setEntersByUid(uid, entersList);
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.update.is_default", linkedList)); // SqlMapping.get("adam_enters.update.is_default", linkedList));
} }
...@@ -183,7 +194,10 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -183,7 +194,10 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.edit", paramList.toArray())); // SqlMapping.get("adam_enters.edit", paramList.toArray()));
redisUtil.hset(AdamRedisConst.INFO_ENTERS.concat(info.getUid()), info.getEntersId(), BsonUtil.toBean(doc, AdamEnters.class)); List<AdamEnters> entersList = adamRdmService.getEntersByUid(info.getUid());
entersList.removeIf(r -> r.getEntersId().equals(info.getEntersId()));
entersList.add(info);
adamRdmService.setEntersByUid(info.getUid(), entersList);
} }
@Override @Override
...@@ -205,12 +219,14 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt ...@@ -205,12 +219,14 @@ public class AdamEntersServiceImpl extends ServiceImpl<AdamEntersMapper, AdamEnt
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_enters.remove", paramList.toArray())); // SqlMapping.get("adam_enters.remove", paramList.toArray()));
redisUtil.hdel(AdamRedisConst.INFO_ENTERS.concat(uid), entersId); List<AdamEnters> entersList = adamRdmService.getEntersByUid(uid);
entersList.removeIf(r -> r.getEntersId().equals(entersId));
adamRdmService.setEntersByUid(uid, entersList);
} }
@Override @Override
public AdamEntersVo queryDefault(String uid) { public AdamEntersVo queryDefault(String uid) {
List<AdamEnters> list = this.queryByUid(uid); List<AdamEnters> list = adamRdmService.getEntersByUid(uid);
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
AdamEnters defaultVo = null; AdamEnters defaultVo = null;
......
...@@ -57,7 +57,7 @@ public class AdamMemberCodeServiceImpl extends ServiceImpl<AdamMemberCodeMapper, ...@@ -57,7 +57,7 @@ public class AdamMemberCodeServiceImpl extends ServiceImpl<AdamMemberCodeMapper,
vo.setCreatedAt(DateUtil.format(adamMemberCode.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss)); vo.setCreatedAt(DateUtil.format(adamMemberCode.getCreatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
vo.setUpdatedAt(DateUtil.format(adamMemberCode.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss)); vo.setUpdatedAt(DateUtil.format(adamMemberCode.getUpdatedAt(), DateUtil.Formatter.yyyyMMddHHmmss));
mongoTemplate.insert(Collections.singletonList(null), AdamMemberCodeVo.class.getSimpleName()); mongoTemplate.insert(vo, AdamMemberCodeVo.class.getSimpleName());
// redis // redis
Map<String, Object> redisMap = new HashMap<>(); Map<String, Object> redisMap = new HashMap<>();
......
...@@ -17,6 +17,7 @@ import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper; ...@@ -17,6 +17,7 @@ import com.liquidnet.service.adam.mapper.AdamMemberOrderMapper;
import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper; import com.liquidnet.service.adam.mapper.AdamMemberPriceMapper;
import com.liquidnet.service.adam.service.IAdamMemberOrderService; import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamMemberService; import com.liquidnet.service.adam.service.IAdamMemberService;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserMemberService; import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService; import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService;
import com.liquidnet.service.adam.util.MemberUtil; import com.liquidnet.service.adam.util.MemberUtil;
...@@ -38,7 +39,8 @@ import java.util.*; ...@@ -38,7 +39,8 @@ import java.util.*;
@Slf4j @Slf4j
@Service @Service
public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMapper, AdamMemberOrder> implements IAdamMemberOrderService { public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMapper, AdamMemberOrder> implements IAdamMemberOrderService {
@Autowired
IAdamRdmService adamRdmService;
@Autowired @Autowired
AdamMemberOrderMapper adamMemberOrderMapper; AdamMemberOrderMapper adamMemberOrderMapper;
@Autowired @Autowired
...@@ -352,7 +354,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe ...@@ -352,7 +354,7 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
int day = priceVo.getDays(); int day = priceVo.getDays();
try { try {
if (AdamMemberConst.SUB_TYPE_BUY_VIP.equals(orderVo.getMode())) { // 购买会员 if (AdamMemberConst.SUB_TYPE_BUY_VIP.equals(orderVo.getMode())) { // 购买会员
AdamUserMemberVo userMemberInfo = adamUserMemberService.getUserMemberInfo(orderVo.getUid()); AdamUserMemberVo userMemberInfo = adamRdmService.getUserMemberVoByUid(orderVo.getUid());
if (null == userMemberInfo) { // 创建会员 if (null == userMemberInfo) { // 创建会员
cardNumber = adamUserMemberService.getMaxMemberNo(orderVo.getMemberId()); cardNumber = adamUserMemberService.getMaxMemberNo(orderVo.getMemberId());
AdamUserMemberVo createMemberUser = AdamUserMemberVo.getNew(); AdamUserMemberVo createMemberUser = AdamUserMemberVo.getNew();
......
...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo; import com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberSimpleVo;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.entity.AdamMember; import com.liquidnet.service.adam.entity.AdamMember;
import com.liquidnet.service.adam.mapper.AdamMemberMapper; import com.liquidnet.service.adam.mapper.AdamMemberMapper;
...@@ -17,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -17,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
...@@ -75,18 +73,18 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem ...@@ -75,18 +73,18 @@ public class AdamMemberServiceImpl extends ServiceImpl<AdamMemberMapper, AdamMem
return info; return info;
} }
@Override // @Override
public AdamMemberSimpleVo queryMemberSimpleVo() { // public AdamMemberSimpleVo queryMemberSimpleVo() {
AdamMemberSimpleVo simpleVo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBERS); // AdamMemberSimpleVo simpleVo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBERS);
if (null == simpleVo) { // if (null == simpleVo) {
List<AdamMemberSimpleVo> simpleVoList = mongoTemplate.findAll(AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName()); // List<AdamMemberSimpleVo> simpleVoList = mongoTemplate.findAll(AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName());
//
simpleVo = CollectionUtils.isEmpty(simpleVoList) ? null : simpleVoList.get(0); // simpleVo = CollectionUtils.isEmpty(simpleVoList) ? null : simpleVoList.get(0);
//
if (null != simpleVo) { // if (null != simpleVo) {
redisUtil.set(AdamRedisConst.INFO_MEMBERS, simpleVo); // redisUtil.set(AdamRedisConst.INFO_MEMBERS, simpleVo);
} // }
} // }
return simpleVo; // return simpleVo;
} // }
} }
package com.liquidnet.service.adam.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamAddresses;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.service.IAdamRdmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
@Service
public class AdamRdmServiceImpl implements IAdamRdmService {
@Autowired
RedisUtil redisUtil;
@Autowired
MongoTemplate mongoTemplate;
@Override
public boolean setUidByMobile(String mobile, String uid) {
return redisUtil.set(AdamRedisConst.IDENTITY_MOBILE.concat(mobile), uid);
}
@Override
public void delUidByMobile(String mobile) {
redisUtil.del(AdamRedisConst.IDENTITY_MOBILE.concat(mobile));
}
@Override
public String getUidByMobile(String mobile) {
return (String) redisUtil.get(AdamRedisConst.IDENTITY_MOBILE.concat(mobile));
}
@Override
public boolean setUidByPlatformOpenId(String platform, String openId, String uid) {
return redisUtil.set(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId), uid);
}
@Override
public void delUidByPlatformOpenId(String platform, String openId) {
redisUtil.del(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId));
}
@Override
public String getUidByPlatformOpenId(String platform, String openId) {
return (String) redisUtil.get(AdamRedisConst.IDENTITY_THIRD_PARTY.concat(platform).concat(openId));
}
@Override
public void delUserInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_USER.concat(uid));
}
@Override
public boolean setUserInfoVoByUid(String uid, AdamUserInfoVo vo) {
return redisUtil.set(AdamRedisConst.INFO_USER.concat(uid), vo);
}
@Override
public AdamUserInfoVo getUserInfoVoByUid(String uid) {
String rk = AdamRedisConst.INFO_USER.concat(uid);
AdamUserInfoVo userInfoVo = (AdamUserInfoVo) redisUtil.get(rk);
if (null == userInfoVo) {
userInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamUserInfoVo.class, AdamUserInfoVo.class.getSimpleName());
if (null != userInfoVo) redisUtil.hset(AdamRedisConst.INFO_USER, uid, userInfoVo);
}
return userInfoVo;
}
@Override
public boolean setRealInfoVoByUid(String uid, AdamRealInfoVo vo) {
return redisUtil.set(AdamRedisConst.INFO_REAL_NAME.concat(uid), vo);
}
@Override
public void delRealInfoVoByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_REAL_NAME.concat(uid));
}
@Override
public AdamRealInfoVo getRealInfoVoByUid(String uid) {
String rk = AdamRedisConst.INFO_REAL_NAME.concat(uid);
AdamRealInfoVo realInfoVo = (AdamRealInfoVo) redisUtil.get(rk);
if (null == realInfoVo) {
realInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamRealInfoVo.class, AdamRealInfoVo.class.getSimpleName());
if (null != realInfoVo) redisUtil.set(rk, realInfoVo);
}
return realInfoVo;
}
@Override
public boolean setThirdPartVoListByUid(String uid, List<AdamThirdPartInfoVo> voList) {
return redisUtil.set(AdamRedisConst.INFO_THIRD_PARTY.concat(uid), voList);
}
@Override
public void delThirdPartVoListByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_THIRD_PARTY.concat(uid));
}
@Override
public List<AdamThirdPartInfoVo> getThirdPartVoListByUid(String uid) {
String rk = AdamRedisConst.INFO_THIRD_PARTY.concat(uid);
List<AdamThirdPartInfoVo> thirdPartInfoVos = (List<AdamThirdPartInfoVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(thirdPartInfoVos)) {
thirdPartInfoVos = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamThirdPartInfoVo.class, AdamThirdPartInfoVo.class.getSimpleName());
if (!CollectionUtils.isEmpty(thirdPartInfoVos)) redisUtil.set(rk, thirdPartInfoVos);
}
return thirdPartInfoVos;
}
@Override
public AdamThirdPartInfoVo getThirdPartVoByUidPlatform(String uid, String platform) {
List<AdamThirdPartInfoVo> list = this.getThirdPartVoListByUid(uid);
if (!CollectionUtils.isEmpty(list))
for (AdamThirdPartInfoVo r : list)
if (platform.equals(r.getPlatform())) return r;
return null;
}
@Override
public AdamUserMemberVo getUserMemberVoByUid(String uid) {
String rk = AdamRedisConst.INFO_USER_MEMBER.concat(uid);
AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.get(rk);
if (null == adamUserMemberVo) {
adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
if (null != adamUserMemberVo) redisUtil.set(rk, adamUserMemberVo);
}
return adamUserMemberVo;
}
@Override
public AdamMemberSimpleVo getMemberSimpleVo() {
AdamMemberSimpleVo simpleVo = (AdamMemberSimpleVo) redisUtil.get(AdamRedisConst.INFO_MEMBER_SIMPLE);
if (null == simpleVo) {
List<AdamMemberSimpleVo> simpleVoList = mongoTemplate.findAll(AdamMemberSimpleVo.class, AdamMemberVo.class.getSimpleName());
simpleVo = CollectionUtils.isEmpty(simpleVoList) ? null : simpleVoList.get(0);
if (null != simpleVo) redisUtil.set(AdamRedisConst.INFO_MEMBER_SIMPLE, simpleVo);
}
return simpleVo;
}
@Override
public boolean setEntersByUid(String uid, List<AdamEnters> list) {
return redisUtil.set(AdamRedisConst.INFO_ENTERS.concat(uid), list);
}
@Override
public void delEntersByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ENTERS.concat(uid));
}
@Override
public List<AdamEnters> getEntersByUid(String uid) {
String rk = AdamRedisConst.INFO_ENTERS.concat(uid);
List<AdamEnters> entersList = (List<AdamEnters>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(entersList)) {
entersList = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), AdamEnters.class, AdamEnters.class.getSimpleName());
if (!CollectionUtils.isEmpty(entersList)) redisUtil.set(rk, entersList);
}
return entersList;
}
@Override
public AdamEnters getEntersByUidEntersId(String uid, String entersId) {
List<AdamEnters> entersList = this.getEntersByUid(uid);
if (!CollectionUtils.isEmpty(entersList))
for (AdamEnters r : entersList)
if (entersId.equals(r.getEntersId())) return r;
return null;
}
@Override
public boolean setAddressesByUid(String uid, List<AdamAddresses> list) {
return redisUtil.set(AdamRedisConst.INFO_ADDRESSES.concat(uid), list);
}
@Override
public void delAddressesByUid(String uid) {
redisUtil.del(AdamRedisConst.INFO_ADDRESSES.concat(uid));
}
@Override
public List<AdamAddresses> getAddressesByUid(String uid) {
String rk = AdamRedisConst.INFO_ADDRESSES.concat(uid);
List<AdamAddresses> list = (List<AdamAddresses>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(list)) {
list = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamAddresses.class, AdamAddresses.class.getSimpleName());
if (!CollectionUtils.isEmpty(list)) redisUtil.set(rk, list);
}
return list;
}
@Override
public AdamAddresses getAddressesByUidAddressesId(String uid, String addressesId) {
List<AdamAddresses> list = this.getAddressesByUid(uid);
if (!CollectionUtils.isEmpty(list))
for (AdamAddresses r : list)
if (addressesId.equals(r.getAddressesId())) return r;
return null;
}
}
...@@ -53,7 +53,7 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada ...@@ -53,7 +53,7 @@ public class AdamRealNameServiceImpl extends ServiceImpl<AdamRealNameMapper, Ada
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public void add(AdamRealName realName) { public void add(AdamRealName realName) {
mongoTemplate.insert(Collections.singletonList(realName), AdamRealInfoVo.class.getSimpleName()); mongoTemplate.insert(realName, AdamRealInfoVo.class.getSimpleName());
List<Object> paramList = Arrays.asList( List<Object> paramList = Arrays.asList(
realName.getRealNameId(), realName.getRealNameId(),
......
...@@ -31,27 +31,27 @@ public class AdamThirdPartyServiceImpl extends ServiceImpl<AdamThirdPartyMapper, ...@@ -31,27 +31,27 @@ public class AdamThirdPartyServiceImpl extends ServiceImpl<AdamThirdPartyMapper,
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
@Override // @Override
public List<AdamThirdPartInfoVo> queryByUid(String uid) { // public List<AdamThirdPartInfoVo> queryByUid(String uid) {
List<AdamThirdPartInfoVo> thirdPartInfoVos = (List<AdamThirdPartInfoVo>) redisUtil.hget(AdamRedisConst.INFO_THIRD_PARTY, uid); // List<AdamThirdPartInfoVo> thirdPartInfoVos = (List<AdamThirdPartInfoVo>) redisUtil.hget(AdamRedisConst.INFO_THIRD_PARTY, uid);
if (CollectionUtils.isEmpty(thirdPartInfoVos)) { // if (CollectionUtils.isEmpty(thirdPartInfoVos)) {
thirdPartInfoVos = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)), // thirdPartInfoVos = mongoTemplate.find(Query.query(Criteria.where("uid").is(uid).and("state").is(1)),
AdamThirdPartInfoVo.class); // AdamThirdPartInfoVo.class);
//
// if (!CollectionUtils.isEmpty(thirdPartInfoVos)) redisUtil.hset(AdamRedisConst.INFO_THIRD_PARTY, uid, thirdPartInfoVos);
// }
// return thirdPartInfoVos;
// }
if (!CollectionUtils.isEmpty(thirdPartInfoVos)) redisUtil.hset(AdamRedisConst.INFO_THIRD_PARTY, uid, thirdPartInfoVos); // public AdamThirdPartInfoVo queryByUidAndPlatform(String uid, String platform) {
} // List<AdamThirdPartInfoVo> voList = this.queryByUid(uid);
return thirdPartInfoVos; // if (!CollectionUtils.isEmpty(voList)) {
} // for (AdamThirdPartInfoVo vo : voList) {
// if (platform.equals(vo.getPlatform())) {
public AdamThirdPartInfoVo queryByUidAndPlatform(String uid, String platform) { // return vo;
List<AdamThirdPartInfoVo> voList = this.queryByUid(uid); // }
if (!CollectionUtils.isEmpty(voList)) { // }
for (AdamThirdPartInfoVo vo : voList) { // }
if (platform.equals(vo.getPlatform())) { // return null;
return vo; // }
}
}
}
return null;
}
} }
...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.constant.AdamRedisConst; ...@@ -8,6 +8,7 @@ import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo; import com.liquidnet.service.adam.dto.vo.AdamUserInfoVo;
import com.liquidnet.service.adam.entity.AdamUserInfo; import com.liquidnet.service.adam.entity.AdamUserInfo;
import com.liquidnet.service.adam.mapper.AdamUserInfoMapper; import com.liquidnet.service.adam.mapper.AdamUserInfoMapper;
import com.liquidnet.service.adam.service.IAdamRdmService;
import com.liquidnet.service.adam.service.IAdamUserInfoService; import com.liquidnet.service.adam.service.IAdamUserInfoService;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
...@@ -44,7 +45,7 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada ...@@ -44,7 +45,7 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
@Autowired @Autowired
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@Autowired @Autowired
RedisUtil redisUtil; IAdamRdmService adamRdmService;
@Override @Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
...@@ -71,7 +72,7 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada ...@@ -71,7 +72,7 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get(userInfoVo.getIsComplete() == 0 ? "adam_user_info.add" : "adam_user_info.edit", paramList.toArray())); // SqlMapping.get(userInfoVo.getIsComplete() == 0 ? "adam_user_info.add" : "adam_user_info.edit", paramList.toArray()));
redisUtil.hset(AdamRedisConst.INFO_USER, userInfoVo.getUid(), userInfoVo); adamRdmService.setUserInfoVoByUid(userInfoVo.getUid(), userInfoVo);
} }
@Override @Override
...@@ -86,9 +87,10 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada ...@@ -86,9 +87,10 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
); );
AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class); AdamUserInfoVo beforeUserInfoVo = BsonUtil.toBean(doc, AdamUserInfoVo.class);
redisUtil.hdel(AdamRedisConst.INFO_IDENTITY_MOBILE, beforeUserInfoVo.getMobile());
redisUtil.hset(AdamRedisConst.INFO_IDENTITY_MOBILE, beforeUserInfoVo.getMobile(), uid); adamRdmService.delUidByMobile(beforeUserInfoVo.getMobile());
adamRdmService.setUidByMobile(beforeUserInfoVo.getMobile(), uid);
beforeUserInfoVo.setMobile(mobile); beforeUserInfoVo.setMobile(mobile);
redisUtil.hset(AdamRedisConst.INFO_USER, uid, beforeUserInfoVo); adamRdmService.setUserInfoVoByUid(uid, beforeUserInfoVo);
} }
} }
...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst; import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.entity.AdamUserMember; import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper; import com.liquidnet.service.adam.mapper.AdamMemberCodeMapper;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper; import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
...@@ -61,16 +60,16 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper, ...@@ -61,16 +60,16 @@ public class AdamUserMemberServiceImpl extends ServiceImpl<AdamUserMemberMapper,
} }
} }
@Override // @Override
public AdamUserMemberVo getUserMemberInfo(String uid) { // public AdamUserMemberVo getUserMemberInfo(String uid) {
AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_USER, uid); // AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_USER, uid);
if (null == adamUserMemberVo) { // if (null == adamUserMemberVo) {
adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName()); // adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
//
if (null != adamUserMemberVo) redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, uid, adamUserMemberVo); // if (null != adamUserMemberVo) redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, uid, adamUserMemberVo);
} // }
return adamUserMemberVo; // return adamUserMemberVo;
} // }
@Override @Override
public boolean getOneFromRepertory(String memberId) { public boolean getOneFromRepertory(String memberId) {
......
...@@ -78,7 +78,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad ...@@ -78,7 +78,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
amv.setPriceVoList(AdamMemberVo.setMemberPrice(adamMemberPrices)); amv.setPriceVoList(AdamMemberVo.setMemberPrice(adamMemberPrices));
// 添加数据到 Mongo // 添加数据到 Mongo
mongoTemplate.insert(Collections.singletonList(amv), AdamMemberVo.class.getSimpleName()); mongoTemplate.insert(amv, AdamMemberVo.class.getSimpleName());
// todo 放入MQ // todo 放入MQ
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL, // rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_member.add", (new AdamMemberVo()).getMqList(adamMember).toArray())); // SqlMapping.get("adam_member.add", (new AdamMemberVo()).getMqList(adamMember).toArray()));
......
...@@ -11,11 +11,6 @@ ...@@ -11,11 +11,6 @@
<artifactId>liquidnet-service-executor-main</artifactId> <artifactId>liquidnet-service-executor-main</artifactId>
<dependencies> <dependencies>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-sequence</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<artifactId>liquidnet-api-feign-adam</artifactId> <artifactId>liquidnet-api-feign-adam</artifactId>
......
package com.liquidnet.service.executor.main.handler; package com.liquidnet.service.executor.main.handler;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.liquidnet.service.api.sequence.feign.FeignSequenceClient;
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob; import com.xxl.job.core.handler.annotation.XxlJob;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -20,20 +19,20 @@ import org.springframework.stereotype.Component; ...@@ -20,20 +19,20 @@ import org.springframework.stereotype.Component;
@Component @Component
public class ExecutorMainDemoHandler { public class ExecutorMainDemoHandler {
private static final Logger log = LoggerFactory.getLogger(ExecutorMainDemoHandler.class); private static final Logger log = LoggerFactory.getLogger(ExecutorMainDemoHandler.class);
@Autowired // @Autowired
private FeignSequenceClient feignSequenceClient; // private FeignSequenceClient feignSequenceClient;
//
@XxlJob(value = "sev-sequence:mainDemoJobHandler") // @XxlJob(value = "sev-sequence:mainDemoJobHandler")
public ReturnT<String> mainDemoJobHandler(String param) { // public ReturnT<String> mainDemoJobHandler(String param) {
log.info("liquidnet.mainDemoJobHandler"); // log.info("liquidnet.mainDemoJobHandler");
Long test = feignSequenceClient.nextId(); // Long test = feignSequenceClient.nextId();
log.info("test : " + test); // log.info("test : " + test);
Long[] tests = feignSequenceClient.nextId(2); // Long[] tests = feignSequenceClient.nextId(2);
log.info("tests: " + JSON.toJSONString(tests)); // log.info("tests: " + JSON.toJSONString(tests));
Long nextIncrId = feignSequenceClient.nextIncrId("SEQ_WL_N01_1784"); // Long nextIncrId = feignSequenceClient.nextIncrId("SEQ_WL_N01_1784");
log.info("incrid:" + nextIncrId); // log.info("incrid:" + nextIncrId);
return ReturnT.SUCCESS; // return ReturnT.SUCCESS;
} // }
// @XxlJob(value = "sev-recon:accountCheckTask") // @XxlJob(value = "sev-recon:accountCheckTask")
// public ReturnT<String> accountCheckTask(String param) { // public ReturnT<String> accountCheckTask(String param) {
......
package com.liquidnet.service.kylin.controller; package com.liquidnet.service.kylin.controller;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.core.JwtValidator;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.CheckPerformanceRelationParam;
import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam; import com.liquidnet.service.kylin.dto.param.KylinStationCheckOrderParam;
import com.liquidnet.service.kylin.dto.vo.KylinStationCheckOrderVo; import com.liquidnet.service.kylin.dto.vo.*;
import com.liquidnet.service.kylin.dto.vo.KylinStationPerformanceVo; import com.liquidnet.service.kylin.service.partner.IKylinCheckUserPartnerService;
import com.liquidnet.service.kylin.service.partner.IKylinCheckUserPerformancesPartnerService;
import com.liquidnet.service.kylin.utils.DataUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.util.CollectionUtils;
import org.springframework.util.DigestUtils;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Collections; import java.math.BigDecimal;
import java.util.List; import java.nio.charset.StandardCharsets;
import java.util.*;
@Api(tags = "验票") @Api(tags = "验票")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("station") @RequestMapping("station")
public class KylinStationController { public class KylinStationController {
@Autowired
Environment environment;
@Autowired
JwtValidator jwtValidator;
@Autowired
MongoTemplate mongoTemplate;
@Autowired
RedisUtil redisUtil;
@Autowired
DataUtils dataUtils;
@ApiOperation(value = "手机号密码登录") @ApiOperation(value = "手机号密码登录")
@ApiImplicitParams({ @ApiImplicitParams({
...@@ -30,9 +58,7 @@ public class KylinStationController { ...@@ -30,9 +58,7 @@ public class KylinStationController {
public ResponseDto<String> login(@RequestParam String mobile, @RequestParam String passwd) { public ResponseDto<String> login(@RequestParam String mobile, @RequestParam String passwd) {
log.info("mobile:{},passwd:{}", mobile, passwd); log.info("mobile:{},passwd:{}", mobile, passwd);
return this.loginVerification(mobile, passwd, true);
return ResponseDto.success("token........");
} }
@ApiOperation(value = "手机号验证码登录") @ApiOperation(value = "手机号验证码登录")
...@@ -44,9 +70,25 @@ public class KylinStationController { ...@@ -44,9 +70,25 @@ public class KylinStationController {
public ResponseDto<String> loginBySms(@RequestParam String mobile, @RequestParam String code) { public ResponseDto<String> loginBySms(@RequestParam String mobile, @RequestParam String code) {
log.info("mobile:{},code:{}", mobile, code); log.info("mobile:{},code:{}", mobile, code);
return this.loginVerification(mobile, code, false);
}
@ApiOperation(value = "登出")
@PostMapping("out")
public ResponseDto<String> out() {
String checkUserId = CurrentUtil.getCurrentUid();
String token = CurrentUtil.getToken();
String ssoKeyUidM5Token = jwtValidator.getSsoRedisKey().concat(CurrentUtil.getCurrentUid()).concat(
DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8))
);
log.info("###logout:checkUserId:{}\nssoKey:{}\ntoken:{}", checkUserId, ssoKeyUidM5Token, token);
return ResponseDto.success("token........."); redisUtil.set(ssoKeyUidM5Token, false);
return ResponseDto.success();
} }
/* ------------------------------------------------------------------ */ /* ------------------------------------------------------------------ */
...@@ -56,12 +98,56 @@ public class KylinStationController { ...@@ -56,12 +98,56 @@ public class KylinStationController {
@ApiImplicitParam(type = "body", required = true, dataType = "String", name = "mod", value = "模块[recent-近期的,down-已下载,over-历史]", allowableValues = "recent,down,over"), @ApiImplicitParam(type = "body", required = true, dataType = "String", name = "mod", value = "模块[recent-近期的,down-已下载,over-历史]", allowableValues = "recent,down,over"),
}) })
@GetMapping("performances/{mod}") @GetMapping("performances/{mod}")
public ResponseDto<KylinStationPerformanceVo> performances(@PathVariable String mod) { public ResponseDto<List<KylinStationPerformanceVo>> performances(@PathVariable String mod) {
List<KylinStationPerformanceVo> voList = new ArrayList<>();
log.info("mod:{}", mod); log.info("mod:{}", mod);
switch (mod) {
case "recent":
KylinCheckUserPerformanceVo checkUserRelationVo = dataUtils.getCheckUserRelationVo(CurrentUtil.getCurrentUid());
if (null != checkUserRelationVo) {
List<CheckPerformanceRelationParam> relationParams = checkUserRelationVo.getRelationParams();
if (!CollectionUtils.isEmpty(relationParams)) {
relationParams.forEach(r -> {
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(r.getPerformanceId());
KylinStationPerformanceVo vo = KylinStationPerformanceVo.getNew().copy(performanceVo);
vo.setCanDownTime(r.getCanDownTime());
return ResponseDto.success(KylinStationPerformanceVo.getNew()); // TODO: 2021/5/30 票种数据统计
KylinStationTicketVo ticketVo = KylinStationTicketVo.getNew();
ticketVo.setTicketsId("1");
ticketVo.setType("1");
ticketVo.setTitle("测试数据");
ticketVo.setPrice(BigDecimal.TEN);
ticketVo.setUseStart("2021-05-30");
ticketVo.setUseEnd("2021-06-02");
ticketVo.setNumber(100);
ticketVo.setPriceSum(ticketVo.getPrice().multiply(BigDecimal.valueOf(ticketVo.getNumber())));
ticketVo.setCheckedNum(0);
ticketVo.setRemainderNum(ticketVo.getNumber() - ticketVo.getCheckedNum());
vo.setTicketVoList(Arrays.asList(ticketVo, ticketVo));
voList.add(vo);
});
}
}
break;
case "down":
break;
case "over":
break;
default:
break;
}
return ResponseDto.success(voList);
} }
@ApiOperation(value = "下载验票数据") @ApiOperation(value = "下载验票数据")
...@@ -90,8 +176,67 @@ public class KylinStationController { ...@@ -90,8 +176,67 @@ public class KylinStationController {
/* ------------------------------------------------------------------ */ /* ------------------------------------------------------------------ */
private String loginProcess() { private ResponseDto<String> loginVerification(String mobile, String identity, boolean isPasswd) {
KylinCheckUserVo checkUserVo = mongoTemplate.findOne(Query.query(Criteria.where("mobile").is(mobile)),
KylinCheckUserVo.class, KylinCheckUserVo.class.getSimpleName());
if (null == checkUserVo) {
return ResponseDto.failure(ErrorMapping.get("20601"));
}
if (isPasswd) {// 校验密码
if (checkUserVo.getPwd().equals(DigestUtils.md5DigestAsHex(identity.getBytes()))) {
return this.loginAuthentication(checkUserVo);
}
return ResponseDto.failure(ErrorMapping.get("20602"));
} else {// 校验验证码
if (Arrays.asList("dev", "test").contains(environment.getProperty("spring.profiles.active"))) {
if ("111111".equals(identity)) {
return this.loginAuthentication(checkUserVo);
}
return ResponseDto.failure(ErrorMapping.get("20002"));
}
try {
LinkedMultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
paramsMap.add("mobile", mobile);
paramsMap.add("code", identity);
LinkedMultiValueMap<String, String> headersMap = new LinkedMultiValueMap<>();
headersMap.add("token", null);
// TODO: 2021/5/12
String respStr = HttpUtil.get("https://service.zhengzai.tv/smsValidation", paramsMap, headersMap);
log.info("###PHP.API.RESP:{}", respStr);
Map respMap = JsonUtils.fromJson(respStr, Map.class);
if (StringUtils.equalsIgnoreCase("OK", (String) respMap.get("message"))) {
return this.loginAuthentication(checkUserVo);
}
return ResponseDto.failure(ErrorMapping.get("20002"));
} catch (Exception e) {
log.error("验证码验证异常[mobile:{},code:{}]", mobile, identity, e);
return ResponseDto.failure(ErrorMapping.get("20002"));
}
}
}
private ResponseDto<String> loginAuthentication(KylinCheckUserVo checkUserVo) {
String uid = checkUserVo.getCheckUserId();
String ssoKeyUid = jwtValidator.getSsoRedisKey().concat(uid);
Map<String, Object> claimsMap = new HashMap<>();
claimsMap.put("uid", uid);
claimsMap.put("mobile", checkUserVo.getMobile());
claimsMap.put("nickname", checkUserVo.getName());
String token = jwtValidator.create(claimsMap);
String ssoKeyUidM5Token = ssoKeyUid.concat(DigestUtils.md5DigestAsHex(token.getBytes(StandardCharsets.UTF_8)));
redisUtil.set(ssoKeyUidM5Token, true, jwtValidator.getExpireTtl() * 60);
return null; return ResponseDto.success(token);
} }
} }
...@@ -30,4 +30,10 @@ ...@@ -30,4 +30,10 @@
20118=日期有误 20118=日期有误
#APP JDM #APP JDM
20201= 20201=
\ No newline at end of file
# 专业版APP
20601=账号不存在
20602=密码错误
\ No newline at end of file
...@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy; import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
...@@ -16,7 +17,9 @@ import java.util.Arrays; ...@@ -16,7 +17,9 @@ import java.util.Arrays;
@Slf4j @Slf4j
@EnableZuulProxy @EnableZuulProxy
@EnableFeignClients(basePackages = {"com.liquidnet"}) @EnableFeignClients(basePackages = {"com.liquidnet"})
@SpringBootApplication(scanBasePackages = {"com.liquidnet"}) @SpringBootApplication(scanBasePackages = {"com.liquidnet"},
exclude = {DataSourceAutoConfiguration.class}
)
public class SupportZuulApplication implements CommandLineRunner { public class SupportZuulApplication implements CommandLineRunner {
@Autowired @Autowired
private Environment environment; private Environment environment;
......
...@@ -27,10 +27,14 @@ import java.util.Map; ...@@ -27,10 +27,14 @@ import java.util.Map;
@Slf4j @Slf4j
@Component @Component
public class GlobalAuthFilter extends ZuulFilter { public class GlobalAuthFilter extends ZuulFilter {
@Value("#{'${global.include.url}'.split(', ')}")
private List<String> includeUrls;
@Value("#{'${global.include.url-pattern}'.split(', ')}")
private List<String> includeUrlPatterns;
@Value("#{'${global.exclude.url}'.split(', ')}") @Value("#{'${global.exclude.url}'.split(', ')}")
private List<String> excludeUrl; private List<String> excludeUrls;
@Value("#{'${global.exclude.url-pattern}'.split(', ')}") @Value("#{'${global.exclude.url-pattern}'.split(', ')}")
private List<String> excludeUrlPattern; private List<String> excludeUrlPatterns;
private static final String CONTENT_TYPE = "application/json;charset=utf-8"; private static final String CONTENT_TYPE = "application/json;charset=utf-8";
private static final String AUTHORIZATION = "authorization"; private static final String AUTHORIZATION = "authorization";
private static final String TOKEN_STATUS = "token_status"; private static final String TOKEN_STATUS = "token_status";
...@@ -79,11 +83,21 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -79,11 +83,21 @@ public class GlobalAuthFilter extends ZuulFilter {
String requestURI = ctxRequest.getRequestURI(); String requestURI = ctxRequest.getRequestURI();
if (excludeUrl.contains(requestURI)) { if (excludeUrls.contains(requestURI)) {
return false; return false;
} }
for (String urlPattern : excludeUrlPattern) { for (String urlPattern : excludeUrlPatterns) {
return !PathMatchUtil.isPathMatch(urlPattern, requestURI); if (PathMatchUtil.isPathMatch(urlPattern, requestURI)) {
return false;
}
}
if (includeUrls.contains(requestURI)) {
return true;
}
for (String urlPattern : includeUrlPatterns) {
if (PathMatchUtil.isPathMatch(urlPattern, requestURI)) {
return true;
}
} }
return true; return true;
} }
...@@ -107,12 +121,13 @@ public class GlobalAuthFilter extends ZuulFilter { ...@@ -107,12 +121,13 @@ public class GlobalAuthFilter extends ZuulFilter {
if (StringUtils.isEmpty(uid)) { if (StringUtils.isEmpty(uid)) {
respHandler(ctx, zuulRequestHeaders.get(TOKEN_STATUS)); respHandler(ctx, zuulRequestHeaders.get(TOKEN_STATUS));
} else { } else {
String ssoKey = jwtValidator.getSsoRedisKey().concat(uid) String ssoKeyUidM5Token = jwtValidator.getSsoRedisKey().concat(uid).concat(
.concat(DigestUtils.md5DigestAsHex(uToken.getBytes(StandardCharsets.UTF_8))); DigestUtils.md5DigestAsHex(uToken.getBytes(StandardCharsets.UTF_8))
);
if (redisUtil.hasKey(ssoKey)) {// 是否存在SSO if (redisUtil.hasKey(ssoKeyUidM5Token)) {// 是否存在SSO
if ((boolean) redisUtil.get(ssoKey)) {// 是否在线 if ((boolean) redisUtil.get(ssoKeyUidM5Token)) {// 是否在线
ctx.setSendZuulResponse(true); ctx.setSendZuulResponse(true);
} else { } else {
......
package com.liquidnet.support.zuul.filter;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.AdamThirdPartParam;
import com.liquidnet.service.adam.dto.vo.AdamLoginInfoVo;
import com.liquidnet.service.feign.adam.api.FeignAdamLoginClient;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Component
public class GlobalLoginFilter extends ZuulFilter {
@Value("#{'${global.login.url}'.split(', ')}")
private List<String> loginUrl;
@Autowired
FeignAdamLoginClient feignAdamLoginClient;
@Override
public String filterType() {
return "pre";
}
@Override
public int filterOrder() {
return 1;
}
@Override
public boolean shouldFilter() {
RequestContext ctx = RequestContext.getCurrentContext();
return loginUrl.contains(ctx.getRequest().getRequestURI());
}
@Override
public Object run() {
RequestContext requestContext = RequestContext.getCurrentContext();
HttpServletRequest servletRequest = requestContext.getRequest();
// String token = servletRequest.getHeader("authorization");
// if (StringUtils.isNotBlank(token)) {
// requestContext.addZuulResponseHeader("authorization", token);
// }
ResponseDto<AdamLoginInfoVo> responseDto = null;
switch (servletRequest.getRequestURI()) {
case "/adam/login/sms":
responseDto = feignAdamLoginClient.loginBySms(servletRequest.getParameter("mobile"), servletRequest.getParameter("code"));
break;
case "/adam/login/mobile":
responseDto = feignAdamLoginClient.loginByMobile(servletRequest.getParameter("accessToken"));
break;
case "/adam/login/tpa":
String body = null;
try {
body = servletRequest.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
} catch (IOException e) {
log.error("reader request body exception", e);
}
responseDto = feignAdamLoginClient.loginByTpa(JsonUtils.fromJson(body, AdamThirdPartParam.class));
break;
default:
log.warn("###无效的登录链接:{}", servletRequest.getRequestURI());
break;
}
log.debug("login request result:{}", JsonUtils.toJson(responseDto));
return null;
}
}
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