登陆授权修改,数据配置用常量替代,增加获取距离工具类等

This commit is contained in:
hupeng
2020-03-25 12:26:27 +08:00
parent 3f8163de14
commit e1b0b98cbc
21 changed files with 163 additions and 28 deletions

View File

@ -14,6 +14,7 @@ import cn.hutool.core.util.StrUtil;
import co.yixiang.annotation.AnonymousAccess;
import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController;
import co.yixiang.constant.ShopConstants;
import co.yixiang.modules.activity.service.YxStoreSeckillService;
import co.yixiang.modules.activity.web.dto.SeckillConfigDTO;
import co.yixiang.modules.activity.web.dto.SeckillTimeDTO;
@ -100,7 +101,8 @@ public class StoreSeckillController extends BaseController {
//获取秒杀配置
AtomicInteger seckillTimeIndex = new AtomicInteger();
SeckillConfigDTO seckillConfigDTO = new SeckillConfigDTO();
List<YxSystemGroupData> yxSystemGroupDataList = yxSystemGroupDataService.list(new QueryWrapper<YxSystemGroupData>().eq("group_name", "routine_seckill_time"));
List<YxSystemGroupData> yxSystemGroupDataList = yxSystemGroupDataService.list(new QueryWrapper<YxSystemGroupData>()
.eq("group_name", ShopConstants.YSHOP_SECKILL_TIME));
List<SeckillTimeDTO> list = new ArrayList<>();
int today = OrderUtil.dateToTimestampT(DateUtil.beginOfDay(new Date()));
yxSystemGroupDataList.forEach(i -> {

View File

@ -151,6 +151,13 @@ public class AuthController {
@RequestParam(value = "spread") String spread,
HttpServletRequest request) {
/**
* 公众号与小程序打通说明:
* 1、打通方式以UnionId方式需要去注册微信开放平台
* 2、目前登陆授权打通方式适用于新项目也就是你yx_user、yx_wechat_user都是空的
* 3、如果你以前已经有数据请自行处理
*/
try {
WxMpService wxService = WxMpConfiguration.getWxMpService();
WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxService.oauth2getAccessToken(code);
@ -183,6 +190,7 @@ public class AuthController {
user.setPwd(passwordEncoder.encode(ShopConstants.YSHOP_DEFAULT_PWD));
user.setPhone("");
user.setUserType(AppFromEnum.WECHAT.getValue());
user.setLoginType(AppFromEnum.WECHAT.getValue());
user.setAddTime(OrderUtil.getSecondTimestampTwo());
user.setLastTime(OrderUtil.getSecondTimestampTwo());
user.setNickname(nickname);
@ -224,9 +232,15 @@ public class AuthController {
wechatUserService.save(yxWechatUser);
//jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wxMpUser.getOpenId());
}else{
username = yxUser.getUsername();
if(StrUtil.isNotBlank(wxMpUser.getOpenId()) && StrUtil.isNotBlank(wxMpUser.getUnionId())){
YxWechatUser wechatUser = new YxWechatUser();
wechatUser.setUid(yxUser.getUid());
wechatUser.setUnionid(wxMpUser.getUnionId());
wechatUserService.updateById(wechatUser);
}
}
@ -279,6 +293,12 @@ public class AuthController {
@ApiOperation(value = "小程序登陆", notes = "小程序登陆")
public ApiResult<Object> login(@Validated @RequestBody LoginParam loginParam,
HttpServletRequest request) {
/**
* 公众号与小程序打通说明:
* 1、打通方式以UnionId方式需要去注册微信开放平台
* 2、目前登陆授权打通方式适用于新项目也就是你yx_user、yx_wechat_user都是空的
* 3、如果你以前已经有数据请自行处理
*/
String code = loginParam.getCode();
String encryptedData = loginParam.getEncryptedData();
String iv = loginParam.getIv();
@ -304,10 +324,6 @@ public class AuthController {
YxUser yxUser = userService.findByName(openid);
String username = "";
// JwtUser jwtUser = null;
// if (ObjectUtil.isNotNull(yxUser)) {
// jwtUser = (JwtUser) userDetailsService.loadUserByUsername(openid);
// } else
if(ObjectUtil.isNull(yxUser)){
WxMaUserInfo wxMpUser = wxMaService.getUserService()
@ -362,12 +378,18 @@ public class AuthController {
wechatUserService.save(yxWechatUser);
//jwtUser = (JwtUser) userDetailsService.loadUserByUsername(wxMpUser.getOpenId());
}else{
username = yxUser.getUsername();
if(StrUtil.isNotBlank(session.getOpenid()) && StrUtil.isNotBlank(session.getUnionid())){
YxWechatUser wechatUser = new YxWechatUser();
wechatUser.setUid(yxUser.getUid());
wechatUser.setUnionid(session.getUnionid());
wechatUserService.updateById(wechatUser);
}
}
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(username,
ShopConstants.YSHOP_DEFAULT_PWD);

View File

@ -157,7 +157,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<YxStoreProductMap
//门店
productDTO.setSystemStore(systemStoreService.getStoreInfo());
productDTO.setMapKey(RedisUtil.get("store_self_mention"));
productDTO.setMapKey(RedisUtil.get("tengxun_map_key"));
return productDTO;
}

View File

@ -1,5 +1,6 @@
package co.yixiang.modules.shop.service.impl;
import co.yixiang.enums.CommonEnum;
import co.yixiang.modules.shop.entity.YxSystemStore;
import co.yixiang.modules.shop.mapper.YxSystemStoreMapper;
import co.yixiang.modules.shop.mapping.SystemStoreMap;
@ -43,8 +44,13 @@ public class YxSystemStoreServiceImpl extends BaseServiceImpl<YxSystemStoreMappe
@Override
public YxSystemStoreQueryVo getStoreInfo() {
YxSystemStore systemStore = new YxSystemStore();
systemStore.setIsDel(0);
YxSystemStore yxSystemStore = yxSystemStoreMapper.selectOne(Wrappers.query(systemStore));
systemStore.setIsDel(CommonEnum.DEL_STATUS_0.getValue());
systemStore.setIsShow(CommonEnum.SHOW_STATUS_1.getValue());
YxSystemStore yxSystemStore = yxSystemStoreMapper.selectOne(
Wrappers
.query(systemStore)
.orderByDesc("id")
.last("limit 1"));
if(yxSystemStore == null) return null;
String mention = RedisUtil.get("store_self_mention");
if(mention == null || Integer.valueOf(mention) == 2) return null;

View File

@ -57,11 +57,11 @@ public class IndexController {
Map<String,Object> map = new LinkedHashMap<>();
//banner
map.put("banner",systemGroupDataService.getDatas("routine_home_banner"));
map.put("banner",systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_BANNER));
//首页按钮
map.put("menus",systemGroupDataService.getDatas("routine_home_menus"));
map.put("menus",systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_MENUS));
//首页活动区域图片
map.put("activity",systemGroupDataService.getDatas("routine_home_activity"));
map.put("activity",new String[]{});
//精品推荐
@ -74,7 +74,7 @@ public class IndexController {
map.put("likeInfo",storeProductService.getList(1,3,4));
//滚动
map.put("roll",systemGroupDataService.getDatas("routine_home_roll_news"));
map.put("roll",systemGroupDataService.getDatas(ShopConstants.YSHOP_HOME_ROLL_NEWS));
return ApiResult.ok(map);
}
@ -83,7 +83,7 @@ public class IndexController {
@GetMapping("/search/keyword")
@ApiOperation(value = "热门搜索关键字获取",notes = "热门搜索关键字获取")
public ApiResult<List<String>> search(){
List<Map<String,Object>> list = systemGroupDataService.getDatas("routine_hot_search");
List<Map<String,Object>> list = systemGroupDataService.getDatas(ShopConstants.YSHOP_HOT_SEARCH);
List<String> stringList = new ArrayList<>();
for (Map<String,Object> map : list) {
stringList.add(map.get("title").toString());

View File

@ -13,6 +13,7 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.web.vo.Paging;
import co.yixiang.constant.ShopConstants;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.shop.service.YxSystemGroupDataService;
import co.yixiang.modules.user.entity.YxUser;
@ -67,15 +68,13 @@ public class YxUserSignServiceImpl extends BaseServiceImpl<YxUserSignMapper, YxU
/**
* 用户签到
* @param uid
*/
@Override
public int sign(int uid) {
List<Map<String,Object>> list = systemGroupDataService.getDatas("sign_day_num");
List<Map<String,Object>> list = systemGroupDataService.getDatas(ShopConstants.YSHOP_SIGN_DAY_NUM);
if(ObjectUtil.isNull(list)) throw new ErrorRequestException("请先配置签到天数");
YxUserQueryVo userQueryVo = yxUserService.getYxUserById(uid);

View File

@ -12,6 +12,7 @@ import co.yixiang.annotation.AnonymousAccess;
import co.yixiang.aop.log.Log;
import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController;
import co.yixiang.constant.ShopConstants;
import co.yixiang.modules.order.service.YxStoreOrderService;
import co.yixiang.modules.shop.service.YxStoreProductRelationService;
import co.yixiang.modules.shop.service.YxSystemGroupDataService;
@ -85,7 +86,7 @@ public class UserController extends BaseController {
@ApiOperation(value = "获取个人中心菜单",notes = "获取个人中心菜单")
public ApiResult<Map<String,Object>> userMenu(){
Map<String,Object> map = new LinkedHashMap<>();
map.put("routine_my_menus",systemGroupDataService.getDatas("routine_my_menus"));
map.put("routine_my_menus",systemGroupDataService.getDatas(ShopConstants.YSHOP_MY_MENUES));
return ApiResult.ok(map);
}
@ -185,7 +186,7 @@ public class UserController extends BaseController {
@GetMapping("/sign/config")
@ApiOperation(value = "签到配置",notes = "签到配置")
public ApiResult<Object> signConfig(){
return ApiResult.ok(systemGroupDataService.getDatas("sign_day_num"));
return ApiResult.ok(systemGroupDataService.getDatas(ShopConstants.YSHOP_SIGN_DAY_NUM));
}
/**

View File

@ -14,6 +14,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController;
import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.BillDetailEnum;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.shop.service.YxSystemConfigService;
@ -72,7 +73,7 @@ public class UserRechargeController extends BaseController {
@ApiOperation(value = "充值方案",notes = "充值方案",response = ApiResult.class)
public ApiResult<Object> getWays(){
Map<String,Object> map = new LinkedHashMap<>();
map.put("recharge_price_ways",systemGroupDataService.getDatas("recharge_price_ways"));
map.put("recharge_price_ways",systemGroupDataService.getDatas(ShopConstants.YSHOP_RECHARGE_PRICE_WAYS));
return ApiResult.ok(map);
}

View File

@ -60,7 +60,7 @@ jwt:
# 必须使用最少88位的Base64对该令牌进行编码
base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
# 令牌过期时间 此处单位/毫秒 默认2小时可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
token-validity-in-seconds: 7200000
token-validity-in-seconds: 72000000
# 在线用户key
online-key: m-online-token
@ -81,7 +81,7 @@ swagger:
enabled: true
title: yshop商城移动端API
serverUrl: http://localhost:8009
version: 2.0
version: 2.1
# 文件存储路径
file: