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

Commit 0d35a8bd authored by 张国柄's avatar 张国柄

+feign api:判断是否会员;

token添加mobile、nickname;
parent 4b915827
...@@ -8,6 +8,8 @@ import java.util.Map; ...@@ -8,6 +8,8 @@ import java.util.Map;
public class CurrentUtil { public class CurrentUtil {
public static final String uTag = "u-tag"; public static final String uTag = "u-tag";
public static final String uToken = "u-token"; public static final String uToken = "u-token";
public static final String CLI_SOURCE = "source";
public static final String CLI_VERSION = "version";
public static String getToken() { public static String getToken() {
String authToken = ServletUtils.getRequest().getHeader(uToken); String authToken = ServletUtils.getRequest().getHeader(uToken);
...@@ -23,4 +25,12 @@ public class CurrentUtil { ...@@ -23,4 +25,12 @@ public class CurrentUtil {
// TODO: 2021/5/14 dev联调API未启用token默认使用1 // TODO: 2021/5/14 dev联调API未启用token默认使用1
return CollectionUtils.isEmpty(tokenClaims) ? "1" : (String) tokenClaims.get("uid"); return CollectionUtils.isEmpty(tokenClaims) ? "1" : (String) tokenClaims.get("uid");
} }
public static String getCliSource() {
return ServletUtils.getRequest().getHeader(CLI_SOURCE);
}
public static String getCliVersion() {
return ServletUtils.getRequest().getHeader(CLI_SOURCE);
}
} }
...@@ -198,10 +198,13 @@ public abstract class DateUtil { ...@@ -198,10 +198,13 @@ public abstract class DateUtil {
/** /**
* 使用参数Format将字符串转为Date * 使用参数Format将字符串转为Date
*/ */
public static Date parse(String strDate, String pattern) public static Date parse(String strDate, String pattern) {
throws ParseException { try {
return StringUtils.isBlank(strDate) ? null : new SimpleDateFormat( return StringUtils.isBlank(strDate) ? null : new SimpleDateFormat(
pattern).parse(strDate); pattern).parse(strDate);
} catch (ParseException e) {
return null;
}
} }
public static Date asDate(LocalDate localDate) { public static Date asDate(LocalDate localDate) {
...@@ -256,12 +259,8 @@ public abstract class DateUtil { ...@@ -256,12 +259,8 @@ public abstract class DateUtil {
* 比较日期 * 比较日期
*/ */
public static int compareDay(Date date1, Date date2) { public static int compareDay(Date date1, Date date2) {
try {
date1 = parse(format(date1, Formatter.yyyyMMdd), Formatter.yyyyMMdd.toString()); date1 = parse(format(date1, Formatter.yyyyMMdd), Formatter.yyyyMMdd.toString());
date2 = parse(format(date2, Formatter.yyyyMMdd), Formatter.yyyyMMdd.toString()); date2 = parse(format(date2, Formatter.yyyyMMdd), Formatter.yyyyMMdd.toString());
} catch (ParseException e) {
e.printStackTrace();
}
return date1.compareTo(date2); return date1.compareTo(date2);
} }
...@@ -481,12 +480,8 @@ public abstract class DateUtil { ...@@ -481,12 +480,8 @@ public abstract class DateUtil {
// System.out.println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( // System.out.println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(
// DateUtil.getBeforeDayEnd(calendarEnd,-1))); // DateUtil.getBeforeDayEnd(calendarEnd,-1)));
try { // long dayNum = DateUtil.intervalHours(DateUtil.parse("2016-08-31 18:02:00", "yyyy-MM-dd HH:mm:ss"), new Date());
long dayNum = DateUtil.intervalHours(DateUtil.parse("2016-08-31 18:02:00", "yyyy-MM-dd HH:mm:ss"), new Date()); // System.out.print("dayNum=======" + dayNum);
System.out.print("dayNum=======" + dayNum);
} catch (ParseException e) {
e.printStackTrace();
}
// Set<String> holidays = new HashSet<>(); // Set<String> holidays = new HashSet<>();
// holidays.add("20160416"); // holidays.add("20160416");
......
...@@ -6,6 +6,7 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -6,6 +6,7 @@ import com.liquidnet.service.base.ResponseDto;
import feign.hystrix.FallbackFactory; import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
...@@ -23,4 +24,13 @@ public interface FeignAdamBaseClient { ...@@ -23,4 +24,13 @@ public interface FeignAdamBaseClient {
@PostMapping("addr/query/{id}") @PostMapping("addr/query/{id}")
ResponseDto<AdamAddressesVo> queryAddresses(@PathVariable(name = "id") String addrId, ResponseDto<AdamAddressesVo> queryAddresses(@PathVariable(name = "id") String addrId,
@RequestParam(name = "uid", required = false) String uid); @RequestParam(name = "uid", required = false) String uid);
/**
* 判断是否会员
*
* @param uid 用户ID
* @return 是否会员:true-是
*/
@GetMapping("member/check/{uid}")
ResponseDto<Boolean> isMember(@PathVariable String uid);
} }
package com.liquidnet.service.adam.dto.vo; package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamUserMember;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
@ApiModel(value = "AdamUserMemberVo", description = "会员用户信息") @ApiModel(value = "AdamUserMemberVo", description = "会员用户信息")
@Data @Data
......
...@@ -131,6 +131,9 @@ public class AdamLoginController { ...@@ -131,6 +131,9 @@ public class AdamLoginController {
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = new HashMap<>();
claimsMap.put("uid", userInfoVo.getUid()); claimsMap.put("uid", userInfoVo.getUid());
// TODO: 2021/5/25 修改手机号更新TOKEN
claimsMap.put("mobile", userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname());
loginInfoVo.setToken(this.ssoProcess(claimsMap)); loginInfoVo.setToken(this.ssoProcess(claimsMap));
return ResponseDto.success(loginInfoVo); return ResponseDto.success(loginInfoVo);
} }
...@@ -161,6 +164,8 @@ public class AdamLoginController { ...@@ -161,6 +164,8 @@ public class AdamLoginController {
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = new HashMap<>();
claimsMap.put("uid", userInfoVo.getUid()); claimsMap.put("uid", userInfoVo.getUid());
claimsMap.put("mobile", userInfoVo.getMobile());
claimsMap.put("nickname", userInfoVo.getNickname());
loginInfoVo.setToken(this.ssoProcess(claimsMap)); loginInfoVo.setToken(this.ssoProcess(claimsMap));
return ResponseDto.success(AdamLoginInfoVo.getNew()); return ResponseDto.success(AdamLoginInfoVo.getNew());
} }
...@@ -190,6 +195,8 @@ public class AdamLoginController { ...@@ -190,6 +195,8 @@ public class AdamLoginController {
Map<String, Object> claimsMap = new HashMap<>(); Map<String, Object> claimsMap = new HashMap<>();
claimsMap.put("uid", loginInfoVo.getUserInfo().getUid()); claimsMap.put("uid", loginInfoVo.getUserInfo().getUid());
claimsMap.put("mobile", loginInfoVo.getUserInfo().getMobile());
claimsMap.put("nickname", loginInfoVo.getUserInfo().getNickname());
loginInfoVo.setToken(this.ssoProcess(claimsMap)); loginInfoVo.setToken(this.ssoProcess(claimsMap));
return ResponseDto.success(loginInfoVo); return ResponseDto.success(loginInfoVo);
} }
......
...@@ -2,17 +2,23 @@ package com.liquidnet.service.adam.controller; ...@@ -2,17 +2,23 @@ package com.liquidnet.service.adam.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamUserMemberVo;
import com.liquidnet.service.adam.service.IAdamMemberOrderService; import com.liquidnet.service.adam.service.IAdamMemberOrderService;
import com.liquidnet.service.adam.service.IAdamUserMemberService;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.adam.dto.vo.AdamMemberVo; import com.liquidnet.service.adam.dto.vo.AdamMemberVo;
import com.liquidnet.service.adam.service.IAdamMemberService; import com.liquidnet.service.adam.service.IAdamMemberService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
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.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.Date;
@ApiSupport(order = 10030) @ApiSupport(order = 10030)
@Api(tags = "会员信息") @Api(tags = "会员信息")
...@@ -25,6 +31,8 @@ public class AdamMemberController { ...@@ -25,6 +31,8 @@ public class AdamMemberController {
IAdamMemberService adamMemberService; IAdamMemberService adamMemberService;
@Autowired @Autowired
IAdamMemberOrderService adamMemberOrderService; IAdamMemberOrderService adamMemberOrderService;
@Autowired
IAdamUserMemberService adamUserMemberService;
@ApiOperationSupport(order = 0) @ApiOperationSupport(order = 0)
@ApiOperation(value = "会员信息") @ApiOperation(value = "会员信息")
...@@ -33,4 +41,26 @@ public class AdamMemberController { ...@@ -33,4 +41,26 @@ public class AdamMemberController {
AdamMemberVo info = adamMemberService.queryMemberInfo(); AdamMemberVo info = adamMemberService.queryMemberInfo();
return ResponseDto.success(info); return ResponseDto.success(info);
} }
@ApiOperationSupport(order = 1)
@ApiOperation(value = "判断是否会员")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "用户ID[64]", example = "1"),
})
@GetMapping("check/{uid}")
public ResponseDto<Boolean> isMember(@PathVariable String uid) {
if (StringUtils.isBlank(uid)) return ResponseDto.success(false);
AdamUserMemberVo userMemberInfo = adamUserMemberService.getUserMemberInfo(uid);
if (null != userMemberInfo) {
Integer state = userMemberInfo.getState();
if (null != state && state == 1) {
// TODO: 2021/5/25 时间界定
Date expiryAtDate = DateUtil.parse(userMemberInfo.getExpiryAt(), DateUtil.DATE_SMALL_STR);
return ResponseDto.success(null != expiryAtDate && expiryAtDate.after(DateUtil.now()));
}
}
return ResponseDto.success(false);
}
} }
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