ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/CouponMember.java
File was renamed from ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/CouponMember.java @@ -1,4 +1,4 @@ package com.ruoyi.promotion.domain; package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java
@@ -98,7 +98,7 @@ @ApiModelProperty(value = "1未认证,2已认证") private Integer isAuthentication; @ApiModelProperty(value = "后天对应id") @ApiModelProperty(value = "后台对应id") private Long userId; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMiniLoginDTO.java
@@ -18,4 +18,7 @@ @ApiModelProperty("1支付宝 , 2微信") private Integer type; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/CouponMemberDTO.java
File was renamed from ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/forepart/dto/CouponMemberDTO.java @@ -1,4 +1,4 @@ package com.ruoyi.promotion.controller.forepart.dto; package com.ruoyi.system.api.domain.dto; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModelProperty; @@ -6,6 +6,10 @@ @Data public class CouponMemberDTO extends BasePage { @ApiModelProperty(value = "优惠卷id") private Long id; @ApiModelProperty(value = "会员id") private Long memberId; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java
@@ -10,6 +10,8 @@ @Data public class MemberOrderDTO { @ApiModelProperty("订单id") private Long id; @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单") private Integer orderFrom; @@ -43,4 +45,7 @@ private Integer paymentMethod; @ApiModelProperty(value = "订单备注") private String orderRemark; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
@@ -91,6 +91,11 @@ } @Override public R<?> updGoodsSeckill(GoodsStockUpdDTO goodsStockUpdDTOS, String source) { return null; } @Override public R<List<GoodsSku>> getGoodsListByIds(Collection<Long> goodsIdList, String source) { return R.fail("根据商品id集合查询商品列表失败:" + cause.getMessage()); ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
@@ -81,6 +81,10 @@ R<?> updGoodsStock(@RequestBody List<GoodsStockUpdDTO> goodsStockUpdDTOS, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PutMapping("/goods-seckill/updGoodsSeckill") R<?> updGoodsSeckill(@RequestBody GoodsStockUpdDTO goodsStockUpdDTOS, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 根据商品id集合查询商品 * ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java
@@ -32,13 +32,13 @@ R<List<Member>> getMemberListByIds(@RequestParam("memberIdList") Set<Long> memberIdList, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/member/miniLogin") @PostMapping("/forepart/member/miniLogin") public R<AppMiniLoginVO> miniLogin(@RequestBody AppMiniLoginDTO appMiniLoginDto); @PostMapping("/forepart/auction-salesroom/actionMiniLogin") public R<AppMiniLoginVO> actionMiniLogin(@RequestBody AppMiniLoginDTO appMiniLoginDto); @PostMapping("/member/miniRegister") @PostMapping("/forepart/member/miniRegister") public R<AppMiniLoginVO> miniRegister(@RequestBody AppMiniRegisterDTO appUserRegisterDto); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java
@@ -21,4 +21,10 @@ @PostMapping("/promotion-video/getPromotionVideoOne") R<PromotionVideo> getPromotionVideoOne(Long promotionVideoId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/coupon-member/getCouponMember") R<CouponMember> getCouponMember(@RequestBody CouponMemberDTO couponMemberDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/config/AppConfig.java
@@ -28,8 +28,8 @@ @Bean public WxMaConfig memberWxMaConfig(){ WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); config.setAppid("wxb7f0ea286fc4e535"); config.setSecret("852a2512a6ab559cafc68bae5d4160ac"); config.setAppid("wxe91f1af7638aa5dd"); config.setSecret("a787e1a462715604e0c9528b6d8960d1"); return config; } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -2,6 +2,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; @@ -150,9 +151,9 @@ //微信 private static final String ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/token"; private static final String WX_APPID = "wxb7f0ea286fc4e535"; private static final String WX_APPID = "wxe91f1af7638aa5dd"; private static final String WX_SECRET = "852a2512a6ab559cafc68bae5d4160ac"; private static final String WX_SECRET = "a787e1a462715604e0c9528b6d8960d1"; @Resource private AuctionBidRecordMapper auctionBidRecordMapper; ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java
@@ -6,15 +6,12 @@ import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; 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.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> @@ -39,6 +36,17 @@ GoodsSeckill GoodsSeckillOne = goodsSeckillService.getById(goodsSkuId); return R.ok(GoodsSeckillOne); } @InnerAuth @PutMapping("/updGoodsSeckill") R<?> updGoodsSeckill(@RequestBody GoodsStockUpdDTO goodsStockUpdDTOS) { GoodsSeckill GoodsSeckillOne = goodsSeckillService.getById(goodsStockUpdDTOS); GoodsSeckillOne.setSeckillStock(goodsStockUpdDTOS.getAuctionStock()); goodsSeckillService.updateById(GoodsSeckillOne); return R.ok(); } /** * 开始秒杀 * ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSeckillDTO.java
@@ -9,6 +9,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import lombok.Data; import com.ruoyi.goods.controller.management.dto.GoodsSkuInfoDTO; /** * @author mitao ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java
@@ -13,6 +13,8 @@ import javax.validation.constraints.NotNull; import lombok.Data; import com.ruoyi.goods.controller.management.dto.GoodsInfoTitleValueDTO; /** * @author mitao * @date 2024/5/20 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java
@@ -3,6 +3,7 @@ import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.system.api.constants.DelayTaskEnum; import com.ruoyi.system.api.domain.DelayTask; import com.ruoyi.system.api.domain.GoodsGroupPurchase; ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -45,6 +45,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * <p> * 商品团购表 服务实现类 @@ -58,7 +60,8 @@ @RequiredArgsConstructor public class GoodsGroupPurchaseServiceImpl extends ServiceImpl<GoodsGroupPurchaseMapper, GoodsGroupPurchase> implements IGoodsGroupPurchaseService { private final OrderClient orderClient; @Resource private OrderClient orderClient; private final IGoodsSkuService goodsSkuService; private final AsyncMethodService asyncMethodService; private final RedisService redisService; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/config/AppConfig.java
@@ -27,8 +27,8 @@ @Bean public WxMaConfig memberWxMaConfig(){ WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); config.setAppid("wxb7f0ea286fc4e535"); config.setSecret("852a2512a6ab559cafc68bae5d4160ac"); config.setAppid("wxe91f1af7638aa5dd"); config.setSecret("a787e1a462715604e0c9528b6d8960d1"); return config; } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
@@ -70,9 +70,9 @@ //微信 private static final String ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/token"; private static final String WX_APPID = "wxb7f0ea286fc4e535"; private static final String WX_APPID = "wxe91f1af7638aa5dd"; private static final String WX_SECRET = "852a2512a6ab559cafc68bae5d4160ac"; private static final String WX_SECRET = "a787e1a462715604e0c9528b6d8960d1"; //支付寶 /** @@ -92,7 +92,7 @@ /** * appID **/ private static final String APP_ID_PROD = "2021003196653501"; private static final String APP_ID_PROD = "wxe91f1af7638aa5dd"; /** * 私钥 */ @@ -111,6 +111,7 @@ @Resource private RedisService redisService; @Override public AppMiniLoginVO loginThird(AppMiniLoginDTO appMiniLoginDto) { @@ -149,11 +150,37 @@ SysUser sysUser = null; if (member != null) { sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } appMiniLoginVo.setZfbuserid(response.getUserId()); appMiniLoginVo.setSysUser(sysUser); appMiniLoginVo.setMemberid(member.getId()); redisService.setCacheObject(SecurityConstant.SESSION_KEY + response.getUserId(), null, 1L, TimeUnit.DAYS); }else{ //创建新用户 String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); sysUser.setUserName(memberId); sysUser.setUserType("03"); sysUser.setNickName("白金用户"); sysUser.setPhonenumber(response.getUserId()); sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); String password = "123456"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); sysUser = sysUserService.registerUser(sysUser).getData(); member = new Member(); member.setUserId(sysUser.getUserId()); member.setDelFlag(0); member.setNickname("白酒用户"); member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); member.setZfbOpenid(response.getUserId()); this.save(member); appMiniLoginVo.setMiniOpenid(member.getMiniOpenid()); appMiniLoginVo.setWxUnionid(member.getWxUnionid()); appMiniLoginVo.setSysUser(sysUser); appMiniLoginVo.setMemberid(member.getId()); } } } }else{ @@ -180,11 +207,49 @@ if (member != null) { sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } appMiniLoginVo.setMiniOpenid(openid); appMiniLoginVo.setWxUnionid(unionid); appMiniLoginVo.setMemberid(member.getId()); LambdaQueryWrapper<Member> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(Member::getMiniOpenid,openid); Member member1=this.getOne(wrapper); if (member1==null){ //创建新用户 String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); sysUser.setUserName(memberId); sysUser.setUserType("03"); sysUser.setNickName("白金用户"); sysUser.setPhonenumber(openid); sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); String password = "123456"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); sysUser = sysUserService.registerUser(sysUser).getData(); member = new Member(); member.setUserId(sysUser.getUserId()); member.setDelFlag(0); member.setNickname("白酒用户"); member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); member.setWxUnionid(unionid); member.setMiniOpenid(openid); this.save(member); appMiniLoginVo.setMiniOpenid(member.getMiniOpenid()); appMiniLoginVo.setWxUnionid(member.getWxUnionid()); appMiniLoginVo.setSysUser(sysUser); appMiniLoginVo.setSessionKey(sessionKey); appMiniLoginVo.setMemberid(member.getId()); } else { sysUser = sysUserService.getSysUser(member.getUserId()).getData(); appMiniLoginVo.setMiniOpenid(member.getMiniOpenid()); appMiniLoginVo.setWxUnionid(member.getWxUnionid()); appMiniLoginVo.setSysUser(sysUser); appMiniLoginVo.setMemberid(member.getId()); } redisService.setCacheObject(SecurityConstant.SESSION_KEY + openid, sessionKey, 1L, TimeUnit.DAYS); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java
@@ -33,4 +33,10 @@ return R.ok(orderService.saveMemberOrder(memberOrderDTO)); } @PostMapping("/updMemberOrder") @ApiOperation(value = "用户端-修改订单") public R<MemberTiOrderVO> updMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO) { return R.ok(orderService.updMemberOrder(memberOrderDTO)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
@@ -5,6 +5,7 @@ import java.util.List; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.vo.OrderVO; import org.apache.ibatis.annotations.Param; @@ -26,6 +27,8 @@ */ Integer getSeckillMembers(@Param("id") Long id); Integer getSeckillMembers1(MemberOrderDTO memberOrderDTO); /** * 根据团购商品id获取团购商品订单 * ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
@@ -52,5 +52,7 @@ MemberTiOrderVO saveMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO); MemberTiOrderVO updMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,10 +1,12 @@ package com.ruoyi.order.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.domain.OrderMall; import com.ruoyi.order.mapper.OrderMapper; @@ -12,9 +14,7 @@ import com.ruoyi.order.service.IOrderService; import com.ruoyi.order.util.OrderUtil; import com.ruoyi.system.api.domain.*; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.dto.OrderDTO; import com.ruoyi.system.api.domain.dto.*; import java.math.BigDecimal; import java.time.LocalDateTime; @@ -27,6 +27,7 @@ import com.ruoyi.system.api.domain.vo.OrderVO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.PromotionClient; import org.springframework.stereotype.Service; /** @@ -50,6 +51,9 @@ @Resource private MemberClient memberClient; @Resource private PromotionClient promotionClient; @Override @@ -162,6 +166,15 @@ if (memberOrderDTO.getOrderFrom()==1){ GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO.setAuctionStock(memberOrderDTO.getGoodsQuantity()*-1); goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); } memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); memberOrderVO.setCoverPic(goodsSku.getCoverPic()); @@ -178,6 +191,17 @@ memberOrderVO.setSkuName(goodsSku.getSkuName()); memberOrderVO.setYouhiPrice(data.getSeckillPrice()); pice=data.getSeckillPrice(); if (data.getSeckillStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()-memberOrderDTO.getGoodsQuantity()); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER); } } if (memberOrderDTO.getOrderFrom()==3){ order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS); @@ -197,6 +221,12 @@ order.setTotalAmount(pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); order.setOrderStatus(OrderStatusEnum.TO_PLAY); if (memberOrderDTO.getOrderFrom()==3){ order.setReceiverName(memberOrderDTO.getReceiverName()); order.setReceiverCity(memberOrderDTO.getReceiverCity()); order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress()); order.setReceiverphone(memberOrderDTO.getReceiverphone()); }else{ MemberAddress data = memberClient.getMemberAddressOne( memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData(); if (StringUtils.isNotNull(data)) { @@ -205,6 +235,8 @@ order.setReceiverDetailAddress(data.getDetailedAddress()); order.setReceiverphone(data.getRecipientPhone()); } } baseMapper.insert(order); OrderMall orderMall=new OrderMall(); @@ -219,12 +251,149 @@ orderMall.setActivityId(memberOrderDTO.getGoodsSkuId()); } orderMallService.save(orderMall); memberOrderVO.setId(order.getId()); memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY); memberOrderVO.setOrderNo(order.getOrderNo()); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setOrderTime(order.getOrderTime()); memberOrderVO.setOrderFrom(order.getOrderFrom()); return null; memberOrderVO.setMemberId(memberOrderDTO.getMemberId()); memberOrderVO.setPaymentMethod(order.getPaymentMethod()); memberOrderVO.setTotalAmount(order.getTotalAmount()); memberOrderVO.setOrderStatus(order.getOrderStatus()); memberOrderVO.setGoodsQuantity(order.getGoodsQuantity()); memberOrderVO.setReceiverName(order.getReceiverName()); memberOrderVO.setReceiverCity(order.getReceiverCity()); memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress()); memberOrderVO.setReceiverphone(order.getReceiverphone()); return memberOrderVO; } @Override public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) { Order order = baseMapper.selectById(memberOrderDTO.getId()); MemberTiOrderVO memberOrderVO=new MemberTiOrderVO(); if (memberOrderDTO.getReceiverDetailAddress()!=null){ order.setReceiverName(memberOrderDTO.getReceiverName()); order.setReceiverCity(memberOrderDTO.getReceiverCity()); order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress()); order.setReceiverphone(memberOrderDTO.getReceiverphone()); } if (memberOrderDTO.getOrderRemark()!=null){ order.setOrderRemark(memberOrderDTO.getOrderRemark()); }if (memberOrderDTO.getGoodsQuantity()!=null){ if (order.getOrderFrom().getCode()==1){ GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO.setAuctionStock(order.getGoodsQuantity()*1); goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO1.setAuctionStock(memberOrderDTO.getGoodsQuantity()*-1); goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); order.setTotalAmount(goodsSku.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); memberOrderVO.setCoverPic(goodsSku.getCoverPic()); memberOrderVO.setSkuName(goodsSku.getSkuName()); } } if (order.getOrderFrom().getCode()==2){ MemberOrderDTO memberOrderDTO1=new MemberOrderDTO(); memberOrderDTO1.setMemberId(memberOrderDTO.getMemberId()); memberOrderDTO1.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); Integer num=baseMapper.getSeckillMembers1(memberOrderDTO1); GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (data.getLimitNumber()<=num){ throw new ServiceException("对不起,大于商品购买数"); }else{ if (data.getSeckillStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(data.getId()); goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(data.getId()); goodsStockUpdDTO1.setAuctionStock(data.getSeckillStock()-memberOrderDTO.getGoodsQuantity()); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER); order.setTotalAmount(data.getSeckillPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); } } memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); memberOrderVO.setCoverPic(goodsSku.getCoverPic()); memberOrderVO.setSkuName(goodsSku.getSkuName()); memberOrderVO.setYouhiPrice(data.getSeckillPrice()); } } if (memberOrderDTO.getCouponId()!=null){ CouponMemberDTO couponMemberDTO=new CouponMemberDTO(); couponMemberDTO.setId(memberOrderDTO.getCouponId()); CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData(); BigDecimal pice=new BigDecimal(0); if (data.getCouponType().getCode()==1){ pice= order.getTotalAmount(); if (pice.doubleValue()>=data.getFullReductionAmount().doubleValue()){ pice.subtract(data.getReductionAmount()); } } if (data.getCouponType().getCode()==2){ pice= order.getTotalAmount(); pice.subtract(data.getVoucherAmount()); } if (data.getCouponType().getCode()==3){ pice= order.getTotalAmount(); BigDecimal pice1=new BigDecimal(data.getDiscountRate()); BigDecimal pice2=new BigDecimal(0.1); BigDecimal pice3=pice.multiply(pice1.multiply(pice2)); BigDecimal pice4= pice.subtract(pice3); if (pice4.doubleValue()>data.getMaxDiscount().doubleValue()){ pice=pice.subtract(data.getMaxDiscount()); }else{ pice=pice3; } } order.setTotalAmount(pice); } baseMapper.updateById(order); memberOrderVO.setId(order.getId()); memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY); memberOrderVO.setOrderNo(order.getOrderNo()); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setOrderTime(order.getOrderTime()); memberOrderVO.setOrderFrom(order.getOrderFrom()); memberOrderVO.setMemberId(memberOrderDTO.getMemberId()); memberOrderVO.setPaymentMethod(order.getPaymentMethod()); memberOrderVO.setTotalAmount(order.getTotalAmount()); memberOrderVO.setOrderStatus(order.getOrderStatus()); memberOrderVO.setGoodsQuantity(order.getGoodsQuantity()); memberOrderVO.setReceiverName(order.getReceiverName()); memberOrderVO.setReceiverCity(order.getReceiverCity()); memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress()); memberOrderVO.setReceiverphone(order.getReceiverphone()); memberOrderVO.setYouhiPrice(order.getDiscountMoney()); return memberOrderVO; } } ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -14,6 +14,20 @@ GROUP BY o.member_id </select> <select id="getSeckillMembers1" resultType="com.ruoyi.system.api.domain.dto.MemberOrderDTO"> SELECT ifnull(SUM(o.goods_quantity), 0) FROM t_order_mall om LEFT JOIN t_order o ON om.order_id = o.id WHERE om.goods_sku_id = #{goodsSkuId} AND o.order_status IN (2 , 3) and o.member_id =#{memberId} </select> <select id="getOrderByGroupPurchaseId" resultType="com.ruoyi.system.api.domain.Order" parameterType="java.lang.Long"> SELECT ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/forepart/ForepartCouponMemberController.java
@@ -3,8 +3,8 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.promotion.controller.forepart.dto.CouponMemberDTO; import com.ruoyi.promotion.domain.CouponMember; import com.ruoyi.system.api.domain.dto.CouponMemberDTO; import com.ruoyi.system.api.domain.CouponMember; import com.ruoyi.promotion.service.ICouponMemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -12,7 +12,6 @@ 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.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/inner/CouponMemberController.java
New file @@ -0,0 +1,37 @@ package com.ruoyi.promotion.controller.inner; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.CouponMemberDTO; import com.ruoyi.system.api.domain.CouponMember; import com.ruoyi.promotion.service.ICouponMemberService; import io.swagger.annotations.Api; 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.RestController; import javax.annotation.Resource; /** * <p> * 优惠券领取表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @RestController @RequestMapping("/coupon-member") @Api(value = "用户端-获取用户优惠卷", tags = "用户端-获取用户优惠卷", description = "用户端-获取用户优惠卷") public class CouponMemberController { @Resource private ICouponMemberService iCouponMemberService; @PostMapping("/getCouponMember") public R<CouponMember> getCouponMember(@RequestBody CouponMemberDTO couponMemberDTO) { return R.ok(iCouponMemberService.getCouponMember(couponMemberDTO)); } } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/inner/PromotionVideoController.java
New file @@ -0,0 +1,46 @@ package com.ruoyi.promotion.controller.inner; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.promotion.service.IPromotionVideoService; import com.ruoyi.system.api.domain.PromotionVideo; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** * <p> * 视频表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @RestController @RequestMapping("/promotion-video") public class PromotionVideoController { @Resource private IPromotionVideoService iPromotionVideoService; @PostMapping("/getPromotionVideoList") @InnerAuth public R<List<PromotionVideo>> getPromotionVideoList() { List<PromotionVideo> list = iPromotionVideoService.list(new LambdaQueryWrapper<PromotionVideo>().eq(PromotionVideo::getDelFlag,0)); return R.ok(list); } @PostMapping("/getPromotionVideoOne") @ResponseBody @InnerAuth public R<PromotionVideo> getPromotionVideoOne(@RequestBody Long promotionVideoId) { PromotionVideo promotionVideoOne=iPromotionVideoService.getById(promotionVideoId); return R.ok(promotionVideoOne); } } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMemberMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.promotion.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.promotion.domain.CouponMember; import com.ruoyi.system.api.domain.CouponMember; /** * <p> ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponMemberService.java
@@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.promotion.controller.forepart.dto.CouponMemberDTO; import com.ruoyi.promotion.domain.CouponMember; import com.ruoyi.system.api.domain.dto.CouponMemberDTO; import com.ruoyi.system.api.domain.CouponMember; import org.springframework.web.bind.annotation.RequestBody; /** * <p> @@ -17,4 +18,6 @@ PageDTO<CouponMember> getCouponMemberList(CouponMemberDTO couponMemberDTO); CouponMember getCouponMember(@RequestBody CouponMemberDTO couponMemberDTO); } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.promotion.controller.forepart.dto.CouponMemberDTO; import com.ruoyi.promotion.domain.CouponMember; import com.ruoyi.system.api.domain.dto.CouponMemberDTO; import com.ruoyi.system.api.domain.CouponMember; import com.ruoyi.promotion.mapper.CouponMemberMapper; import com.ruoyi.promotion.service.ICouponMemberService; import java.time.LocalDateTime; @@ -44,4 +44,9 @@ Page<CouponMember> page1 = this.page(page, wrapper); return PageDTO.of(page1); } @Override public CouponMember getCouponMember(CouponMemberDTO couponMemberDTO) { return this.getById(couponMemberDTO.getId()); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -306,7 +306,7 @@ */ @InnerAuth @PostMapping("/register") public R<Boolean> register(@RequestBody SysUser sysUser) { public R<SysUser> register(@RequestBody SysUser sysUser) { String username = sysUser.getUserName(); if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { return R.fail("当前系统没有开启注册功能!"); @@ -317,6 +317,13 @@ return R.ok(userService.registerUser(sysUser)); } @PostMapping("/registerUser") public R<SysUser> registerUser(@RequestBody SysUser sysUser){ sysUser = userService.registerUser(sysUser); return R.ok(sysUser); } /** * 获取用户信息 * ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -122,7 +122,7 @@ * @param user 用户信息 * @return 结果 */ public boolean registerUser(SysUser user); public SysUser registerUser(SysUser user); /** * 修改用户信息 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -275,9 +275,11 @@ * @return 结果 */ @Override public boolean registerUser(SysUser user) public SysUser registerUser(SysUser user) { return userMapper.insertUser(user) > 0; int id = userMapper.insertUser(user); log.info("user------------------"+user.toString()); return user; } /**