Commit f6bfab36 authored by shiyu's avatar shiyu

Merge remote-tracking branch 'origin/quanku_0930' into quanku_0930

parents 366f28cd 906adddd
...@@ -11,6 +11,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; ...@@ -11,6 +11,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.List; import java.util.List;
/**
* mvc配置
*/
@Configuration @Configuration
public class WebMvcConfiguration implements WebMvcConfigurer { public class WebMvcConfiguration implements WebMvcConfigurer {
@Bean @Bean
...@@ -25,10 +28,15 @@ public class WebMvcConfiguration implements WebMvcConfigurer { ...@@ -25,10 +28,15 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
argumentResolvers.add(loginUserHandlerMethodArgumentResolver); argumentResolvers.add(loginUserHandlerMethodArgumentResolver);
} }
/**
* 添加自定义拦截器
* @param registry
*/
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor()) registry.addInterceptor(loginInterceptor())
.addPathPatterns("/**") .addPathPatterns("/**")
// 放行路径
.excludePathPatterns("/*.html", "/**/*.html", "/**/*.css", "/**/*.js" .excludePathPatterns("/*.html", "/**/*.html", "/**/*.css", "/**/*.js"
, "/wx/user/loginByWx", "/wx/user/loginByMobile", "/wx/user/loginRegCaptcha", "/wx/user/updateRegCaptcha", "/wx/user/login", "/wx/user/fillCode" , "/wx/user/loginByWx", "/wx/user/loginByMobile", "/wx/user/loginRegCaptcha", "/wx/user/updateRegCaptcha", "/wx/user/login", "/wx/user/fillCode"
); );
......
...@@ -7,11 +7,18 @@ import java.util.List; ...@@ -7,11 +7,18 @@ import java.util.List;
@Data @Data
public class CategoryRequestDto implements Entity { public class CategoryRequestDto implements Entity {
// 分类id
private Integer id; private Integer id;
// 层级
private Integer level; private Integer level;
// 当前页
private Integer page; private Integer page;
// 页面大小
private Integer size; private Integer size;
// 名称
private String name; private String name;
// 上级id
private Integer pid; private Integer pid;
// 上级id列表
private List<Integer> pidList; private List<Integer> pidList;
} }
...@@ -7,11 +7,17 @@ import java.util.List; ...@@ -7,11 +7,17 @@ import java.util.List;
@Data @Data
public class FootPrintRequestDto implements Entity { public class FootPrintRequestDto implements Entity {
// id
private Long id; private Long id;
// 用户id
private Long userId; private Long userId;
// 藏品id
private Long itemId; private Long itemId;
private Integer when; private Integer when;
// 当前页
private Integer page; private Integer page;
// 页面大小
private Integer size; private Integer size;
// id列表
private List<Long> ids; private List<Long> ids;
} }
package com.wwdz.ch.wx.entity.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class KlDataRequestDto implements Entity {
private String kl_data;
}
...@@ -5,25 +5,44 @@ import lombok.Data; ...@@ -5,25 +5,44 @@ import lombok.Data;
@Data @Data
public class UserRequestDto implements Entity { public class UserRequestDto implements Entity {
// 用户id
private Long userId; private Long userId;
// 手机号
private String mobile; private String mobile;
// 获取手机号授权码
private String code; private String code;
// 登录后授权码
private String loginCode; private String loginCode;
// 验证码
private String smsCode; private String smsCode;
// 头像
private String avatarUrl; private String avatarUrl;
// 邀请人id
private Long shareUserId; private Long shareUserId;
// 昵称
private String nickname; private String nickname;
// 微信id
private String wechatId; private String wechatId;
// 修改前手机号
private String beforeMobile; private String beforeMobile;
// 修改后手机号
private String afterMobile; private String afterMobile;
// 个性签名
private String profile; private String profile;
// 背景图片
private String background; private String background;
// 验证码类型login登录update修改手机号
private String smsType; private String smsType;
// 加密字符串
private String encryptedData; private String encryptedData;
// 解密用
private String iv; private String iv;
// 微信登录版本类型1新版本2旧版本
private Integer type; private Integer type;
// 快捷登录方式(1、微信,2、支付宝,3、抖音) // 快捷登录方式(1、微信,2、支付宝,3、抖音)
private Integer loginType; private Integer loginType;
// 微信openid
private String wxOpenId; private String wxOpenId;
// 支付宝user_id
private String alipayUserId; private String alipayUserId;
} }
...@@ -3,9 +3,15 @@ package com.wwdz.ch.wx.entity.vo; ...@@ -3,9 +3,15 @@ package com.wwdz.ch.wx.entity.vo;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
/**
* 前端用列表响应对象
*/
@Data @Data
public class AgentTranceResponseVo implements Entity { public class AgentTranceResponseVo implements Entity {
// 前端用,目前固定值""
private String agentTraceInfo_; private String agentTraceInfo_;
// 前端用展示列表的布局类型1藏品瀑布流2收藏册
private Integer viewType; private Integer viewType;
// 前端用最终返回对象,需要用后端对象赋值
private Object detail; private Object detail;
} }
...@@ -5,11 +5,19 @@ import lombok.Data; ...@@ -5,11 +5,19 @@ import lombok.Data;
import java.util.List; import java.util.List;
/**
* 分类响应对象
*/
@Data @Data
public class CategoryResponseVo implements Entity { public class CategoryResponseVo implements Entity {
// 分类id
private Integer cid; private Integer cid;
// 上级id
private Integer pid; private Integer pid;
// 分类名称
private String categoryName; private String categoryName;
// 下级列表
private List<CategoryResponseVo> child; private List<CategoryResponseVo> child;
// 是否选中1是0否
private Integer isChosen; private Integer isChosen;
} }
...@@ -6,16 +6,29 @@ import lombok.Data; ...@@ -6,16 +6,29 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* 收藏册响应对象
*/
@Data @Data
public class FavoritesResponseVo implements Entity { public class FavoritesResponseVo implements Entity {
// 收藏册id
private Long id; private Long id;
// 标题
private String title; private String title;
// 描述
private String description; private String description;
// 排序
private Integer sort; private Integer sort;
// 创建时间
private Date addTime; private Date addTime;
// 更新时间
private Date updateTime; private Date updateTime;
// 是否删除true已删除
private Boolean deleted; private Boolean deleted;
// 封面图片
private List<String> images; private List<String> images;
// 收藏数
private long count; private long count;
// 是否客态true是
private Boolean isGuest; private Boolean isGuest;
} }
package com.wwdz.ch.wx.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class FollowFansRecordVo implements Entity {
private Integer id;
/**
* 粉丝id
*/
private Long fansId;
private String fansName;
/**
* 粉丝头像
*/
private String fansIcon;
/**
* 粉丝个人简介
*/
private String fansProfile;
/**
* 被关注者id
*/
private Long followerId;
private String followerName;
/**
* 关注人头像
*/
private String followerIcon;
/**
* 关注的人个人简介
*/
private String followerProfile;
/**
* 关系(已关注,互相关注,未关注)
*/
private String relation;
/**
* 关系(已关注,互相关注,未关注)
*/
private Integer relationCode;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 状态
*/
private Integer state;
private String stateName;
}
...@@ -5,8 +5,12 @@ import lombok.Data; ...@@ -5,8 +5,12 @@ import lombok.Data;
import java.util.List; import java.util.List;
/**
* 足迹响应对象
*/
@Data @Data
public class FootPrintResponseVo implements Entity { public class FootPrintResponseVo implements Entity {
// 日期类型1今天2昨天3一周内4一月内
private Integer timeType; private Integer timeType;
private List<ItemResponseVo> items; private List<ItemResponseVo> items;
} }
...@@ -6,35 +6,65 @@ import lombok.Data; ...@@ -6,35 +6,65 @@ import lombok.Data;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/**
* 藏品响应对象
*/
@Data @Data
public class ItemResponseVo implements Entity { public class ItemResponseVo implements Entity {
// 藏品id
private Long id; private Long id;
// 藏品id
private Long itemId; private Long itemId;
// 分类id
private Integer cid; private Integer cid;
// 分类名称
private String categoryName; private String categoryName;
// 名称
private String name; private String name;
// 图片
private String images; private String images;
// 价格
private String price; private String price;
// 详细信息
private String detail; private String detail;
// 来源1系统2用户
private Integer sourceType; private Integer sourceType;
// 是否已收藏1是0否
private Integer isCollected; private Integer isCollected;
// 收藏册id
private Long favoritesId; private Long favoritesId;
// 收藏数
private String collectCount; private String collectCount;
// 是否是自己发布的1是0否
private Integer isMine; private Integer isMine;
// 创建时间
private String createTime; private String createTime;
// 视频
private String videos; private String videos;
// 用于列表展示的图片对象
private Map<String, Object> homePageImage; private Map<String, Object> homePageImage;
// 是否已删除1是0否
private Boolean isDeleted; private Boolean isDeleted;
// 藏品发布者的头像
private String itemAvatar; private String itemAvatar;
// 藏品发布者的名称
private String itemNickname; private String itemNickname;
// 藏品发布者的用户id
private Long itemUserId; private Long itemUserId;
// 藏品发布者的个性签名
private String profile; private String profile;
// 用于足迹用的日期类型1今天2昨天3一周内4一月内
private Integer timeType; private Integer timeType;
private List<Map<String, Object>> imagesList; private List<Map<String, Object>> imagesList;
private List<Map<String, Object>> videosList; private List<Map<String, Object>> videosList;
// 权限0公有1私有
private Integer viewPermission; private Integer viewPermission;
// 是否已关注1是0否
private Boolean isFollowed; private Boolean isFollowed;
// 关注记录的id
private Integer followedId; private Integer followedId;
// 浏览量
private String viewsNumber; private String viewsNumber;
// 1展示浏览量2展示"仅自己可见"标签
private Integer isDisplay; private Integer isDisplay;
} }
...@@ -30,6 +30,9 @@ import javax.servlet.http.HttpServletRequest; ...@@ -30,6 +30,9 @@ import javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* 收藏册服务类
*/
@Service @Service
public class FavoritesServiceImpl implements FavoritesService { public class FavoritesServiceImpl implements FavoritesService {
private static final Logger logger = LoggerFactory.getLogger(FavoritesServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(FavoritesServiceImpl.class);
......
...@@ -28,6 +28,9 @@ import java.text.SimpleDateFormat; ...@@ -28,6 +28,9 @@ import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* 足迹服务类
*/
@Service @Service
public class FootPrintServiceImpl implements FootPrintService { public class FootPrintServiceImpl implements FootPrintService {
private static final Logger logger = LoggerFactory.getLogger(FootPrintServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(FootPrintServiceImpl.class);
......
...@@ -22,6 +22,9 @@ import java.util.Map; ...@@ -22,6 +22,9 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* 一些公用服务类
*/
@Service @Service
public class ItemCommonServiceImpl implements ItemCommonService { public class ItemCommonServiceImpl implements ItemCommonService {
@Autowired @Autowired
......
...@@ -55,6 +55,9 @@ import java.time.LocalDateTime; ...@@ -55,6 +55,9 @@ import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* 藏品服务类
*/
@Service @Service
public class ItemServiceImpl implements ItemService { public class ItemServiceImpl implements ItemService {
private static final Logger logger = LoggerFactory.getLogger(ItemServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(ItemServiceImpl.class);
...@@ -790,6 +793,7 @@ public class ItemServiceImpl implements ItemService { ...@@ -790,6 +793,7 @@ public class ItemServiceImpl implements ItemService {
public Result getAcode(String page, String scene, Integer loginType, HttpServletRequest request) { public Result getAcode(String page, String scene, Integer loginType, HttpServletRequest request) {
try { try {
String url = ""; String url = "";
// 环境是微信小程序
if (loginType.equals(LoginTypeEnum.WECHAT.getCode())) { if (loginType.equals(LoginTypeEnum.WECHAT.getCode())) {
// 判断是否存储过该请求路径的微信小程序码图片 // 判断是否存储过该请求路径的微信小程序码图片
String keyName = CommConsts.UPLOAD_PRE_WXACODE_DIRECTORY + page + "/" + scene + "." + MediaTypeEnum.IMAGE_JPG.getExt(); String keyName = CommConsts.UPLOAD_PRE_WXACODE_DIRECTORY + page + "/" + scene + "." + MediaTypeEnum.IMAGE_JPG.getExt();
...@@ -805,12 +809,14 @@ public class ItemServiceImpl implements ItemService { ...@@ -805,12 +809,14 @@ public class ItemServiceImpl implements ItemService {
} }
url = qiniuStorage.generateUrl(keyName); url = qiniuStorage.generateUrl(keyName);
} }
// 环境是支付宝小程序
if (loginType.equals(LoginTypeEnum.ALIPAY.getCode())) { if (loginType.equals(LoginTypeEnum.ALIPAY.getCode())) {
url = alipayLoginManager.getAcode(page, scene); url = alipayLoginManager.getAcode(page, scene);
if (StringUtils.isBlank(url)) { if (StringUtils.isBlank(url)) {
return Result.failed("获取支付宝小程序码失败"); return Result.failed("获取支付宝小程序码失败");
} }
} }
// 环境是抖音小程序
if (loginType.equals(LoginTypeEnum.TIKTOK.getCode())) { if (loginType.equals(LoginTypeEnum.TIKTOK.getCode())) {
String clientToken = tikTokLoginManager.getClientToken(); String clientToken = tikTokLoginManager.getClientToken();
if (StringUtils.isBlank(clientToken)) { if (StringUtils.isBlank(clientToken)) {
...@@ -836,18 +842,21 @@ public class ItemServiceImpl implements ItemService { ...@@ -836,18 +842,21 @@ public class ItemServiceImpl implements ItemService {
public Result getLink(String pageUrl, Integer loginType, Integer shareType, HttpServletRequest request) { public Result getLink(String pageUrl, Integer loginType, Integer shareType, HttpServletRequest request) {
try { try {
String link = ""; String link = "";
// 环境是微信小程序
if (loginType.equals(LoginTypeEnum.WECHAT.getCode())) { if (loginType.equals(LoginTypeEnum.WECHAT.getCode())) {
link = wxLoginManager.getLink(pageUrl); link = wxLoginManager.getLink(pageUrl);
if (StringUtils.isBlank(link)) { if (StringUtils.isBlank(link)) {
return Result.failed("获取微信小程序链接失败"); return Result.failed("获取微信小程序链接失败");
} }
} }
// 环境是支付宝小程序
if (loginType.equals(LoginTypeEnum.ALIPAY.getCode())) { if (loginType.equals(LoginTypeEnum.ALIPAY.getCode())) {
link = alipayLoginManager.getLink(pageUrl); link = alipayLoginManager.getLink(pageUrl);
if (StringUtils.isBlank(link)) { if (StringUtils.isBlank(link)) {
return Result.failed("获取支付宝小程序链接失败"); return Result.failed("获取支付宝小程序链接失败");
} }
} }
// 环境是抖音小程序
if (loginType.equals(LoginTypeEnum.TIKTOK.getCode())) { if (loginType.equals(LoginTypeEnum.TIKTOK.getCode())) {
String clientToken = tikTokLoginManager.getClientToken(); String clientToken = tikTokLoginManager.getClientToken();
if (StringUtils.isBlank(clientToken)) { if (StringUtils.isBlank(clientToken)) {
......
...@@ -14,6 +14,9 @@ import java.util.ArrayList; ...@@ -14,6 +14,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* 推荐词服务类
*/
@Service @Service
public class KeywordServiceImpl implements KeywordService { public class KeywordServiceImpl implements KeywordService {
private static final Logger logger = LoggerFactory.getLogger(KeywordServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(KeywordServiceImpl.class);
......
...@@ -6,6 +6,9 @@ import com.wwdz.ch.wx.service.SwitchService; ...@@ -6,6 +6,9 @@ import com.wwdz.ch.wx.service.SwitchService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/**
* 开关服务类
*/
@Service @Service
public class SwitchServiceImpl implements SwitchService { public class SwitchServiceImpl implements SwitchService {
@Autowired @Autowired
......
...@@ -47,6 +47,9 @@ import java.util.HashMap; ...@@ -47,6 +47,9 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
/**
* 用户服务类
*/
@Service @Service
public class UserServiceImpl implements UserService { public class UserServiceImpl implements UserService {
private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);
...@@ -133,8 +136,9 @@ public class UserServiceImpl implements UserService { ...@@ -133,8 +136,9 @@ public class UserServiceImpl implements UserService {
if (!StringUtils.equals(dto.getSmsCode(), object.toString())) { if (!StringUtils.equals(dto.getSmsCode(), object.toString())) {
return Result.failed("验证码不正确"); return Result.failed("验证码不正确");
} }
// 获取登录结果 // 进行登录
Map<String, Object> result = getLoginResult(dto, request); Map<String, Object> result = getLoginResult(dto, request);
// 判断开关状态
Switch switchh = switchService.findOnly(); Switch switchh = switchService.findOnly();
boolean isOpen = Objects.nonNull(switchh) && switchh.getState() == 1; boolean isOpen = Objects.nonNull(switchh) && switchh.getState() == 1;
result.put("isInvited", inviteRecordService.isExisted(dto.getMobile()).getData()); result.put("isInvited", inviteRecordService.isExisted(dto.getMobile()).getData());
...@@ -157,7 +161,9 @@ public class UserServiceImpl implements UserService { ...@@ -157,7 +161,9 @@ public class UserServiceImpl implements UserService {
public Result login(UserRequestDto dto, HttpServletRequest request) { public Result login(UserRequestDto dto, HttpServletRequest request) {
try { try {
String mobile = ""; String mobile = "";
// 根据小程序来源不同调用不同的处理逻辑获取手机号
try { try {
// 来源是微信
if (dto.getLoginType().equals(LoginTypeEnum.WECHAT.getCode())) { if (dto.getLoginType().equals(LoginTypeEnum.WECHAT.getCode())) {
mobile = wxLoginManager.getPhone(dto); mobile = wxLoginManager.getPhone(dto);
if (StringUtils.equals("false", mobile)) { if (StringUtils.equals("false", mobile)) {
...@@ -174,6 +180,7 @@ public class UserServiceImpl implements UserService { ...@@ -174,6 +180,7 @@ public class UserServiceImpl implements UserService {
} }
dto.setWxOpenId(wxLoginManager.getWxOpenId(dto.getLoginCode())); dto.setWxOpenId(wxLoginManager.getWxOpenId(dto.getLoginCode()));
} }
// 来源是支付宝
if (dto.getLoginType().equals(LoginTypeEnum.ALIPAY.getCode())) { if (dto.getLoginType().equals(LoginTypeEnum.ALIPAY.getCode())) {
mobile = alipayLoginManager.getPhone(dto.getEncryptedData()); mobile = alipayLoginManager.getPhone(dto.getEncryptedData());
if (StringUtils.equals("false", mobile)) { if (StringUtils.equals("false", mobile)) {
...@@ -181,6 +188,7 @@ public class UserServiceImpl implements UserService { ...@@ -181,6 +188,7 @@ public class UserServiceImpl implements UserService {
} }
dto.setAlipayUserId(alipayLoginManager.getAlipayUserId(dto.getLoginCode())); dto.setAlipayUserId(alipayLoginManager.getAlipayUserId(dto.getLoginCode()));
} }
// 来源是抖音
if (dto.getLoginType().equals(LoginTypeEnum.TIKTOK.getCode())) { if (dto.getLoginType().equals(LoginTypeEnum.TIKTOK.getCode())) {
String sessionKey = tikTokLoginManager.getSessionKey(dto.getLoginCode()); String sessionKey = tikTokLoginManager.getSessionKey(dto.getLoginCode());
if (StringUtils.isBlank(sessionKey)) { if (StringUtils.isBlank(sessionKey)) {
...@@ -195,9 +203,10 @@ public class UserServiceImpl implements UserService { ...@@ -195,9 +203,10 @@ public class UserServiceImpl implements UserService {
logger.error("获取用户手机号异常", e); logger.error("获取用户手机号异常", e);
return Result.failed("获取用户手机号失败"); return Result.failed("获取用户手机号失败");
} }
// 获取登录结果
dto.setMobile(mobile); dto.setMobile(mobile);
// 进行登录
Map<String, Object> result = getLoginResult(dto, request); Map<String, Object> result = getLoginResult(dto, request);
// 判断开关状态
Switch switchh = switchService.findOnly(); Switch switchh = switchService.findOnly();
boolean isOpen = Objects.nonNull(switchh) && switchh.getState() == 1; boolean isOpen = Objects.nonNull(switchh) && switchh.getState() == 1;
result.put("isInvited", inviteRecordService.isExisted(mobile).getData()); result.put("isInvited", inviteRecordService.isExisted(mobile).getData());
...@@ -446,6 +455,7 @@ public class UserServiceImpl implements UserService { ...@@ -446,6 +455,7 @@ public class UserServiceImpl implements UserService {
Date now = new Date(); Date now = new Date();
User user = userDao.queryByMobile(dto.getMobile()); User user = userDao.queryByMobile(dto.getMobile());
// 判断该手机号是否已经在系统内部注册过,没有则新增
if (Objects.isNull(user)) { if (Objects.isNull(user)) {
user = new User(); user = new User();
user.setUsername(UUID.randomUUID().toString().replace("-", "")); user.setUsername(UUID.randomUUID().toString().replace("-", ""));
...@@ -477,6 +487,7 @@ public class UserServiceImpl implements UserService { ...@@ -477,6 +487,7 @@ public class UserServiceImpl implements UserService {
user.setShareUserId(0L); user.setShareUserId(0L);
userDao.insert(user); userDao.insert(user);
} else { } else {
// 注册过的用户修改最后登录的时间以及绑定微信openid和支付宝user_id
if (StringUtils.isNotBlank(dto.getWxOpenId())) { if (StringUtils.isNotBlank(dto.getWxOpenId())) {
user.setWeixinOpenid(dto.getWxOpenId()); user.setWeixinOpenid(dto.getWxOpenId());
} }
...@@ -512,9 +523,9 @@ public class UserServiceImpl implements UserService { ...@@ -512,9 +523,9 @@ public class UserServiceImpl implements UserService {
String registerDate = simpleDateFormat.format(Objects.isNull(user.getAddTime()) ? new Date() : user.getAddTime()); String registerDate = simpleDateFormat.format(Objects.isNull(user.getAddTime()) ? new Date() : user.getAddTime());
userInfo.setRegisterDate(registerDate); userInfo.setRegisterDate(registerDate);
userInfo.setStatus(user.getStatus()); userInfo.setStatus(user.getStatus());
// 用户层级 // 用户层级(不知道有啥用,保留)
userInfo.setUserLevel(user.getUserLevel()); userInfo.setUserLevel(user.getUserLevel());
// 用户层级描述 // 用户层级描述(不知道有啥用,保留)
userInfo.setUserLevelDesc(UserTypeEnum.getInstance(user.getUserLevel()).getDesc()); userInfo.setUserLevelDesc(UserTypeEnum.getInstance(user.getUserLevel()).getDesc());
result.put("userInfo", userInfo); result.put("userInfo", userInfo);
......
...@@ -21,6 +21,9 @@ import java.util.HashMap; ...@@ -21,6 +21,9 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
/**
* 拦截器
*/
public class LoginInterceptor implements HandlerInterceptor { public class LoginInterceptor implements HandlerInterceptor {
Logger logger = LoggerFactory.getLogger(LoginInterceptor.class); Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
...@@ -42,6 +45,7 @@ public class LoginInterceptor implements HandlerInterceptor { ...@@ -42,6 +45,7 @@ public class LoginInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
logger.info("进入拦截器"); logger.info("进入拦截器");
String token = request.getHeader("Authorization"); String token = request.getHeader("Authorization");
// 判断开关状态
Switch switchh = switchService.findOnly(); Switch switchh = switchService.findOnly();
boolean isOpen = Objects.nonNull(switchh) && switchh.getState() == 1; boolean isOpen = Objects.nonNull(switchh) && switchh.getState() == 1;
logger.info("isOpen:" + isOpen); logger.info("isOpen:" + isOpen);
...@@ -65,6 +69,7 @@ public class LoginInterceptor implements HandlerInterceptor { ...@@ -65,6 +69,7 @@ public class LoginInterceptor implements HandlerInterceptor {
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.getWriter().write(JSON.toJSONString(map)); response.getWriter().write(JSON.toJSONString(map));
} else { } else {
// 拦截类型1放行2未登录3未授权
int loginType = 1; int loginType = 1;
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {
loginType = 2; loginType = 2;
......
...@@ -93,6 +93,12 @@ public class AlipayLoginManager { ...@@ -93,6 +93,12 @@ public class AlipayLoginManager {
return JsonUtils.getValueByPath(plainData, "mobile"); return JsonUtils.getValueByPath(plainData, "mobile");
} }
/**
* 获取支付宝user_id
*
* @param loginCode
* @return
*/
public String getAlipayUserId(String loginCode) { public String getAlipayUserId(String loginCode) {
logger.info("开始解密获取支付宝小程序登录用户的access_token"); logger.info("开始解密获取支付宝小程序登录用户的access_token");
AlipayConfig alipayConfig = new AlipayConfig(); AlipayConfig alipayConfig = new AlipayConfig();
......
...@@ -28,9 +28,9 @@ public class TikTokLoginManager { ...@@ -28,9 +28,9 @@ public class TikTokLoginManager {
@Autowired @Autowired
private ApplicationContext applicationContext; private ApplicationContext applicationContext;
// appid // appid(需要替换)
private static final String appid = "ttc1fcb7415ec18f6f01"; private static final String appid = "ttc1fcb7415ec18f6f01";
// appSecret // appSecret(需要替换)
private static final String appSecret = "1a248c43d69c4bcba48779efac2c6f3ade573ec7"; private static final String appSecret = "1a248c43d69c4bcba48779efac2c6f3ade573ec7";
// 抖音小程序获取session_key的api正式环境 // 抖音小程序获取session_key的api正式环境
......
...@@ -24,10 +24,10 @@ import java.util.Map; ...@@ -24,10 +24,10 @@ import java.util.Map;
public class WxLoginManager { public class WxLoginManager {
private static final Logger logger = LoggerFactory.getLogger(WxLoginManager.class); private static final Logger logger = LoggerFactory.getLogger(WxLoginManager.class);
// 微信小程序appid // 微信小程序appid(需要替换)
private static final String appid = "wx5b4409448bf2c72b"; private static final String appid = "wx5b4409448bf2c72b";
// private static final String appid = "wxb2bc9d1be2d6345c"; // private static final String appid = "wxb2bc9d1be2d6345c";
// 微信小程序secret // 微信小程序secret(需要替换)
private static final String secret = "6fee0d7b2197845fed0a3fe8f5a9bd66"; private static final String secret = "6fee0d7b2197845fed0a3fe8f5a9bd66";
// private static final String secret = "fade0a145eea51cfc89a9e8808f28f04"; // private static final String secret = "fade0a145eea51cfc89a9e8808f28f04";
// 微信小程序获取access_token地址 // 微信小程序获取access_token地址
...@@ -42,6 +42,12 @@ public class WxLoginManager { ...@@ -42,6 +42,12 @@ public class WxLoginManager {
@Autowired @Autowired
private WxMaService wxMaService; private WxMaService wxMaService;
/**
* 获取微信openid
*
* @param loginCode
* @return
*/
public String getWxOpenId(String loginCode) { public String getWxOpenId(String loginCode) {
logger.info("开始获取openId-----------------------"); logger.info("开始获取openId-----------------------");
String openId = ""; String openId = "";
...@@ -55,6 +61,12 @@ public class WxLoginManager { ...@@ -55,6 +61,12 @@ public class WxLoginManager {
return openId; return openId;
} }
/**
* 获取手机号
*
* @param dto
* @return
*/
public String getPhone(UserRequestDto dto) { public String getPhone(UserRequestDto dto) {
String phone = ""; String phone = "";
if (dto.getType() == 1) { if (dto.getType() == 1) {
...@@ -105,6 +117,11 @@ public class WxLoginManager { ...@@ -105,6 +117,11 @@ public class WxLoginManager {
return phone; return phone;
} }
/**
* 获取调用凭证access_token
*
* @return
*/
public String getAccessToken() { public String getAccessToken() {
logger.info("开始获取access_token----------------"); logger.info("开始获取access_token----------------");
try { try {
...@@ -123,6 +140,13 @@ public class WxLoginManager { ...@@ -123,6 +140,13 @@ public class WxLoginManager {
} }
} }
/**
* 获取小程序码二进制流
*
* @param page
* @param scene
* @return
*/
public InputStream getWxacodeStream(String page, String scene) { public InputStream getWxacodeStream(String page, String scene) {
try { try {
String accessToken = getAccessToken(); String accessToken = getAccessToken();
...@@ -139,6 +163,12 @@ public class WxLoginManager { ...@@ -139,6 +163,12 @@ public class WxLoginManager {
} }
} }
/**
* 获取小程序短链接
*
* @param pageUrl
* @return
*/
public String getLink(String pageUrl) { public String getLink(String pageUrl) {
try { try {
String accessToken = getAccessToken(); String accessToken = getAccessToken();
......
...@@ -41,7 +41,7 @@ public interface FavoritesService { ...@@ -41,7 +41,7 @@ public interface FavoritesService {
Result update(FavoritesRequestDto dto); Result update(FavoritesRequestDto dto);
/** /**
* 收藏册基本详情 * 收藏册基本详情(支持后期未登录用户查看)
* *
* @param dto * @param dto
* @return * @return
...@@ -57,7 +57,7 @@ public interface FavoritesService { ...@@ -57,7 +57,7 @@ public interface FavoritesService {
Result favoritesNum(FavoritesRequestDto dto); Result favoritesNum(FavoritesRequestDto dto);
/** /**
* 收藏册下藏品列表 * 收藏册下藏品列表(支持后期未登录用户查看)
* *
* @param dto * @param dto
* @return * @return
......
...@@ -16,7 +16,7 @@ public interface ItemService { ...@@ -16,7 +16,7 @@ public interface ItemService {
Result nameList(ItemRequestDto dto); Result nameList(ItemRequestDto dto);
/** /**
* 首页 * 首页(支持后期未登录用户查看)
* *
* @param dto * @param dto
* @return * @return
...@@ -48,7 +48,7 @@ public interface ItemService { ...@@ -48,7 +48,7 @@ public interface ItemService {
Result add(ItemRequestDto dto); Result add(ItemRequestDto dto);
/** /**
* 藏品详情 * 藏品详情(支持后期未登录用户查看)
* *
* @param dto * @param dto
* @return * @return
......
...@@ -75,7 +75,6 @@ public interface UserService { ...@@ -75,7 +75,6 @@ public interface UserService {
/** /**
* 查询用户信息 * 查询用户信息
* *
* @param dto
* @param request * @param request
* @return * @return
*/ */
......
...@@ -2,6 +2,9 @@ package com.wwdz.ch.wx.util; ...@@ -2,6 +2,9 @@ package com.wwdz.ch.wx.util;
import java.util.Random; import java.util.Random;
/**
* String处理工具类
*/
public class StringUtil { public class StringUtil {
private static final String ALLOWED_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; private static final String ALLOWED_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
......
...@@ -16,6 +16,9 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -16,6 +16,9 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Objects; import java.util.Objects;
/**
* 分类控制器
*/
@RestController @RestController
@RequestMapping("/wx/category") @RequestMapping("/wx/category")
public class WxCategoryController { public class WxCategoryController {
......
package com.wwdz.ch.wx.web; package com.wwdz.ch.wx.web;
import java.util.ArrayList; import com.alibaba.fastjson.JSONObject;
import java.util.HashMap; import com.wwdz.ch.core.util.JacksonUtil;
import java.util.List; import com.wwdz.ch.core.util.ResponseUtil;
import java.util.Map;
import javax.validation.constraints.NotNull;
import com.wwdz.ch.db.dao.ItemDao; import com.wwdz.ch.db.dao.ItemDao;
import com.wwdz.ch.db.dao.dts.DtsCollectDao; import com.wwdz.ch.db.dao.dts.DtsCollectDao;
import com.wwdz.ch.db.domain.CollectObsolete;
import com.wwdz.ch.db.domain.Item; import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.wx.annotation.LoginUser; import com.wwdz.ch.wx.annotation.LoginUser;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
...@@ -16,20 +13,16 @@ import org.slf4j.Logger; ...@@ -16,20 +13,16 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject; import javax.validation.constraints.NotNull;
import com.wwdz.ch.core.util.JacksonUtil; import java.util.ArrayList;
import com.wwdz.ch.core.util.ResponseUtil; import java.util.HashMap;
import com.wwdz.ch.db.domain.CollectObsolete; import java.util.List;
import java.util.Map;
/** /**
* 用户收藏服务 * 用户收藏服务(暂未用)
*/ */
@RestController @RestController
@RequestMapping("/wx/collect") @RequestMapping("/wx/collect")
......
...@@ -19,6 +19,9 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -19,6 +19,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Objects; import java.util.Objects;
/**
* 收藏册控制器
*/
@RestController @RestController
@RequestMapping("/wx/favorites") @RequestMapping("/wx/favorites")
public class WxFavoritesController { public class WxFavoritesController {
......
...@@ -20,7 +20,7 @@ import com.wwdz.ch.db.domain.Feedback; ...@@ -20,7 +20,7 @@ import com.wwdz.ch.db.domain.Feedback;
import com.wwdz.ch.db.domain.User; import com.wwdz.ch.db.domain.User;
/** /**
* 意见反馈服务 * 意见反馈服务(暂未用)
* *
* @author CHENBO * @author CHENBO
* @since 1.0.0 * @since 1.0.0
......
...@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Objects; import java.util.Objects;
/** /**
* 用户访问足迹服务 * 足迹控制器
*/ */
@RestController @RestController
@RequestMapping("/wx/footprint") @RequestMapping("/wx/footprint")
......
...@@ -37,7 +37,7 @@ import java.util.concurrent.ThreadPoolExecutor; ...@@ -37,7 +37,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
* 商品服务 * 商品服务(暂未用)
*/ */
@RestController @RestController
@RequestMapping("/wx/goods") @RequestMapping("/wx/goods")
......
...@@ -22,7 +22,7 @@ import java.util.Map; ...@@ -22,7 +22,7 @@ import java.util.Map;
import java.util.concurrent.*; import java.util.concurrent.*;
/** /**
* 首页服务 * 首页服务(暂未用)
*/ */
@RestController @RestController
@RequestMapping("/wx/home") @RequestMapping("/wx/home")
......
...@@ -16,6 +16,9 @@ import javax.servlet.http.HttpServletRequest; ...@@ -16,6 +16,9 @@ import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Objects; import java.util.Objects;
/**
* 藏品控制器
*/
@RestController @RestController
@RequestMapping("/wx/item") @RequestMapping("/wx/item")
public class WxItemController { public class WxItemController {
......
...@@ -10,6 +10,9 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -10,6 +10,9 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/**
* 推荐词控制器
*/
@RestController @RestController
@RequestMapping("/wx/keyword") @RequestMapping("/wx/keyword")
public class WxKeywordController { public class WxKeywordController {
......
...@@ -26,7 +26,7 @@ import com.wwdz.ch.db.domain.Keyword; ...@@ -26,7 +26,7 @@ import com.wwdz.ch.db.domain.Keyword;
import com.wwdz.ch.db.domain.SearchHistory; import com.wwdz.ch.db.domain.SearchHistory;
/** /**
* 商品搜索服务 * 商品搜索服务(暂未用)
* <p> * <p>
* 注意:目前搜索功能非常简单,只是基于关键字匹配。 * 注意:目前搜索功能非常简单,只是基于关键字匹配。
*/ */
......
package com.wwdz.ch.wx.web; package com.wwdz.ch.wx.web;
import java.io.IOException; import com.alibaba.fastjson.JSONObject;
import java.io.InputStream; import com.wwdz.ch.core.storage.StorageService;
import java.util.*; import com.wwdz.ch.core.util.CharUtil;
import java.util.concurrent.CountDownLatch; import com.wwdz.ch.core.util.ResponseUtil;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import com.wwdz.ch.db.dao.dts.DtsStorageDao; import com.wwdz.ch.db.dao.dts.DtsStorageDao;
import com.wwdz.ch.db.domain.Storage;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -18,22 +16,18 @@ import org.springframework.http.HttpHeaders; ...@@ -18,22 +16,18 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import com.alibaba.fastjson.JSONObject; import java.io.IOException;
import com.wwdz.ch.core.storage.StorageService; import java.io.InputStream;
import com.wwdz.ch.core.util.CharUtil; import java.util.*;
import com.wwdz.ch.core.util.ResponseUtil; import java.util.concurrent.CountDownLatch;
import com.wwdz.ch.db.domain.Storage; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/** /**
* 对象存储服务 * 对象存储服务(暂未用)
*/ */
@RestController @RestController
@RequestMapping("/wx/storage") @RequestMapping("/wx/storage")
......
package com.wwdz.ch.wx.web; package com.wwdz.ch.wx.web;
import java.time.LocalDateTime; import com.alibaba.fastjson.JSONObject;
import com.wwdz.ch.core.util.ResponseUtil;
import javax.validation.constraints.NotNull;
import com.wwdz.ch.db.dao.dts.DtsUserDao; import com.wwdz.ch.db.dao.dts.DtsUserDao;
import com.wwdz.ch.db.dao.dts.DtsUserFormIdDao; import com.wwdz.ch.db.dao.dts.DtsUserFormIdDao;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.UserFormidObsolete;
import com.wwdz.ch.wx.annotation.LoginUser; import com.wwdz.ch.wx.annotation.LoginUser;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -15,11 +15,12 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -15,11 +15,12 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject; import javax.validation.constraints.NotNull;
import com.wwdz.ch.core.util.ResponseUtil; import java.time.LocalDateTime;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.UserFormidObsolete;
/**
* 暂未用
*/
@RestController @RestController
@RequestMapping("/wx/formid") @RequestMapping("/wx/formid")
@Validated @Validated
......
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