From 05f29a264eec0412fb24a7c14c9c8ab4d9fef7ac Mon Sep 17 00:00:00 2001 From: fengtianyangyang <5411465+feng_tianyangyang@user.noreply.gitee.com> Date: Tue, 9 Aug 2022 20:26:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E5=8A=A8=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DB/li_notice_message.sql | 1 + .../src/main/resources/application.properties | 3 - config/application.yml | 13 +- .../main/java/cn/lili/cache/CachePrefix.java | 4 + .../GlobalControllerExceptionHandler.java | 4 +- .../lili/modules/goods/entity/dos/Goods.java | 1 + .../modules/goods/service/GoodsService.java | 16 -- .../goods/serviceimpl/GoodsServiceImpl.java | 50 ------ .../member/entity/dos/StoreClerkRole.java | 4 - .../entity/dto/ManagerMemberEditDTO.java | 4 + .../modules/member/service/MemberService.java | 27 ++-- .../member/serviceimpl/MemberServiceImpl.java | 150 ++++++++++-------- .../order/order/service/OrderService.java | 13 -- .../order/serviceimpl/OrderServiceImpl.java | 1 + .../goods/GoodsStoreController.java | 103 ------------ 15 files changed, 117 insertions(+), 277 deletions(-) diff --git a/DB/li_notice_message.sql b/DB/li_notice_message.sql index bafd8a04..90de51ce 100644 --- a/DB/li_notice_message.sql +++ b/DB/li_notice_message.sql @@ -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 diff --git a/admin/src/main/resources/application.properties b/admin/src/main/resources/application.properties index 9ce7c75b..5f433f01 100644 --- a/admin/src/main/resources/application.properties +++ b/admin/src/main/resources/application.properties @@ -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 diff --git a/config/application.yml b/config/application.yml index 03a5a775..acb8ac31 100644 --- a/config/application.yml +++ b/config/application.yml @@ -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: diff --git a/framework/src/main/java/cn/lili/cache/CachePrefix.java b/framework/src/main/java/cn/lili/cache/CachePrefix.java index b2b77006..26fbfc08 100644 --- a/framework/src/main/java/cn/lili/cache/CachePrefix.java +++ b/framework/src/main/java/cn/lili/cache/CachePrefix.java @@ -473,6 +473,10 @@ public enum CachePrefix { * 店铺分类 */ STORE_CATEGORY, + /** + * 用户菜单 + */ + MENU_USER_ID, /** * 用户菜单 *

diff --git a/framework/src/main/java/cn/lili/common/exception/GlobalControllerExceptionHandler.java b/framework/src/main/java/cn/lili/common/exception/GlobalControllerExceptionHandler.java index 56e99398..57d1a852 100644 --- a/framework/src/main/java/cn/lili/common/exception/GlobalControllerExceptionHandler.java +++ b/framework/src/main/java/cn/lili/common/exception/GlobalControllerExceptionHandler.java @@ -74,7 +74,7 @@ public class GlobalControllerExceptionHandler { } return ResultUtil.error(ResultCode.ERROR.code(), errorMsg); } - +/* @ExceptionHandler(ConstraintViolationException.class) @ResponseStatus(value = HttpStatus.BAD_REQUEST) public ResultMessage 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) diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java index 7a079046..60481941 100644 --- a/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java +++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java index 1232cff6..845eab50 100644 --- a/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java +++ b/framework/src/main/java/cn/lili/modules/goods/service/GoodsService.java @@ -59,14 +59,6 @@ public interface GoodsService extends IService { */ void addGoods(GoodsOperationDTO goodsOperationDTO); - - /** - * 添加福禄商品 - * - * @param goodsOperationFuLuDTO 商品查询条件 - */ - void fuLuAddGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO); - /** * 修改商品 * @@ -75,14 +67,6 @@ public interface GoodsService extends IService { */ void editGoods(GoodsOperationDTO goodsOperationDTO, String goodsId); - /** - * 修改商品 - * - * @param goodsOperationDTO 商品查询条件 - * @param goodsId 商品ID - */ - void fuLuEditGoods(GoodsOperationFuLuDTO goodsOperationFuLuDTO, String goodsId); - /** * 查询商品VO * diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java index f4045f16..3bb706e9 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsServiceImpl.java @@ -181,30 +181,6 @@ public class GoodsServiceImpl extends ServiceImpl 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 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) { //缓存获取,如果没有则读取缓存 diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dos/StoreClerkRole.java b/framework/src/main/java/cn/lili/modules/member/entity/dos/StoreClerkRole.java index c268ae88..4f4bd5c1 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dos/StoreClerkRole.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dos/StoreClerkRole.java @@ -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() { - - } } diff --git a/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java b/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java index 2f83b11f..13f9c165 100644 --- a/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java +++ b/framework/src/main/java/cn/lili/modules/member/entity/dto/ManagerMemberEditDTO.java @@ -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; diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java index 3dc81232..c831d94c 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java @@ -24,7 +24,6 @@ import java.util.Map; * @since 2020-02-25 14:10:16 */ public interface MemberService extends IService { - /** * 默认密码 */ @@ -97,6 +96,16 @@ public interface MemberService extends IService { */ 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 { * @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 { */ void resetPassword(List ids); - /* + /** * 获取所有会员的手机号 * * @return 所有会员的手机号 @@ -283,9 +281,8 @@ public interface MemberService extends IService { */ boolean updateMemberLoginTime(String memberId); - /** + /** * 获取用户VO - * * @param id 会员id * @return 用户VO */ diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 0194434b..8e514172 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -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 impleme */ @Autowired private RocketmqCustomProperties rocketmqCustomProperties; - + /** + * RocketMQ + */ @Autowired - private ApplicationEventPublisher applicationEventPublisher; + private RocketMQTemplate rocketMQTemplate; /** * 缓存 */ @@ -116,18 +121,13 @@ public class MemberServiceImpl extends ServiceImpl impleme } @Override - public boolean findByMobile(String uuid, String mobile) { + public Member findByMobile(String mobile) { QueryWrapper 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 impleme } @Override - @Transactional public Token autoRegister(ConnectAuthUser authUser) { if (CharSequenceUtil.isEmpty(authUser.getNickname())) { @@ -195,12 +194,11 @@ public class MemberServiceImpl extends ServiceImpl 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 impleme } @Override - @Transactional public Token mobilePhoneLogin(String mobilePhone) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("mobile", mobilePhone); @@ -244,46 +241,13 @@ public class MemberServiceImpl extends ServiceImpl 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 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 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 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 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 impleme } @Override - @Transactional public Member addMember(MemberAddDTO memberAddDTO) { //检测会员信息 @@ -402,16 +392,21 @@ public class MemberServiceImpl extends ServiceImpl 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 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 impleme * @param mobilePhone 手机号 * @return 会员 */ - private Long findMember(String mobilePhone, String userName) { + private Long findMember(String userName,String mobilePhone) { QueryWrapper 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 impleme } } + @Override + public void updateHaveShop(Boolean haveStore, String storeId, List memberIds) { + List 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 ids) { + String password = new BCryptPasswordEncoder().encode(StringUtils.md5("123456")); + LambdaUpdateWrapper 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 impleme */ private void checkMember(String userName, String mobilePhone) { //判断手机号是否存在 - if (findMember(mobilePhone, userName) > 0) { + if (findMember(userName, mobilePhone) > 0) { throw new ServiceException(ResultCode.USER_EXIST); } } + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java index a2b0ac94..3740bb08 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java @@ -43,13 +43,6 @@ public interface OrderService extends IService { */ Order getBySn(String orderSn); - /** - * 获取订单 - * - * @param receivableNo 微信支付单号 - * @return 订单信息 - */ - Order getOrderByReceivableNo(String receivableNo); /** * 订单查询 @@ -293,10 +286,4 @@ public interface OrderService extends IService { */ boolean checkFictitiousOrder(String pintuanId, Integer requiredNum, Boolean fictitious); - /** - * 验证福禄订单进行处理 - * @param tradeNo 第三方流水 - * - */ - void fuluOrder(String tradeNo); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 01c61f60..757b2a95 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -336,6 +336,7 @@ public class OrderServiceImpl extends ServiceImpl implements return this.getOne(new LambdaQueryWrapper().eq(Order::getSn, orderSn)); } + @Override @Transactional(rollbackFor = Exception.class) public void payOrder(String orderSn, String paymentMethod, String receivableNo) { diff --git a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java index 54060f85..4a56f96a 100644 --- a/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/goods/GoodsStoreController.java @@ -178,107 +178,4 @@ public class GoodsStoreController { return ResultUtil.success(); } - - @ApiOperation(value = "新增商品(minShengLotteryRecordService商品迁移)") - @PostMapping(value = "/fuluCreate") - public ResultMessage 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> listObjectSec = JSONArray.parseObject(maps.get("result").toString(), List.class); - for (Map 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 goodsList = goodsService.list( - new LambdaQueryWrapper() - .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 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> mapArrayList = new ArrayList<>(); - Map 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> images = new ArrayList<>(); - Map 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(); - } - }