启动报错

This commit is contained in:
fengtianyangyang
2022-08-09 20:26:40 +08:00
parent 26dd8ed13a
commit 05f29a264e
15 changed files with 117 additions and 277 deletions

View File

@@ -473,6 +473,10 @@ public enum CachePrefix {
* 店铺分类
*/
STORE_CATEGORY,
/**
* 用户菜单
*/
MENU_USER_ID,
/**
* 用户菜单
* <p>

View File

@@ -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)

View File

@@ -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;

View File

@@ -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
*

View File

@@ -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) {
//缓存获取,如果没有则读取缓存

View File

@@ -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() {
}
}

View File

@@ -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;

View File

@@ -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 所有会员的手机号
@@ -283,9 +281,8 @@ public interface MemberService extends IService<Member> {
*/
boolean updateMemberLoginTime(String memberId);
/**
/**
* 获取用户VO
*
* @param id 会员id
* @return 用户VO
*/

View File

@@ -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,18 +121,13 @@ 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);
}
cache.put(CachePrefix.FIND_MOBILE + uuid, mobile, 300L);
return true;
return this.baseMapper.selectOne(queryWrapper);
}
@Override
public Token usernameLogin(String username, String password) {
Member member = this.findMember(username);
@@ -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);
}
}
}

View File

@@ -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);
}

View File

@@ -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) {