mitao
2024-06-03 a6508a543e3727eb527db5feec9ac7155e88f599
Merge remote-tracking branch 'origin/master'

# Conflicts:
# ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java
# ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java
# ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
# ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java
2 文件已重命名
28个文件已修改
2个文件已添加
511 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/CouponMember.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppMiniLoginDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/CouponMemberDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/config/AppConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSeckillDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/config/AppConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/forepart/ForepartCouponMemberController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/inner/CouponMemberController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/inner/PromotionVideoController.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/mapper/CouponMemberMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/ICouponMemberService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());
                    }
                    appMiniLoginVo.setZfbuserid(response.getUserId());
                    appMiniLoginVo.setSysUser(sysUser);
                    appMiniLoginVo.setMemberid(member.getId());
                    redisService.setCacheObject(SecurityConstant.SESSION_KEY + response.getUserId(), null, 1L, TimeUnit.DAYS);
                }
            }
        }else{
@@ -180,11 +207,49 @@
                if (member != null) {
                    sysUser = sysUserService.getSysUser(member.getUserId()).getData();
                }
                appMiniLoginVo.setMiniOpenid(openid);
                appMiniLoginVo.setWxUnionid(unionid);
                appMiniLoginVo.setMemberid(member.getId());
                appMiniLoginVo.setSysUser(sysUser);
                appMiniLoginVo.setSessionKey(sessionKey);
                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.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,14 +221,22 @@
        order.setTotalAmount(pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
        order.setOrderStatus(OrderStatusEnum.TO_PLAY);
        MemberAddress data = memberClient.getMemberAddressOne(
                memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData();
        if (StringUtils.isNotNull(data)) {
            order.setReceiverName(data.getRecipientName());
            order.setReceiverCity(data.getReceiverCity());
            order.setReceiverDetailAddress(data.getDetailedAddress());
            order.setReceiverphone(data.getRecipientPhone());
        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)) {
                order.setReceiverName(data.getRecipientName());
                order.setReceiverCity(data.getReceiverCity());
                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;
    }
    /**