启动报错
This commit is contained in:
parent
26dd8ed13a
commit
05f29a264e
@ -7,6 +7,7 @@
|
||||
Source Host : 192.168.0.116:3306
|
||||
Source Schema : lilishop
|
||||
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 80023
|
||||
File Encoding : 65001
|
||||
|
@ -16,9 +16,6 @@ spring.mail.username=1814994716@qq.com
|
||||
spring.mail.password=abcdefg123456!@#$%^
|
||||
# 日志文件路径
|
||||
logging.file.path=lili-logs/admin
|
||||
<<<<<<< HEAD
|
||||
lili.data.logstash.server=106.124.130.167:4560
|
||||
=======
|
||||
>>>>>>> ae0c4aea12996d3d72eca7c6ccdc97922373e4d7
|
||||
# 文件格式
|
||||
logging.pattern.file=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx
|
||||
|
@ -29,7 +29,7 @@ spring:
|
||||
type: redis
|
||||
# Redis
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
host: 101.43.251.145
|
||||
port: 6379
|
||||
password: lilishop
|
||||
lettuce:
|
||||
@ -60,8 +60,7 @@ spring:
|
||||
default-datasource:
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://192.168.0.116:3306/clerk?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
url: jdbc:mysql://127.0.0.1:3306/lilishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
url: jdbc:mysql://101.43.251.145:3306/clerk?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: lilishop
|
||||
maxActive: 50
|
||||
@ -270,7 +269,7 @@ lili:
|
||||
data:
|
||||
elasticsearch:
|
||||
cluster-name: elasticsearch
|
||||
cluster-nodes: 127.0.0.1:9200
|
||||
cluster-nodes: 101.43.251.145:9200
|
||||
index:
|
||||
number-of-replicas: 0
|
||||
number-of-shards: 3
|
||||
@ -281,7 +280,7 @@ lili:
|
||||
# password: LiLiShopES
|
||||
|
||||
logstash:
|
||||
server: 127.0.0.1:4560
|
||||
server: 101.43.251.145:4560
|
||||
rocketmq:
|
||||
promotion-topic: lili_promotion_topic
|
||||
promotion-group: lili_promotion_group
|
||||
@ -302,7 +301,7 @@ lili:
|
||||
after-sale-topic: lili_after_sale_topic
|
||||
after-sale-group: lili_after_sale_group
|
||||
rocketmq:
|
||||
name-server: 127.0.0.1:9876
|
||||
name-server: 101.43.251.145:9876
|
||||
isVIPChannel: false
|
||||
producer:
|
||||
group: lili_group
|
||||
@ -311,7 +310,7 @@ rocketmq:
|
||||
xxl:
|
||||
job:
|
||||
admin:
|
||||
addresses: http://127.0.0.1:9001/xxl-job-admin
|
||||
addresses: http://101.43.251.145:9001/xxl-job-admin
|
||||
executor:
|
||||
appname: xxl-job-executor-lilishop
|
||||
address:
|
||||
|
@ -473,6 +473,10 @@ public enum CachePrefix {
|
||||
* 店铺分类
|
||||
*/
|
||||
STORE_CATEGORY,
|
||||
/**
|
||||
* 用户菜单
|
||||
*/
|
||||
MENU_USER_ID,
|
||||
/**
|
||||
* 用户菜单
|
||||
* <p>
|
||||
|
@ -74,7 +74,7 @@ public class GlobalControllerExceptionHandler {
|
||||
}
|
||||
return ResultUtil.error(ResultCode.ERROR.code(), errorMsg);
|
||||
}
|
||||
|
||||
/*
|
||||
@ExceptionHandler(ConstraintViolationException.class)
|
||||
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
|
||||
public ResultMessage<Object> constraintExceptionHandler(HttpServletRequest request, final Exception e, HttpServletResponse response) {
|
||||
@ -82,7 +82,7 @@ public class GlobalControllerExceptionHandler {
|
||||
log.error("全局异常[RuntimeException]:", e);
|
||||
|
||||
return ResultUtil.error(001, e.getMessage());
|
||||
}
|
||||
}*/
|
||||
|
||||
@ExceptionHandler(RuntimeException.class)
|
||||
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
|
||||
|
@ -7,6 +7,7 @@ import cn.hutool.json.JSONUtil;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsOperationDTO;
|
||||
import cn.lili.modules.goods.entity.dto.GoodsOperationFuLuDTO;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsAuthEnum;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsSalesModeEnum;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
||||
|
@ -59,14 +59,6 @@ public interface GoodsService extends IService<Goods> {
|
||||
*/
|
||||
void addGoods(GoodsOperationDTO goodsOperationDTO);
|
||||
|
||||
|
||||
/**
|
||||
* 添加福禄商品
|
||||
*
|
||||
* @param goodsOperationFuLuDTO 商品查询条件
|
||||
*/
|
||||
void fuLuAddGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO);
|
||||
|
||||
/**
|
||||
* 修改商品
|
||||
*
|
||||
@ -75,14 +67,6 @@ public interface GoodsService extends IService<Goods> {
|
||||
*/
|
||||
void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId);
|
||||
|
||||
/**
|
||||
* 修改商品
|
||||
*
|
||||
* @param goodsOperationDTO 商品查询条件
|
||||
* @param goodsId 商品ID
|
||||
*/
|
||||
void fuLuEditGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO, String goodsId);
|
||||
|
||||
/**
|
||||
* 查询商品VO
|
||||
*
|
||||
|
@ -181,30 +181,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void fuLuAddGoods(GoodsOperationFuLuDTO goodsOperationDTO) {
|
||||
Goods goods = new Goods(goodsOperationDTO);
|
||||
//检查商品
|
||||
this.checkGoods(goods);
|
||||
//向goods加入图片
|
||||
if (goodsOperationDTO.getGoodsGalleryList().size() > 0 ) {
|
||||
this.setGoodsGalleryParam(goodsOperationDTO.getGoodsGalleryList().get(0), goods);
|
||||
}
|
||||
//添加商品参数
|
||||
if (goodsOperationDTO.getGoodsParamsDTOList() != null && !goodsOperationDTO.getGoodsParamsDTOList().isEmpty()) {
|
||||
//给商品参数填充值
|
||||
goods.setParams(JSONUtil.toJsonStr(goodsOperationDTO.getGoodsParamsDTOList()));
|
||||
}
|
||||
//添加商品
|
||||
this.save(goods);
|
||||
//添加商品sku信息
|
||||
this.goodsSkuService.add(goodsOperationDTO.getSkuList(), goods);
|
||||
//添加相册
|
||||
if (goodsOperationDTO.getGoodsGalleryList() != null && !goodsOperationDTO.getGoodsGalleryList().isEmpty()) {
|
||||
this.goodsGalleryService.add(goodsOperationDTO.getGoodsGalleryList(), goods.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -234,32 +210,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void fuLuEditGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO, String goodsId) {
|
||||
Goods goods = new Goods(goodsOperationFuLuDTO);
|
||||
goods.setId(goodsId);
|
||||
//检查商品信息
|
||||
this.checkGoods(goods);
|
||||
//向goods加入图片
|
||||
this.setGoodsGalleryParam(goodsOperationFuLuDTO.getGoodsGalleryList().get(0), goods);
|
||||
//添加商品参数
|
||||
if (goodsOperationFuLuDTO.getGoodsParamsDTOList() != null && !goodsOperationFuLuDTO.getGoodsParamsDTOList().isEmpty()) {
|
||||
goods.setParams(JSONUtil.toJsonStr(goodsOperationFuLuDTO.getGoodsParamsDTOList()));
|
||||
}
|
||||
//修改商品
|
||||
this.updateById(goods);
|
||||
//修改商品sku信息
|
||||
this.goodsSkuService.update(goodsOperationFuLuDTO.getSkuList(), goods, goodsOperationFuLuDTO.getRegeneratorSkuFlag());
|
||||
//添加相册
|
||||
if (goodsOperationFuLuDTO.getGoodsGalleryList() != null && !goodsOperationFuLuDTO.getGoodsGalleryList().isEmpty()) {
|
||||
this.goodsGalleryService.add(goodsOperationFuLuDTO.getGoodsGalleryList(), goods.getId());
|
||||
}
|
||||
if (GoodsAuthEnum.TOBEAUDITED.name().equals(goods.getAuthFlag())) {
|
||||
this.deleteEsGoods(Collections.singletonList(goodsId));
|
||||
}
|
||||
cache.remove(CachePrefix.GOODS.getPrefix() + goodsId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GoodsVO getGoodsVO(String goodsId) {
|
||||
//缓存获取,如果没有则读取缓存
|
||||
|
@ -4,7 +4,6 @@ import cn.lili.mybatis.BaseIdEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -33,8 +32,5 @@ public class StoreClerkRole extends BaseIdEntity {
|
||||
this.roleId = roleId;
|
||||
}
|
||||
|
||||
public StoreClerkRole() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,10 @@ public class ManagerMemberEditDTO {
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "会员用户名,用户名不能进行修改", required = true)
|
||||
@NotNull(message = "会员用户名不能为空")
|
||||
private String username;
|
||||
|
||||
@ApiModelProperty(value = "会员密码")
|
||||
private String password;
|
||||
|
||||
|
@ -24,7 +24,6 @@ import java.util.Map;
|
||||
* @since 2020-02-25 14:10:16
|
||||
*/
|
||||
public interface MemberService extends IService<Member> {
|
||||
|
||||
/**
|
||||
* 默认密码
|
||||
*/
|
||||
@ -97,6 +96,16 @@ public interface MemberService extends IService<Member> {
|
||||
*/
|
||||
Member modifyPass(String memberId, String oldPassword, String newPassword);
|
||||
|
||||
/**
|
||||
* 注册会员
|
||||
*
|
||||
* @param userName 会员
|
||||
* @param password 密码
|
||||
* @param mobilePhone mobilePhone
|
||||
* @return 处理结果
|
||||
*/
|
||||
Token register(String userName, String password, String mobilePhone);
|
||||
|
||||
/**
|
||||
* 是否可以初始化密码
|
||||
*
|
||||
@ -119,17 +128,6 @@ public interface MemberService extends IService<Member> {
|
||||
* @return 操作结果
|
||||
*/
|
||||
void cancellation(String password);
|
||||
|
||||
/**
|
||||
* 注册会员
|
||||
*
|
||||
* @param userName 会员
|
||||
* @param password 密码
|
||||
* @param mobilePhone mobilePhone
|
||||
* @return 处理结果
|
||||
*/
|
||||
Token register(String userName, String password, String mobilePhone);
|
||||
|
||||
/**
|
||||
* 修改当前会员的手机号
|
||||
*
|
||||
@ -268,7 +266,7 @@ public interface MemberService extends IService<Member> {
|
||||
*/
|
||||
void resetPassword(List<String> ids);
|
||||
|
||||
/*
|
||||
/**
|
||||
* 获取所有会员的手机号
|
||||
*
|
||||
* @return 所有会员的手机号
|
||||
@ -285,7 +283,6 @@ public interface MemberService extends IService<Member> {
|
||||
|
||||
/**
|
||||
* 获取用户VO
|
||||
*
|
||||
* @param id 会员id
|
||||
* @return 用户VO
|
||||
*/
|
||||
|
@ -5,11 +5,9 @@ import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.lili.cache.Cache;
|
||||
import cn.lili.cache.CachePrefix;
|
||||
import cn.lili.common.aop.annotation.DemoSite;
|
||||
import cn.lili.common.context.ThreadContextHolder;
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.enums.SwitchEnum;
|
||||
import cn.lili.common.event.TransactionCommitSendMQEvent;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.properties.RocketmqCustomProperties;
|
||||
import cn.lili.common.security.AuthUser;
|
||||
@ -17,7 +15,11 @@ import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.common.security.token.Token;
|
||||
import cn.lili.common.sensitive.SensitiveWordsFilter;
|
||||
import cn.lili.common.utils.*;
|
||||
import cn.lili.common.utils.BeanUtil;
|
||||
import cn.lili.common.utils.CookieUtil;
|
||||
import cn.lili.common.utils.StringUtils;
|
||||
import cn.lili.common.utils.SnowFlake;
|
||||
import cn.lili.common.utils.UuidUtils;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.connect.config.ConnectAuthEnum;
|
||||
import cn.lili.modules.connect.entity.Connect;
|
||||
@ -37,6 +39,7 @@ import cn.lili.modules.store.entity.dos.Store;
|
||||
import cn.lili.modules.store.entity.enums.StoreStatusEnum;
|
||||
import cn.lili.modules.store.service.StoreService;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
|
||||
import cn.lili.rocketmq.tags.MemberTagsEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@ -44,8 +47,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationEventPublisher;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -89,9 +92,11 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
*/
|
||||
@Autowired
|
||||
private RocketmqCustomProperties rocketmqCustomProperties;
|
||||
|
||||
/**
|
||||
* RocketMQ
|
||||
*/
|
||||
@Autowired
|
||||
private ApplicationEventPublisher applicationEventPublisher;
|
||||
private RocketMQTemplate rocketMQTemplate;
|
||||
/**
|
||||
* 缓存
|
||||
*/
|
||||
@ -116,17 +121,12 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean findByMobile(String uuid, String mobile) {
|
||||
public Member findByMobile(String mobile) {
|
||||
QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("mobile", mobile);
|
||||
Member member = this.baseMapper.selectOne(queryWrapper);
|
||||
if (member == null) {
|
||||
throw new ServiceException(ResultCode.USER_NOT_PHONE);
|
||||
return this.baseMapper.selectOne(queryWrapper);
|
||||
}
|
||||
cache.put(CachePrefix.FIND_MOBILE + uuid, mobile, 300L);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token usernameLogin(String username, String password) {
|
||||
@ -181,7 +181,6 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Token autoRegister(ConnectAuthUser authUser) {
|
||||
|
||||
if (CharSequenceUtil.isEmpty(authUser.getNickname())) {
|
||||
@ -195,12 +194,11 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
Member member = new Member(username, UuidUtils.getUUID(), authUser.getAvatar(), authUser.getNickname(),
|
||||
authUser.getGender() != null ? Convert.toInt(authUser.getGender().getCode()) : 0);
|
||||
registerHandler(member);
|
||||
member.setPassword(DEFAULT_PASSWORD);
|
||||
//绑定登录方式
|
||||
loginBindUser(member, authUser.getUuid(), authUser.getSource());
|
||||
return memberTokenGenerate.createToken(member, false);
|
||||
} catch (ServiceException e) {
|
||||
log.error("自动注册服务抛出异常:", e);
|
||||
log.error("自动注册服务泡出异常:", e);
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
log.error("自动注册异常:", e);
|
||||
@ -225,7 +223,6 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Token mobilePhoneLogin(String mobilePhone) {
|
||||
QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("mobile", mobilePhone);
|
||||
@ -244,46 +241,13 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
*
|
||||
* @param member
|
||||
*/
|
||||
@Transactional
|
||||
public void registerHandler(Member member) {
|
||||
private void registerHandler(Member member) {
|
||||
member.setId(SnowFlake.getIdStr());
|
||||
//保存会员
|
||||
this.save(member);
|
||||
// 发送会员注册信息
|
||||
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_REGISTER.name(), member));
|
||||
String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_REGISTER.name();
|
||||
rocketMQTemplate.asyncSend(destination, member, RocketmqSendCallbackBuilder.commonCallback());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Member editOwn(MemberEditDTO memberEditDTO) {
|
||||
//查询会员信息
|
||||
Member member = this.findByUsername(Objects.requireNonNull(UserContext.getCurrentUser()).getUsername());
|
||||
//传递修改会员信息
|
||||
BeanUtil.copyProperties(memberEditDTO, member);
|
||||
//修改会员
|
||||
this.updateById(member);
|
||||
return member;
|
||||
}
|
||||
|
||||
@Override
|
||||
@DemoSite
|
||||
public Member modifyPass(String oldPassword, String newPassword) {
|
||||
AuthUser tokenUser = UserContext.getCurrentUser();
|
||||
if (tokenUser == null) {
|
||||
throw new ServiceException(ResultCode.USER_NOT_LOGIN);
|
||||
}
|
||||
Member member = this.getById(tokenUser.getId());
|
||||
//判断旧密码输入是否正确
|
||||
if (!new BCryptPasswordEncoder().matches(oldPassword, member.getPassword())) {
|
||||
throw new ServiceException(ResultCode.USER_OLD_PASSWORD_ERROR);
|
||||
}
|
||||
//修改会员密码
|
||||
LambdaUpdateWrapper<Member> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
|
||||
lambdaUpdateWrapper.eq(Member::getId, member.getId());
|
||||
lambdaUpdateWrapper.set(Member::getPassword, new BCryptPasswordEncoder().encode(newPassword));
|
||||
this.update(lambdaUpdateWrapper);
|
||||
return member;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInitPass() {
|
||||
AuthUser tokenUser = UserContext.getCurrentUser();
|
||||
@ -342,8 +306,34 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
this.updateById(member);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@Override
|
||||
public Member editOwn(MemberEditDTO memberEditDTO) {
|
||||
//查询会员信息
|
||||
Member member = this.findByUsername(Objects.requireNonNull(UserContext.getCurrentUser()).getUsername());
|
||||
//传递修改会员信息
|
||||
BeanUtil.copyProperties(memberEditDTO, member);
|
||||
//修改会员
|
||||
this.updateById(member);
|
||||
return member;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Member modifyPass(String memberId, String oldPassword, String newPassword) {
|
||||
Member member = this.getById(memberId);
|
||||
//判断旧密码输入是否正确
|
||||
if (!new BCryptPasswordEncoder().matches(oldPassword, member.getPassword())) {
|
||||
throw new ServiceException(ResultCode.USER_OLD_PASSWORD_ERROR);
|
||||
}
|
||||
//修改会员密码
|
||||
LambdaUpdateWrapper<Member> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
|
||||
lambdaUpdateWrapper.eq(Member::getId, member.getId());
|
||||
lambdaUpdateWrapper.set(Member::getPassword, new BCryptPasswordEncoder().encode(newPassword));
|
||||
this.update(lambdaUpdateWrapper);
|
||||
return member;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Token register(String userName, String password, String mobilePhone) {
|
||||
//检测会员信息
|
||||
checkMember(userName, mobilePhone);
|
||||
@ -351,7 +341,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
Member member = new Member(userName, new BCryptPasswordEncoder().encode(password), mobilePhone);
|
||||
//注册成功后用户自动登录
|
||||
registerHandler(member);
|
||||
return memberTokenGenerate.createToken(member, false);
|
||||
Token token = memberTokenGenerate.createToken(member, false);
|
||||
return token;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -388,7 +379,6 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Member addMember(MemberAddDTO memberAddDTO) {
|
||||
|
||||
//检测会员信息
|
||||
@ -402,16 +392,21 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
|
||||
@Override
|
||||
public Member updateMember(ManagerMemberEditDTO managerMemberEditDTO) {
|
||||
//判断是否用户登录并且会员ID为当前登录会员ID
|
||||
AuthUser tokenUser = UserContext.getCurrentUser();
|
||||
if (tokenUser == null) {
|
||||
throw new ServiceException(ResultCode.USER_NOT_LOGIN);
|
||||
}
|
||||
//过滤会员昵称敏感词
|
||||
if (StringUtils.isNotBlank(managerMemberEditDTO.getNickName())) {
|
||||
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(managerMemberEditDTO.getNickName())) {
|
||||
managerMemberEditDTO.setNickName(SensitiveWordsFilter.filter(managerMemberEditDTO.getNickName()));
|
||||
}
|
||||
//如果密码不为空则加密密码
|
||||
if (StringUtils.isNotBlank(managerMemberEditDTO.getPassword())) {
|
||||
if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(managerMemberEditDTO.getPassword())) {
|
||||
managerMemberEditDTO.setPassword(new BCryptPasswordEncoder().encode(managerMemberEditDTO.getPassword()));
|
||||
}
|
||||
//查询会员信息
|
||||
Member member = this.getById(managerMemberEditDTO.getId());
|
||||
Member member = this.findByUsername(managerMemberEditDTO.getUsername());
|
||||
//传递修改会员信息
|
||||
BeanUtil.copyProperties(managerMemberEditDTO, member);
|
||||
this.updateById(member);
|
||||
@ -464,7 +459,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
memberPointMessage.setPoint(point);
|
||||
memberPointMessage.setType(type);
|
||||
memberPointMessage.setMemberId(memberId);
|
||||
applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("update member point", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_POINT_CHANGE.name(), memberPointMessage));
|
||||
String destination = rocketmqCustomProperties.getMemberTopic() + ":" + MemberTagsEnum.MEMBER_POINT_CHANGE.name();
|
||||
rocketMQTemplate.asyncSend(destination, memberPointMessage, RocketmqSendCallbackBuilder.commonCallback());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -488,10 +484,10 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
* @param mobilePhone 手机号
|
||||
* @return 会员
|
||||
*/
|
||||
private Long findMember(String mobilePhone, String userName) {
|
||||
private Long findMember(String userName,String mobilePhone) {
|
||||
QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("mobile", mobilePhone)
|
||||
.or().eq("username", userName);
|
||||
.eq("username", userName);
|
||||
return this.baseMapper.selectCount(queryWrapper);
|
||||
}
|
||||
|
||||
@ -641,6 +637,31 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateHaveShop(Boolean haveStore, String storeId, List<String> memberIds) {
|
||||
List<Member> members = this.baseMapper.selectBatchIds(memberIds);
|
||||
if (members.size() > 0) {
|
||||
members.forEach(member -> {
|
||||
member.setHaveStore(haveStore);
|
||||
if (haveStore) {
|
||||
member.setStoreId(storeId);
|
||||
} else {
|
||||
member.setStoreId(null);
|
||||
}
|
||||
});
|
||||
this.updateBatchById(members);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetPassword(List<String> ids) {
|
||||
String password = new BCryptPasswordEncoder().encode(StringUtils.md5("123456"));
|
||||
LambdaUpdateWrapper<Member> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
|
||||
lambdaUpdateWrapper.in(Member::getId, ids);
|
||||
lambdaUpdateWrapper.set(Member::getPassword, password);
|
||||
this.update(lambdaUpdateWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有会员的手机号
|
||||
*
|
||||
@ -678,8 +699,9 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
|
||||
*/
|
||||
private void checkMember(String userName, String mobilePhone) {
|
||||
//判断手机号是否存在
|
||||
if (findMember(mobilePhone, userName) > 0) {
|
||||
if (findMember(userName, mobilePhone) > 0) {
|
||||
throw new ServiceException(ResultCode.USER_EXIST);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -43,13 +43,6 @@ public interface OrderService extends IService<Order> {
|
||||
*/
|
||||
Order getBySn(String orderSn);
|
||||
|
||||
/**
|
||||
* 获取订单
|
||||
*
|
||||
* @param receivableNo 微信支付单号
|
||||
* @return 订单信息
|
||||
*/
|
||||
Order getOrderByReceivableNo(String receivableNo);
|
||||
|
||||
/**
|
||||
* 订单查询
|
||||
@ -293,10 +286,4 @@ public interface OrderService extends IService<Order> {
|
||||
*/
|
||||
boolean checkFictitiousOrder(String pintuanId, Integer requiredNum, Boolean fictitious);
|
||||
|
||||
/**
|
||||
* 验证福禄订单进行处理
|
||||
* @param tradeNo 第三方流水
|
||||
*
|
||||
*/
|
||||
void fuluOrder(String tradeNo);
|
||||
}
|
@ -336,6 +336,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
return this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getSn, orderSn));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void payOrder(String orderSn, String paymentMethod, String receivableNo) {
|
||||
|
@ -178,107 +178,4 @@ public class GoodsStoreController {
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "新增商品(minShengLotteryRecordService商品迁移)")
|
||||
@PostMapping(value = "/fuluCreate")
|
||||
public ResultMessage<GoodsOperationDTO> fuluSave() throws Exception {
|
||||
String storeId = Objects.requireNonNull(UserContext.getCurrentUser()).getStoreId();
|
||||
GoodsOperationFuLuDTO goodsOperationDTO = new GoodsOperationFuLuDTO();
|
||||
|
||||
FuLuConfigureDTO fuLuConfigureDTO = storeDetailService.getFuLuConfigureDTO();
|
||||
//获取并解析福禄商品数据
|
||||
Map maps = (Map) JSON.parse(Test.getGoodsInfoList(fuLuConfigureDTO));
|
||||
if (!maps.get("code").toString().equals("0")) {
|
||||
return ResultUtil.error(201, "商品不存在或配置参数错误");
|
||||
}
|
||||
int i = 0;
|
||||
List<Map<String, String>> listObjectSec = JSONArray.parseObject(maps.get("result").toString(), List.class);
|
||||
for (Map<String, String> mapList : listObjectSec) {
|
||||
if (listObjectSec.size() <= 0) {
|
||||
break;
|
||||
}
|
||||
for (Map.Entry entry : mapList.entrySet()) {
|
||||
if (entry.getKey().equals("product_id")) {
|
||||
Map map1 = (Map) JSON.parse(Test.productInfoGetTest(fuLuConfigureDTO, entry.getValue().toString()).get("result").toString());
|
||||
if (map1.get("product_type").toString().equals("直充")) {
|
||||
goodsOperationDTO.setCategoryPath("1496301573515636737");//分类path
|
||||
} else if (map1.get("product_type").toString().equals("卡密")) {
|
||||
goodsOperationDTO.setCategoryPath("1496301573515636737");//分类path
|
||||
} else {
|
||||
//不是直充也不是卡密需要修改代码
|
||||
continue;
|
||||
}
|
||||
|
||||
List<Goods> goodsList = goodsService.list(
|
||||
new LambdaQueryWrapper<Goods>()
|
||||
.eq(Goods::getStoreId, storeId)
|
||||
.eq(Goods::getSn, map1.get("product_id").toString())
|
||||
.eq(Goods::getDeleteFlag, false)
|
||||
);
|
||||
|
||||
goodsOperationDTO.setStoreCategoryPath("");//店铺分类id
|
||||
goodsOperationDTO.setBrandId("1496301301183672321");//品牌ID
|
||||
goodsOperationDTO.setGoodsName(map1.get("product_name").toString());//商品名称
|
||||
goodsOperationDTO.setSn(map1.get("product_id").toString());//商品编号
|
||||
goodsOperationDTO.setPrice(Double.valueOf(map1.get("purchase_price").toString()));//商品价格
|
||||
goodsOperationDTO.setCost(Double.valueOf(map1.get("purchase_price").toString()));//市场价格
|
||||
goodsOperationDTO.setWeight(Double.valueOf("0"));//重量
|
||||
goodsOperationDTO.setIntro(map1.get("product_name").toString());//详情
|
||||
goodsOperationDTO.setMobileIntro(map1.get("product_name").toString());//移动端详情
|
||||
goodsOperationDTO.setQuantity(99999999);//库存
|
||||
goodsOperationDTO.setRelease(true);//是否立即发布
|
||||
goodsOperationDTO.setRecommend(true);//是否是推荐商品
|
||||
goodsOperationDTO.setGoodsParamsDTOList(new ArrayList<>());//商品参数
|
||||
List<String> goodsGalleryList = new ArrayList<>();
|
||||
if (map1.containsKey("four_category_icon") && map1.get("four_category_icon") != null) {
|
||||
goodsGalleryList.add(map1.get("four_category_icon").toString());
|
||||
}
|
||||
goodsOperationDTO.setGoodsGalleryList(goodsGalleryList);
|
||||
goodsOperationDTO.setTemplateId("0");//运费模板id,不需要运费模板时值是0
|
||||
goodsOperationDTO.setSellingPoint(map1.get("product_name").toString());
|
||||
goodsOperationDTO.setSalesModel("RETAIL");//销售模式
|
||||
// goodsOperationDTO.setHaveSpec();//是否有规格
|
||||
goodsOperationDTO.setGoodsUnit("个");//销售模式1471044596808024065
|
||||
goodsOperationDTO.setInfo(map1.get("product_name").toString());//商品描述
|
||||
goodsOperationDTO.setGoodsType("VIRTUAL_GOODS");//商品类型
|
||||
|
||||
|
||||
// goodsOperationDTO.setGoodsVideo();//商品视频
|
||||
|
||||
List<Map<String, Object>> mapArrayList = new ArrayList<>();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("sn", goodsOperationDTO.getSn());
|
||||
map.put("price", goodsOperationDTO.getPrice());
|
||||
map.put("cost", goodsOperationDTO.getCost());
|
||||
map.put("weight", goodsOperationDTO.getWeight());
|
||||
map.put("quantity", goodsOperationDTO.getQuantity());
|
||||
map.put("category_path", "1496301573515636737");
|
||||
|
||||
if (map1.containsKey("four_category_icon") && map1.get("four_category_icon") != null) {
|
||||
List<Map<String, String>> images = new ArrayList<>();
|
||||
Map<String, String> map2 = new HashMap<>();
|
||||
map2.put("url", map1.get("four_category_icon").toString());
|
||||
images.add(map2);
|
||||
map.put("images", images);
|
||||
}
|
||||
|
||||
mapArrayList.add(map);
|
||||
goodsOperationDTO.setSkuList(mapArrayList);//sku列表
|
||||
|
||||
if (goodsList.size() > 0) {
|
||||
goodsService.fuLuEditGoods(goodsOperationDTO, goodsList.get(0).getId());
|
||||
} else {
|
||||
goodsService.fuLuAddGoods(goodsOperationDTO);
|
||||
}
|
||||
i += 1;
|
||||
break;
|
||||
}
|
||||
if (i == 1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user