jiangqs
2023-05-03 3bba8ccaea4c0ff7ad5a7acb056d554c42b2eca2
小程序初步完成
9 文件已重命名
60个文件已修改
12个文件已删除
18个文件已添加
2066 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteShopService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseBathDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseGetDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppEditUserDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppPageDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtPageDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/SysClassification.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppOrderTotalVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseGetDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppPageDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppConsumerController.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppGoodsController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppHomeController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseBathDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseGetDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppConsumerPageDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppGoodsInfoGetDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPlaceOrderDto.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppSearchGoodsPageDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShopGoodsPageDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShoppingCartAddDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShoppingCartChangeDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppSureOrderDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppUserOrderPageDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/UserServiceRecord.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppConsumerPageVo.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppServiceRecordPageVo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGetVo.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGoodsPageVo.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderPageVo.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 288 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ShoppingCartServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ShoppingCartService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseBathDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppNearbyShopDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppPageDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtChangeCoopDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopTagDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppAgreementDto.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseBathDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseGetDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppImmediatelyBuyDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppPageDto.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppSureOrderGoodsVo.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppSureOrderVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteOrderService.java
@@ -1,10 +1,17 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(contextId = "remoteOrderService", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteOrderService {
    @PostMapping("/order/getAppOrderTotal")
    public R<AppOrderTotalVo> getAppOrderTotal(@RequestBody Long userId);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteShopService.java
@@ -1,9 +1,17 @@
package com.ruoyi.system.api;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(contextId = "remoteShopService", value = ServiceNameConstants.SHOP_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteShopService {
    @PostMapping("/shop/getShop")
    public R<Shop> getShop(@RequestBody Long shopId);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.api;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import org.springframework.cloud.openfeign.FeignClient;
@@ -75,4 +76,11 @@
    @PostMapping("/user/updateUserMobile")
    public R updateUserMobile(@RequestBody SysUser sysUser);
    /**
     *
     * @param appEditUserDto
     * @return
     */
    @PostMapping("/user/editUserInfo")
    public R editUserInfo(@RequestBody AppEditUserDto appEditUserDto);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -59,4 +59,60 @@
    String AGREEMENT_FAILED = "获取协议失败";
    String GOODS_DOWN = "商品已下架";
    String NO_STOCK = "商品已售完";
    String LIMIT_BUY = "达到商品购买限制";
    String NO_GOODS = "商品不存在或已下架";
    String DOUBLE_SUBMIT = "请勿重复提交";
    String COUPON_USE_FAILED = "优惠券已被使用";
    String INTEGRAL_USE_FAILED = "积分不够支付";
    String CREATE_ORDER_FAILED = "创建订单失败";
    String CANCEL_ERROR_ORDER = "只能取消未支付订单";
    String DELETE_ERROR_ORDER = "待支付订单需取消后才能删除";
    String RECEIVE_ERROR_ORDER = "只能收货已发货订单";
    String EVALUATE_ERROR_ORDER = "只能评价已完成订单";
    String EXPRESS_ERROR_ORDER = "订单未发货暂无物流信息";
    String EXPRESS_FAILED = "物流信息获取失败";
    String ORDER_FAILED = "获取订单失败";
    String REFUND_ERROR_ORDER = "只有已支付订单可申请退款";
    String REFUND_ORDER_ING = "订单已通过审核";
    String REFUND_ORDER_END = "订单已完成售后";
    String ORDER_AFTER_SALES = "订单还在售后中";
    String AFTER_SALES_FAILED = "获取售后订单失败";
    String AFTER_SALES_CANCEL = "撤销的售后不能修改";
    String AFTER_SALES_SUCCESS = "完成的售后不能修改";
    String AFTER_SALES_SEND = "订单需要审核";
    String AFTER_SALES_BEYOND = "退款不能超过支付金额";
    String AUTO_ORDER_FAILED = "自动获取订单失败";
    String PAYMENT_FAILED = "提交支付失败";
    String INVOICE_FAILED = "获取发票失败";
    String INTEGRAL_COUPON_ERROR = "积分不能和优惠券同时使用";
    String ADDRESS_FAILED = "只能修改未支付订单地址";
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseBathDto.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseBathDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.member.domain.dto;
package com.ruoyi.system.api.domain.dto;
/**
 * @author jqs34
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseDto.java
File was renamed from ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.system.domain.dto;
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseGetDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseGetDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.shop.domain.dto;
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppEditUserDto.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppEditUserDto
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppEditUserDto extends AppBaseDto{
    @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日")
    private Integer editType;
    @ApiModelProperty(value = "修改值 性别0=男,1=女,2=未知 生日YYYY-MM-DD ")
    private String editValue;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppPageDto.java
File was renamed from ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPageDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.order.domain.dto;
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtBaseDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.shop.domain.dto;
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtBaseGetDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.shop.domain.dto;
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtPageDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtPageDto.java
@@ -1,4 +1,4 @@
package com.ruoyi.shop.domain.dto;
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/SysClassification.java
@@ -56,8 +56,8 @@
    /**
     * 关联数量
     */
    @TableField("realtion_num")
    private Integer realtionNum;
    @TableField("relation_num")
    private Integer relationNum;
    /**
     * 创建时间
     */
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java
@@ -67,8 +67,8 @@
    /**
     * 关联商户id
     */
    @TableField("realtion_shop_id")
    private Long realtionShopId;
    @TableField("relation_shop_id")
    private Long relationShopId;
    /**
     * 真实姓名
     */
@@ -79,7 +79,7 @@
     */
    private String mobile;
    /**
     * 性别0未知1男2女
     * 性别0=男,1=女,2=未知
     */
    private Integer gender;
    /**
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/Shop.java
@@ -1,4 +1,4 @@
package com.ruoyi.shop.domain.pojo.shop;
package com.ruoyi.system.api.domain.poji.shop;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java
@@ -30,6 +30,10 @@
    private Long deptId;
    /** 用户账号 */
    @Excel(name = "用户类型", readConverterExp = "00系统用户,01B端商户成员,03C端用户")
    private String userType;
    /** 用户账号 */
    @Excel(name = "登录名称")
    private String userName;
@@ -296,6 +300,15 @@
    {
        this.roleId = roleId;
    }
    public String getUserType() {
        return userType;
    }
    public void setUserType(String userType) {
        this.userType = userType;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -318,6 +331,7 @@
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("dept", getDept())
            .append("userType", getUserType())
            .toString();
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppOrderTotalVo.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.api.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppOrderTotalVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppOrderTotalVo {
    @ApiModelProperty("待支付统计")
    private Integer noPayCount;
    @ApiModelProperty("待核销统计")
    private Integer noUseCount;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
@@ -1,7 +1,9 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteMemberService;
import com.ruoyi.system.api.RemoteOrderService;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -24,6 +26,10 @@
        return new RemoteOrderService()
        {
            @Override
            public R<AppOrderTotalVo> getAppOrderTotal(Long userId) {
                return R.fail("获取订单统计失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -1,7 +1,9 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.RemoteMemberService;
import com.ruoyi.system.api.RemoteShopService;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -23,7 +25,10 @@
        log.error("商户服务调用失败:{}", throwable.getMessage());
        return new RemoteShopService()
        {
            @Override
            public R<Shop> getShop(Long shopId) {
                return R.fail("获取商户失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import org.slf4j.Logger;
@@ -39,8 +40,6 @@
                return R.fail("注册用户失败:" + throwable.getMessage());
            }
            @Override
            public R<SysUser> getSysUser(Long userId) {
                return R.fail("获取用户失败:" + throwable.getMessage());
@@ -55,6 +54,11 @@
            public R updateUserMobile(SysUser sysUser) {
                return R.fail("更新用户手机失败:" + throwable.getMessage());
            }
            @Override
            public R editUserInfo(AppEditUserDto appEditUserDto) {
                return R.fail("更新用户信息失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -172,6 +172,7 @@
        SysUser sysUser = new SysUser();
        sysUser.setUserName(username);
        sysUser.setNickName(username);
        sysUser.setUserType("00");
        sysUser.setPassword(SecurityUtils.encryptPassword(password));
        R<?> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER);
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppConfigController.java
@@ -4,7 +4,11 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.AppUserAuthorizeDto;
import com.ruoyi.member.domain.vo.AppUserAuthorizeVo;
import com.ruoyi.member.domain.vo.AppUserInfoVo;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,8 +26,8 @@
 */
@Api(value = "小程序配置相关接口", tags = "小程序配置相关接口", description = "小程序配置相关接口")
@RestController
@RequestMapping("/app/config")
public class AppConfigController {
@RequestMapping("/app/member")
public class AppMemberController {
    @Autowired
    private MemberService memberService;
@@ -38,7 +42,21 @@
        return R.ok(appUserAuthorizeVo);
    }
    @RequestMapping(value = "/getAppUserInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取用户信息")
    public R<AppUserInfoVo> getAppUserInfo() {
        Long userId = SecurityUtils.getUserId();
        AppUserInfoVo appUserInfoVo = memberService.getAppUserInfo(userId);
        return R.ok(appUserInfoVo);
    }
    @RequestMapping(value = "/editAppUserInfo", method = RequestMethod.POST)
    @ApiOperation(value = "修改用户信息")
    public R editAppUserInfo(@RequestBody AppEditUserDto appEditUserDto) {
        Long userId = SecurityUtils.getUserId();
        appEditUserDto.setUserId(userId);
        memberService.editAppUserInfo(appEditUserDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseDto.java
File was deleted
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseGetDto.java
File was deleted
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppPageDto.java
File was deleted
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,7 +12,7 @@
 * @version: 1.0
 */
@Data
public class AppUserAuthorizeDto extends AppBaseDto{
public class AppUserAuthorizeDto extends AppBaseDto {
    @ApiModelProperty(value = "手机iv")
    private String phoneIv;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java
New file
@@ -0,0 +1,49 @@
package com.ruoyi.member.domain.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppUserInfoVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppUserInfoVo {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty("会员编号")
    private String memberNo;
    @ApiModelProperty(name = "用户名称")
    private String nickName;
    @ApiModelProperty(name = "手机号码")
    private String phonenumber;
    @ApiModelProperty("关联商户")
    private String shopName;
    @ApiModelProperty("生日")
    private String birthday;
    @ApiModelProperty("性别0=男,1=女,2=未知")
    private Integer gender;
    @ApiModelProperty("用户头像")
    private String avatar;
    @ApiModelProperty("待支付统计")
    private Integer noPayCount;
    @ApiModelProperty("待核销统计")
    private Integer noUseCount;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -5,16 +5,23 @@
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.AppUserAuthorizeDto;
import com.ruoyi.member.domain.vo.AppUserAuthorizeVo;
import com.ruoyi.member.domain.vo.AppUserInfoVo;
import com.ruoyi.member.mapper.member.MemberMapper;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.system.api.RemoteOrderService;
import com.ruoyi.system.api.RemoteShopService;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.constant.SecurityConstant;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
import org.apache.commons.lang3.StringUtils;
@@ -47,6 +54,12 @@
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Resource
    private RemoteShopService shopService;
    @Resource
    private RemoteOrderService orderService;
    /**
     * @description: TODO
@@ -89,9 +102,10 @@
            SysUser sysUser;
            if(member==null){
                //创建新用户
                String memberId = UUID.randomUUID().toString();
                String memberId = IdUtils.simpleUUID();
                sysUser = new SysUser();
                sysUser.setUserName(memberId);
                sysUser.setUserType("03");
                sysUser.setNickName("微信用户");
                String password = "hongruitang";
                sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -163,5 +177,62 @@
        return appUserAuthorizeVo;
    }
    /**
     * 获取用户信息
     * @param userId
     * @return
     */
    @Override
    public AppUserInfoVo getAppUserInfo(Long userId){
        AppUserInfoVo appUserInfoVo = new AppUserInfoVo();
        SysUser sysUser = sysUserService.getSysUser(userId).getData();
        Member member = this.getByUserId(userId);
        appUserInfoVo.setUserId(userId);
        appUserInfoVo.setMemberNo(member.getMemberNo());
        appUserInfoVo.setNickName(sysUser.getNickName());
        appUserInfoVo.setPhonenumber(sysUser.getPhonenumber());
        if(member.getRelationShopId()!=null){
            Shop shop = shopService.getShop(member.getRelationShopId()).getData();
            appUserInfoVo.setShopName(shop.getShopName());
        }
        appUserInfoVo.setBirthday(member.getBirthday());
        appUserInfoVo.setGender(member.getGender());
        appUserInfoVo.setAvatar(sysUser.getAvatar());
        AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId).getData();
        appUserInfoVo.setNoPayCount(appOrderTotalVo.getNoPayCount());
        appUserInfoVo.setNoUseCount(appOrderTotalVo.getNoUseCount());
        return appUserInfoVo;
    }
    /**
     * 修改用户信息
     * @param appEditUserDto
     */
    @Override
    public void editAppUserInfo(AppEditUserDto appEditUserDto){
        //修改类型1.昵称2.头像3.性别4.生日
        Integer editType = appEditUserDto.getEditType();
        String editValue = appEditUserDto.getEditValue();
        Member member = this.getByUserId(appEditUserDto.getUserId());
        switch (editType){
            case 1:
                break;
            case 2:
                break;
            case 3:
                member.setGender(Integer.valueOf(editValue));
                member.setUpdateTime(new Date());
                member.setUpdateUserId(appEditUserDto.getUserId());
                this.saveOrUpdate(member);
                break;
            case 4:
                member.setBirthday(editValue);
                member.setUpdateTime(new Date());
                member.setUpdateUserId(appEditUserDto.getUserId());
                this.saveOrUpdate(member);
                break;
            default:
                break;
        }
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -1,6 +1,8 @@
package com.ruoyi.member.service.member;
import com.ruoyi.member.domain.vo.AppUserAuthorizeVo;
import com.ruoyi.member.domain.vo.AppUserInfoVo;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.model.AppMiniLoginDto;
import com.ruoyi.system.api.model.AppMiniLoginVo;
@@ -38,5 +40,16 @@
     */
    AppUserAuthorizeVo getAppUserAuthorize(AppUserAuthorizeDto appUserAuthorizeDto);
    /**
     * 获取用户信息
     * @param userId
     * @return
     */
    AppUserInfoVo getAppUserInfo(Long userId);
    /**
     * 修改用户信息
     * @param appEditUserDto
     */
    void editAppUserInfo(AppEditUserDto appEditUserDto);
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -24,7 +24,7 @@
    </resultMap>
    <sql id="selectMemberVo">
        select user_id, del_flag, member_id, member_no, wx_openid, mini_openid, wx_unionid, realtion_shop_id, real_name, mobile, gender, referrer, customer_source, level, birthday, create_time, update_time, update_user_id from t_member
        select user_id, del_flag, member_id, member_no, wx_openid, mini_openid, wx_unionid, relation_shop_id, real_name, mobile, gender, referrer, customer_source, level, birthday, create_time, update_time, update_user_id from t_member
    </sql>
    <select id="selectMemberList" parameterType="com.ruoyi.system.api.domain.poji.member.Member" resultMap="MemberResult">
@@ -35,7 +35,7 @@
            <if test="wxOpenid != null  and wxOpenid != ''"> and wx_openid = #{wxOpenid}</if>
            <if test="miniOpenid != null  and miniOpenid != ''"> and mini_openid = #{miniOpenid}</if>
            <if test="wxUnionid != null  and wxUnionid != ''"> and wx_unionid = #{wxUnionid}</if>
            <if test="realtionShopId != null "> and realtion_shop_id = #{realtionShopId}</if>
            <if test="relationShopId != null "> and relation_shop_id = #{relationShopId}</if>
            <if test="realName != null  and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
            <if test="mobile != null  and mobile != ''"> and mobile = #{mobile}</if>
            <if test="gender != null "> and gender = #{gender}</if>
@@ -62,7 +62,7 @@
            <if test="wxOpenid != null">wx_openid,</if>
            <if test="miniOpenid != null">mini_openid,</if>
            <if test="wxUnionid != null">wx_unionid,</if>
            <if test="realtionShopId != null">realtion_shop_id,</if>
            <if test="relationShopId != null">relation_shop_id,</if>
            <if test="realName != null">real_name,</if>
            <if test="mobile != null">mobile,</if>
            <if test="gender != null">gender,</if>
@@ -82,7 +82,7 @@
            <if test="wxOpenid != null">#{wxOpenid},</if>
            <if test="miniOpenid != null">#{miniOpenid},</if>
            <if test="wxUnionid != null">#{wxUnionid},</if>
            <if test="realtionShopId != null">#{realtionShopId},</if>
            <if test="relationShopId != null">#{relationShopId},</if>
            <if test="realName != null">#{realName},</if>
            <if test="mobile != null">#{mobile},</if>
            <if test="gender != null">#{gender},</if>
@@ -105,7 +105,7 @@
            <if test="wxOpenid != null">wx_openid = #{wxOpenid},</if>
            <if test="miniOpenid != null">mini_openid = #{miniOpenid},</if>
            <if test="wxUnionid != null">wx_unionid = #{wxUnionid},</if>
            <if test="realtionShopId != null">realtion_shop_id = #{realtionShopId},</if>
            <if test="relationShopId != null">relation_shop_id = #{relationShopId},</if>
            <if test="realName != null">real_name = #{realName},</if>
            <if test="mobile != null">mobile = #{mobile},</if>
            <if test="gender != null">gender = #{gender},</if>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.order.controller.concole;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
 * @author jqs34
 * @ClassName OrderController
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@RestController
@RequestMapping("/order")
public class OrderController {
    @Autowired
    private OrderService orderService;
    @InnerAuth
    @PostMapping("/getAppOrderTotal")
    public R<AppOrderTotalVo> getAppOrderTotal(@RequestBody Long userId){
        AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId);
        return R.ok(appOrderTotalVo);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppConsumerController.java
New file
@@ -0,0 +1,81 @@
package com.ruoyi.order.controller.miniapp;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import com.ruoyi.order.service.order.ConsumerGoodsService;
import com.ruoyi.order.service.order.UserServiceRecordService;
import com.ruoyi.system.api.RemoteMemberService;
import com.ruoyi.system.api.domain.poji.member.Member;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author jqs34
 * @ClassName AppConsumerController
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Api(value = "小程序服务相关接口", tags = "小程序服务相关接口", description = "小程序服务相关接口")
@RestController
@RequestMapping("/app/consumer")
public class AppConsumerController {
    @Autowired
    private RemoteMemberService memberService;
    @Autowired
    private ConsumerGoodsService consumerGoodsService;
    @Autowired
    private UserServiceRecordService userServiceRecordService;
    @RequestMapping(value = "/pageUserConsumerGoods", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取用户服务单")
    public R<Page<AppConsumerPageVo>> pageUserConsumerGoods(@RequestBody AppConsumerPageDto appConsumerPageDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appConsumerPageDto.setUserId(userId);
            if(member!=null&&member.getRelationShopId()!=null){
                appConsumerPageDto.setShopId(member.getRelationShopId());
            }
        }
        Page<AppConsumerPageVo> page = new Page<>();
        page.setSize(appConsumerPageDto.getPageSize());
        page.setCurrent(appConsumerPageDto.getPageNum());
        List<AppConsumerPageVo> appConsumerPageVoList = consumerGoodsService.pageUserConsumerGoods(page,appConsumerPageDto);
        return R.ok(page.setRecords(appConsumerPageVoList));
    }
    @RequestMapping(value = "/pageUserServiceRecord", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取用户服务记录")
    public R<Page<AppServiceRecordPageVo>> pageUserServiceRecord(@RequestBody AppConsumerPageDto appConsumerPageDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appConsumerPageDto.setUserId(userId);
            if(member!=null&&member.getRelationShopId()!=null){
                appConsumerPageDto.setShopId(member.getRelationShopId());
            }
        }
        Page<AppServiceRecordPageVo> page = new Page<>();
        page.setSize(appConsumerPageDto.getPageSize());
        page.setCurrent(appConsumerPageDto.getPageNum());
        List<AppServiceRecordPageVo> appServiceRecordPageVoList = userServiceRecordService.pageUserServiceRecord(page,appConsumerPageDto);
        return R.ok(page.setRecords(appServiceRecordPageVoList));
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppGoodsController.java
@@ -3,13 +3,12 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.domain.dto.AppBaseBathDto;
import com.ruoyi.system.api.domain.dto.AppBaseBathDto;
import com.ruoyi.order.domain.dto.AppGoodsInfoGetDto;
import com.ruoyi.order.domain.dto.AppShoppingCartAddDto;
import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto;
import com.ruoyi.order.domain.vo.AppGoodsInfoVo;
import com.ruoyi.order.service.goods.GoodsService;
import com.ruoyi.order.service.goods.ShopGoodsService;
import com.ruoyi.order.service.order.ShoppingCartService;
import com.ruoyi.system.api.RemoteMemberService;
import com.ruoyi.system.api.domain.poji.member.Member;
@@ -48,8 +47,8 @@
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            if(member!=null&&member.getRealtionShopId()!=null){
                appGoodsInfoGetDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appGoodsInfoGetDto.setShopId(member.getRelationShopId());
            }
        }
        AppGoodsInfoVo appGoodsInfoVo = goodsService.getGoodsInfo(appGoodsInfoGetDto);
@@ -63,8 +62,8 @@
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appShoppingCartAddDto.setUserId(userId);
            if(member!=null&&member.getRealtionShopId()!=null){
                appShoppingCartAddDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appShoppingCartAddDto.setShopId(member.getRelationShopId());
            }
        }
        shoppingCartService.addShoppingCart(appShoppingCartAddDto);
@@ -78,8 +77,8 @@
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appShoppingCartChangeDto.setUserId(userId);
            if(member!=null&&member.getRealtionShopId()!=null){
                appShoppingCartChangeDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appShoppingCartChangeDto.setShopId(member.getRelationShopId());
            }
        }
        shoppingCartService.changeShoppingCart(appShoppingCartChangeDto);
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppHomeController.java
@@ -4,7 +4,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.domain.dto.AppPageDto;
import com.ruoyi.system.api.domain.dto.AppPageDto;
import com.ruoyi.order.domain.dto.AppSearchGoodsPageDto;
import com.ruoyi.order.domain.dto.AppShopGoodsPageDto;
import com.ruoyi.order.domain.vo.AppSimpleActivityGoodsVo;
@@ -50,14 +50,15 @@
        Long shopId = null;
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            if(member!=null&&member.getRealtionShopId()!=null){
                shopId = member.getRealtionShopId();
            if(member!=null&&member.getRelationShopId()!=null){
                shopId = member.getRelationShopId();
            }
        }
        Page<AppSimpleGoodsVo> page = new Page<>();
        page.setSize(appPageDto.getPageSize());
        page.setCurrent(appPageDto.getPageNum());
        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageRecommendGoods(page,shopId);
        return R.ok(page.setRecords(appSimpleGoodsVoList));
    }
@@ -67,8 +68,8 @@
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            if(member!=null&&member.getRealtionShopId()!=null){
                appShopGoodsPageDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appShopGoodsPageDto.setShopId(member.getRelationShopId());
            }
        }
        Page<AppSimpleGoodsVo> page = new Page<>();
@@ -84,8 +85,8 @@
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            if(member!=null&&member.getRealtionShopId()!=null){
                appSearchGoodsPageDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appSearchGoodsPageDto.setShopId(member.getRelationShopId());
            }
        }
        Page<AppSimpleGoodsVo> page = new Page<>();
@@ -101,8 +102,8 @@
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            if(member!=null&&member.getRealtionShopId()!=null){
                appSearchGoodsPageDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appSearchGoodsPageDto.setShopId(member.getRelationShopId());
            }
        }
        Page<AppSimpleActivityGoodsVo> page = new Page<>();
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -1,13 +1,14 @@
package com.ruoyi.order.controller.miniapp;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.domain.dto.AppBuyGoodsDto;
import com.ruoyi.order.domain.dto.AppSureOrderDto;
import com.ruoyi.order.domain.vo.AppSureOrderVo;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.RemoteMemberService;
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -16,6 +17,8 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author jqs34
@@ -43,13 +46,82 @@
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appSureOrderDto.setUserId(userId);
            if(member!=null&&member.getRealtionShopId()!=null){
                appSureOrderDto.setShopId(member.getRealtionShopId());
            if(member!=null&&member.getRelationShopId()!=null){
                appSureOrderDto.setShopId(member.getRelationShopId());
            }
        }
        AppSureOrderVo appSureOrderVo = orderService.buyGoods(appSureOrderDto);
        return R.ok(appSureOrderVo);
    }
    @RequestMapping(value = "/placeOrder", method = RequestMethod.POST)
    @ApiOperation(value = "创建订单")
    public R<AppPlaceOrderVo> placeOrder(@RequestBody AppPlaceOrderDto appPlaceOrderDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appPlaceOrderDto.setUserId(userId);
            if(member!=null&&member.getRelationShopId()!=null){
                appPlaceOrderDto.setShopId(member.getRelationShopId());
            }
        }
        AppPlaceOrderVo appPlaceOrderVo = orderService.placeOrder(appPlaceOrderDto);
        return R.ok(appPlaceOrderVo);
    }
    @RequestMapping(value = "/pageUserOrder", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取用户订单")
    public R<Page<AppUserOrderPageVo>> pageUserOrder(@RequestBody AppUserOrderPageDto appUserOrderPageDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appUserOrderPageDto.setUserId(userId);
            if(member!=null&&member.getRelationShopId()!=null){
                appUserOrderPageDto.setShopId(member.getRelationShopId());
            }
        }
        Page<AppUserOrderPageVo> page = new Page<>();
        page.setSize(appUserOrderPageDto.getPageSize());
        page.setCurrent(appUserOrderPageDto.getPageNum());
        List<AppUserOrderPageVo> appUserOrderPageVoList = orderService.pageUserOrder(page,appUserOrderPageDto);
        return R.ok(page.setRecords(appUserOrderPageVoList));
    }
    @RequestMapping(value = "/getAppOrderDetail", method = RequestMethod.POST)
    @ApiOperation(value = "获取订单详情")
    public R<AppUserOrderGetVo> getAppOrderDetail(@RequestBody AppBaseGetDto appBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        Long shopId = null;
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
            appBaseGetDto.setUserId(userId);
            if(member!=null&&member.getRelationShopId()!=null){
                shopId = member.getRelationShopId();
            }
        }
        AppUserOrderGetVo appUserOrderGetVo = orderService.getAppOrderDetail(appBaseGetDto);
        if(shopId!=null&&appUserOrderGetVo.getShopId().equals(shopId)){
            appUserOrderGetVo.setSameShop(1);
        }else{
            appUserOrderGetVo.setSameShop(0);
        }
        return R.ok(appUserOrderGetVo);
    }
    @RequestMapping(value = "/payOrder", method = RequestMethod.POST)
    @ApiOperation(value = "支付订单(临时)")
    public R<AppPlaceOrderVo> placeOrder(@RequestBody AppBaseGetDto appBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        AppPlaceOrderVo appPlaceOrderVo = null;
        return R.ok(appPlaceOrderVo);
    }
    @RequestMapping(value = "/cancelOrder", method = RequestMethod.POST)
    @ApiOperation(value = "取消订单")
    public R cancelOrder(@RequestBody AppBaseGetDto appBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        orderService.cancelOrder(appBaseGetDto.getId());
        return R.ok();
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseBathDto.java
File was deleted
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseDto.java
File was deleted
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseGetDto.java
File was deleted
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,7 +13,7 @@
 */
@Data
public class AppBuyGoodsDto extends AppBaseDto{
public class AppBuyGoodsDto extends AppBaseDto {
    @ApiModelProperty(value = "商品id")
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppConsumerPageDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppConsumerPageDto
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppConsumerPageDto extends AppPageDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
    @ApiModelProperty("商品类型1周期2服务3体验4单品")
    private Integer goodsType;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppGoodsInfoGetDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPlaceOrderDto.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author jqs34
 * @version 1.0
 * @classname AppShoppingcartDto
 * @description: TODO
 * @date 2023 2023/5/2 20:54
 */
@Data
public class AppPlaceOrderDto extends AppBaseDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
    @ApiModelProperty(value = "支付方式1.全款2.订金")
    private Integer payType;
    @ApiModelProperty(value = "订单备注")
    private String orderRemark;
    @ApiModelProperty(value = "购物车列表")
    List<AppBuyGoodsDto> appBuyGoodsDtoList;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppSearchGoodsPageDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShopGoodsPageDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,7 +12,7 @@
 * @version: 1.0
 */
@Data
public class AppShopGoodsPageDto extends AppPageDto{
public class AppShopGoodsPageDto extends AppPageDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShoppingCartAddDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,7 +12,7 @@
 * @version: 1.0
 */
@Data
public class AppShoppingCartAddDto extends AppBaseDto{
public class AppShoppingCartAddDto extends AppBaseDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShoppingCartChangeDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,7 +12,7 @@
 * @version: 1.0
 */
@Data
public class AppShoppingCartChangeDto extends AppBaseDto{
public class AppShoppingCartChangeDto extends AppBaseDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppSureOrderDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -13,7 +14,7 @@
 * @date 2023 2023/5/2 20:54
 */
@Data
public class AppSureOrderDto extends AppBaseDto{
public class AppSureOrderDto extends AppBaseDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppUserOrderPageDto.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.order.domain.dto;
import com.ruoyi.system.api.domain.dto.AppPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppUserOrderPageDto
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppUserOrderPageDto extends AppPageDto {
    @ApiModelProperty(value = "shopId",hidden = true)
    private Long shopId;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java
@@ -83,6 +83,13 @@
     */
    @TableField("receivable_money")
    private BigDecimal receivableMoney;
    /**
     * 应收订金
     */
    @TableField("receivable_deposit")
    private BigDecimal receivableDeposit;
    /**
     * 支付类型1.全款2.订金
     */
@@ -138,7 +145,11 @@
     */
    @TableField("use_user_id")
    private Long useUserId;
    /**
     * 商品数量
     */
    @TableField("goods_num")
    private Integer goodsNum;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/UserServiceRecord.java
@@ -35,6 +35,12 @@
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 用户id
     */
    @TableField("shop_id")
    private Long shopId;
    /**
     * 用户id
     */
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppConsumerPageVo.java
New file
@@ -0,0 +1,48 @@
package com.ruoyi.order.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppConsumerPageVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppConsumerPageVo {
    @ApiModelProperty("服务id")
    private String consumerGoodsId;
    @ApiModelProperty("服务状态-1删除1未完成2完成")
    private Integer serviceStatus;
    @ApiModelProperty("商户id")
    private Long shopId;
    @ApiModelProperty("商品类型1周期2服务3体验4单品")
    private Integer goodsType;
    @ApiModelProperty("商品名称")
    private String goodsName;
    @ApiModelProperty("商品图片")
    private String goodsPicture;
    @ApiModelProperty("商品调理问题")
    private String goodsNurses;
    @ApiModelProperty("周期标记")
    private Integer cycleNumFlag;
    @ApiModelProperty("服务次数")
    private Integer serviceNum;
    @ApiModelProperty("消耗次数")
    private Integer usedNum;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java
New file
@@ -0,0 +1,55 @@
package com.ruoyi.order.domain.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author jqs34
 * @ClassName AppResettlement
 * @description: TODO
 * @date 2023年02月27日
 * @version: 1.0
 */
@Data
public class AppPlaceOrderVo {
    @ApiModelProperty(value = "订单id")
    private String orderId;
    @ApiModelProperty(value = "订单编号")
    private String orderNo;
    @ApiModelProperty(value = "支付金额")
    private BigDecimal payMoney;
    @ApiModelProperty(value = "支付截止时间")
    private String payDeadlineTime;
    @ApiModelProperty(value = "appId")
    private String appId;
    @ApiModelProperty(value = "商户号")
    private String mchId;
    @ApiModelProperty(value = "时间戳")
    private String timeStamp;
    @ApiModelProperty(value = "随机串防重发")
    private String nonceStr;
    @ApiModelProperty(value = "package")
    @JsonProperty("package")
    private String packageStr;
    @ApiModelProperty(value = "签名方式")
    private String tradeType;
    @ApiModelProperty(value = "签名")
    private String paySign;
    @ApiModelProperty(value = "预支付回话标识")
    private String prepayId;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppServiceRecordPageVo.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.order.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @ClassName AppServiceRecordPageVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppServiceRecordPageVo {
    @ApiModelProperty("服务名称")
    private String consumerGoodsNames;
    @ApiModelProperty("服务类型1.周期2.服务3.体验")
    private Integer serviceType;
    @ApiModelProperty("创建时间")
    private Date createTime;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGetVo.java
New file
@@ -0,0 +1,74 @@
package com.ruoyi.order.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * @author jqs34
 * @ClassName AppUserOrderPageVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppUserOrderGetVo {
    @ApiModelProperty(value = "订单id")
    private String orderId;
    @ApiModelProperty("订单编号")
    private String orderNo;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
    @ApiModelProperty("订单来源1.商城2.秒杀活动3.线下创建")
    private Integer orderFrom;
    @ApiModelProperty(value = "商品总价")
    private BigDecimal orderGoodsMoney;
    @ApiModelProperty(value = "优惠券抵扣")
    private BigDecimal couponDiscount;
    @ApiModelProperty("应收金额")
    private BigDecimal receivableMoney;
    @ApiModelProperty("应收订金")
    private BigDecimal receivableDeposit;
    @ApiModelProperty("订单商品列表")
    private List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList;
    @ApiModelProperty("订单支付金额")
    private BigDecimal payMoney;
    @ApiModelProperty("商户id")
    private Long shopId;
    @ApiModelProperty("商户名称")
    private String shopName;
    @ApiModelProperty(value = "是否绑定商户0否1是")
    private Integer sameShop;
    @ApiModelProperty("创建时间")
    private Date createTime;
    @ApiModelProperty("支付时间")
    private Date payTime;
    @ApiModelProperty("核销时间")
    private Date useTime;
    @ApiModelProperty("取消时间")
    private Date cancelTime;
    @ApiModelProperty("订单备注")
    private String orderRemark;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGoodsPageVo.java
New file
@@ -0,0 +1,41 @@
package com.ruoyi.order.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author jqs34
 * @ClassName AppUserOrderPageVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppUserOrderGoodsPageVo {
    @ApiModelProperty("商品id")
    private String goodsId;
    @ApiModelProperty("商品名称")
    private String goodsName;
    @ApiModelProperty("商品图片")
    private String goodsPicture;
    @ApiModelProperty(value = "商品类型1周期2服务3体验4单品")
    private Integer goodsType;
    @ApiModelProperty(value = "购买数量")
    private Integer buyNum;
    @ApiModelProperty(value = "商品售价")
    private BigDecimal goodsPrice;
    @ApiModelProperty(value = "商品实际价格")
    private BigDecimal goodsRealPrice;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderPageVo.java
New file
@@ -0,0 +1,53 @@
package com.ruoyi.order.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
 * @author jqs34
 * @ClassName AppUserOrderPageVo
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@Data
public class AppUserOrderPageVo {
    @ApiModelProperty(value = "订单id")
    private String orderId;
    @ApiModelProperty("订单编号")
    private String orderNo;
    @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成")
    private Integer orderStatus;
    @ApiModelProperty("订单来源1.商城2.秒杀活动3.线下创建")
    private Integer orderFrom;
    @ApiModelProperty("订单商品列表")
    private List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList;
    @ApiModelProperty("订单支付金额")
    private BigDecimal receivableMoney;
    @ApiModelProperty("商品数量")
    private Integer goodsNum;
    @ApiModelProperty("商户id")
    private Long shopId;
    @ApiModelProperty("商户名称")
    private String shopName;
    @ApiModelProperty("商户服务电话")
    private String shopServicePhone;
    @ApiModelProperty(value = "是否绑定商户0否1是")
    private Integer sameShop;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.order.mapper.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,11 @@
 */
public interface ConsumerGoodsMapper extends BaseMapper<ConsumerGoods> {
    /**
     * 分页获取用户服务
     * @param page
     * @param appConsumerPageDto
     * @return
     */
    List<AppConsumerPageVo> pageUserConsumerGoods(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java
@@ -2,6 +2,10 @@
import com.ruoyi.order.domain.pojo.order.OrderGoods;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,11 @@
 */
public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
    /**
     *
     * @param orderId
     * @return
     */
    List<AppUserOrderGoodsPageVo> listVoByOrderId(@Param("orderId") String orderId);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.order.mapper.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppUserOrderPageDto;
import com.ruoyi.order.domain.pojo.order.Order;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppUserOrderPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,11 @@
 */
public interface OrderMapper extends BaseMapper<Order> {
    /**
     * 分页获取用户订单
     * @param page
     * @param appUserOrderPageDto
     * @return
     */
    List<AppUserOrderPageVo> pageUserOrder(Page page, @Param("param") AppUserOrderPageDto appUserOrderPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.order.mapper.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.pojo.order.UserServiceRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,11 @@
 */
public interface UserServiceRecordMapper extends BaseMapper<UserServiceRecord> {
    /**
     * 分页获取用户服务记录
     * @param page
     * @param appConsumerPageDto
     * @return
     */
    List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -1,11 +1,17 @@
package com.ruoyi.order.service.impl.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
import com.ruoyi.order.mapper.order.ConsumerGoodsMapper;
import com.ruoyi.order.service.order.ConsumerGoodsService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -18,4 +24,17 @@
@Service
public class ConsumerGoodsServiceImpl extends ServiceImpl<ConsumerGoodsMapper, ConsumerGoods> implements ConsumerGoodsService {
    @Resource
    private ConsumerGoodsMapper consumerGoodsMapper;
    /**
     * 获取用户服务
     * @param page
     * @param appConsumerPageDto
     * @return
     */
    @Override
    public List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto){
        return consumerGoodsMapper.pageUserConsumerGoods(page, appConsumerPageDto);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java
@@ -3,9 +3,13 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.order.domain.pojo.order.OrderGoods;
import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo;
import com.ruoyi.order.mapper.order.OrderGoodsMapper;
import com.ruoyi.order.service.order.OrderGoodsService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -18,4 +22,16 @@
@Service
public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGoods> implements OrderGoodsService {
    @Resource
    private OrderGoodsMapper orderGoodsMapper;
    /**
     *
     * @param orderId
     * @return
     */
    @Override
    public List<AppUserOrderGoodsPageVo> listVoByOrderId(String orderId){
        return orderGoodsMapper.listVoByOrderId(orderId);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1,31 +1,39 @@
package com.ruoyi.order.service.impl.order;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.order.domain.dto.AppBuyGoodsDto;
import com.ruoyi.order.domain.dto.AppSureOrderDto;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.pojo.goods.Goods;
import com.ruoyi.order.domain.pojo.goods.GoodsFile;
import com.ruoyi.order.domain.pojo.goods.ShopGoods;
import com.ruoyi.order.domain.pojo.order.Order;
import com.ruoyi.order.domain.vo.AppSureOrderGoodsVo;
import com.ruoyi.order.domain.vo.AppSureOrderVo;
import com.ruoyi.order.domain.pojo.order.OrderGoods;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.goods.GoodsFileService;
import com.ruoyi.order.service.goods.ShopGoodsService;
import com.ruoyi.order.service.order.OrderGoodsService;
import com.ruoyi.order.util.CodeFactoryUtil;
import com.ruoyi.system.api.RemoteMemberService;
import com.ruoyi.system.api.RemoteShopService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import com.ruoyi.system.api.domain.vo.AppUserCouponVo;
import com.ruoyi.order.mapper.order.OrderMapper;
import com.ruoyi.order.service.goods.GoodsService;
import com.ruoyi.order.service.order.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -49,11 +57,18 @@
    @Resource
    private ShopGoodsService shopGoodsService;
    @Autowired
    @Resource
    private RemoteMemberService remoteMemberService;
    @Autowired
    @Resource
    private GoodsFileService goodsFileService;
    @Resource
    private OrderGoodsService orderGoodsService;
    @Resource
    private RemoteShopService remoteShopService;
    /**
     * @description: buyGoods
     * @param: appSureOrderDto
@@ -174,4 +189,257 @@
        appSureOrderVo.setAppSureOrderGoodsVoList(appSureOrderGoodsVoList);
        return appSureOrderVo;
    }
    /**
     * 创建订单
     * @param appPlaceOrderDto
     * @return
     */
    @Override
    public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto){
        Long userId = appPlaceOrderDto.getUserId();
        AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
        List<AppSureOrderGoodsVo> appSureOrderGoodsVoList = new ArrayList<>();
        AppSureOrderGoodsVo appSureOrderGoodsVo;
        List<AppBuyGoodsDto> appBuyGoodsDtoList = appPlaceOrderDto.getAppBuyGoodsDtoList();
        String goodsId;
        Integer buyNum;
        BigDecimal buyNumBig;
        Integer serviceNum;
        Integer goodsNum = 0;
        Long userCouponId;
        Goods goods;
        BigDecimal goodsPrice;
        BigDecimal goodsTotalPrice;
        BigDecimal goodsRealPrice;
        List<AppUserCouponVo> appUserCouponVoList = remoteMemberService.listVoUserCouponByUserId(userId).getData();
        Map<Long,AppUserCouponVo> appUserCouponVoMap = appUserCouponVoList.stream().collect(Collectors.toMap(AppUserCouponVo::getUserCouponId, Function.identity()));
        AppUserCouponVo appUserCouponVo;
        Integer couponType;
        BigDecimal moneyThreshold;
        BigDecimal discountMoney = new BigDecimal("0.00");
        BigDecimal discountPercent;
        BigDecimal goodsDeposit;
        GoodsFile goodsFile;
        Integer useCoupon;
        BigDecimal orderGoodsMoney = new BigDecimal("0.00");
        BigDecimal couponDiscount = new BigDecimal("0.00");
        BigDecimal orderPayDeposit = new BigDecimal("0.00");
        BigDecimal orderPayMoney = new BigDecimal("0.00");
        String orderId = IdUtils.simpleUUID();
        String orderNo = CodeFactoryUtil.getShopOrderNo();
        OrderGoods orderGoods;
        String orderGoodsId;
        for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){
            appSureOrderGoodsVo = new AppSureOrderGoodsVo();
            useCoupon = 0;
            goodsId = appBuyGoodsDto.getGoodsId();
            userCouponId = appBuyGoodsDto.getUserCouponId();
            goods = goodsService.getById(goodsId);
            appSureOrderGoodsVo.setGoodsId(goodsId);
            appSureOrderGoodsVo.setGoodsName(goods.getGoodsName());
            appSureOrderGoodsVo.setGoodsIntroduction(goods.getGoodsIntroduction());
            appSureOrderGoodsVo.setGoodsType(goods.getGoodsType());
            //商品图片
            goodsFile = goodsFileService.getGoodsPicture(goodsId);
            appSureOrderGoodsVo.setGoodsPicture(goodsFile.getFileUrl());
            buyNum = appBuyGoodsDto.getBuyNum();
            appSureOrderGoodsVo.setBuyNum(buyNum);
            goodsPrice = goods.getSalesPrice();
            serviceNum = goods.getServiceNum();
            //商户定制价格
            ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(appPlaceOrderDto.getShopId(),goods.getGoodsId());
            if(shopGoods!=null){
                goodsPrice = shopGoods.getSalesPrice();
                serviceNum = shopGoods.getServiceNum();
            }
            appSureOrderGoodsVo.setGoodsPrice(goodsPrice);
            buyNumBig = BigDecimal.valueOf(buyNum);
            goodsTotalPrice = goodsPrice.multiply(buyNumBig);
            goodsRealPrice = goodsTotalPrice;
            if(userCouponId!=null){
                appUserCouponVo = appUserCouponVoMap.get(userCouponId);
                if(StringUtils.isBlank(appUserCouponVo.getRelGoodsIds()) || appUserCouponVo.getRelGoodsIds().contains(goodsId)){
                    couponType = appUserCouponVo.getCouponType();
                    if(couponType == 1 && appUserCouponVo.getMoneyThreshold()!=null && appUserCouponVo.getDiscountMoney()!=null){
                        moneyThreshold = appUserCouponVo.getMoneyThreshold();
                        if(goodsTotalPrice.compareTo(moneyThreshold)>=0){
                            discountMoney = appUserCouponVo.getDiscountMoney();
                            goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
                            useCoupon = 1;
                        }
                    }else if(couponType == 2 && appUserCouponVo.getDiscountPercent()!=null){
                        discountPercent = appUserCouponVo.getDiscountPercent();
                        goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2,BigDecimal.ROUND_HALF_UP);
                        discountMoney = goodsRealPrice.subtract(goodsTotalPrice);
                        useCoupon = 1;
                    }else if(couponType == 3 && appUserCouponVo.getDiscountMoney()!=null){
                        discountMoney = appUserCouponVo.getDiscountMoney();
                        goodsRealPrice = goodsTotalPrice.subtract(discountMoney);
                        useCoupon = 1;
                    }
                }
            }
            appSureOrderGoodsVo.setUseCoupon(useCoupon);
            appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice);
            appSureOrderGoodsVo.setCouponDiscount(discountMoney);
            appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice);
            goodsDeposit = goods.getSubscription();
            if(goodsDeposit == null){
                goodsDeposit = new BigDecimal("0.00");
            }
            appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit);
            goodsNum = goodsNum + buyNum;
            orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice);
            couponDiscount = couponDiscount.add(discountMoney);
            orderPayDeposit = orderPayDeposit.add(goodsDeposit);
            orderPayMoney = orderPayMoney.add(goodsRealPrice);
            //创建OrderGoods
            orderGoods = new OrderGoods();
            orderGoodsId = IdUtils.simpleUUID();
            orderGoods.setOrderGoodsId(orderGoodsId);
            orderGoods.setDelFlag(0);
            orderGoods.setOrderId(orderId);
            orderGoods.setGoodsId(goodsId);
            orderGoods.setBuyNum(buyNum);
            orderGoods.setCouponId(userCouponId.toString());
            orderGoods.setGoodsPrice(goodsPrice);
            orderGoods.setGoodsTotalMoney(orderGoodsMoney);
            orderGoods.setGoodsReceivableMoney(goodsRealPrice);
            orderGoods.setCycleNumFlag(goods.getCycleNumFlag());
            orderGoods.setServiceNum(serviceNum);
            orderGoods.setGoodsType(goods.getGoodsType());
            orderGoodsService.save(orderGoods);
        }
        Order order = new Order();
        order.setOrderId(orderId);
        order.setDelFlag(0);
        order.setOrderStatus(1);
        order.setOrderNo(orderNo);
        order.setOrderFrom(1);
        order.setShopId(appPlaceOrderDto.getShopId());
        order.setUserId(userId);
        order.setOrderMoney(orderGoodsMoney);
        order.setCouponMoney(couponDiscount);
        order.setDiscountMoney(couponDiscount);
        order.setReceivableMoney(orderPayMoney);
        order.setPayType(appPlaceOrderDto.getPayType());
        if(order.getPayType()==1){
            order.setPayMoney(orderPayMoney);
            order.setOnlinePayMoney(orderPayMoney);
            appPlaceOrderVo.setPayMoney(orderPayMoney);
        }else if(order.getPayType()==2){
            order.setPayMoney(orderPayDeposit);
            order.setOnlinePayMoney(orderPayDeposit);
            appPlaceOrderVo.setPayMoney(orderPayDeposit);
        }
        order.setOrderRemark(appPlaceOrderDto.getOrderRemark());
        order.setGoodsNum(goodsNum);
        order.setCreateTime(new Date());
        this.save(order);
        appPlaceOrderVo.setOrderId(orderId);
        appPlaceOrderVo.setOrderNo(orderNo);
        //调用支付
        return appPlaceOrderVo;
    }
    /**
     * 分页获取用户订单
     * @param page
     * @param appUserOrderPageDto
     * @return
     */
    @Override
    public List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto){
        List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page,appUserOrderPageDto);
        if(appUserOrderPageVoList!=null&&!appUserOrderPageVoList.isEmpty()){
            Long shopId;
            Shop shop;
            HashSet<Long> set=new HashSet<Long>();
            for(AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList){
                shopId = appUserOrderPageVo.getShopId();
                set.add(shopId);
            }
            Map<Long, Shop> shopMap = new HashMap<>();
            set.forEach(shopIdLong -> {
                Shop shopTemp = remoteShopService.getShop(shopIdLong).getData();
                shopMap.put(shopIdLong, shopTemp);
            });
            for(AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList){
                shop = shopMap.get(appUserOrderPageVo.getShopId());
                appUserOrderPageVo.setShopName(shop.getShopName());
                appUserOrderPageVo.setShopServicePhone(shop.getShopServicePhone());
                if(appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())){
                    appUserOrderPageVo.setSameShop(1);
                }else{
                    appUserOrderPageVo.setSameShop(0);
                }
            }
        }
        return appUserOrderPageVoList;
    }
    /**
     *
     * @param appBaseGetDto
     * @return
     */
    @Override
    public AppUserOrderGetVo getAppOrderDetail(AppBaseGetDto appBaseGetDto){
        String orderId = appBaseGetDto.getId();
        Order order = this.getById(orderId);
        List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId);
        AppUserOrderGetVo appUserOrderGetVo = new AppUserOrderGetVo();
        appUserOrderGetVo.setOrderId(orderId);
        appUserOrderGetVo.setOrderNo(order.getOrderNo());
        appUserOrderGetVo.setOrderStatus(order.getOrderStatus());
        appUserOrderGetVo.setOrderFrom(order.getOrderFrom());
        appUserOrderGetVo.setOrderGoodsMoney(order.getOrderMoney());
        appUserOrderGetVo.setCouponDiscount(order.getCouponMoney());
        appUserOrderGetVo.setReceivableDeposit(order.getReceivableDeposit());
        appUserOrderGetVo.setReceivableMoney(order.getReceivableMoney());
        appUserOrderGetVo.setPayMoney(order.getPayMoney());
        appUserOrderGetVo.setOrderRemark(order.getOrderRemark());
        appUserOrderGetVo.setShopId(order.getShopId());
        Shop shop = remoteShopService.getShop(order.getShopId()).getData();
        appUserOrderGetVo.setShopName(shop.getShopName());
        appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
        return appUserOrderGetVo;
    }
    /**
     * 取消订单
     * @param orderId
     */
    @Override
    public void cancelOrder(String orderId){
        Order order = this.getById(orderId);
        if(order.getOrderStatus()!=1){
            throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER);
        }
        order.setOrderStatus(0);
        order.setCancelTime(new Date());
        this.saveOrUpdate(order);
    }
    /**
     * 获取用户订单统计
     * @param userId
     * @return
     */
    @Override
    public AppOrderTotalVo getAppOrderTotal(Long userId) {
        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(Order::getDelFlag, 0).eq(Order::getUserId, userId).eq(Order::getOrderStatus, 1);
        Integer noPayCount = Integer.valueOf((int) this.count(queryWrapper));
        queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(Order::getDelFlag, 0).eq(Order::getUserId, userId).eq(Order::getOrderStatus, 2);
        Integer noUseCount = Integer.valueOf((int) this.count(queryWrapper));
        AppOrderTotalVo appOrderTotalVo = new AppOrderTotalVo();
        appOrderTotalVo.setNoPayCount(noPayCount);
        appOrderTotalVo.setNoUseCount(noUseCount);
        return appOrderTotalVo;
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ShoppingCartServiceImpl.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.exception.ServiceException;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.order.domain.dto.AppBaseBathDto;
import com.ruoyi.system.api.domain.dto.AppBaseBathDto;
import com.ruoyi.order.domain.dto.AppShoppingCartAddDto;
import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto;
import com.ruoyi.order.domain.pojo.goods.Goods;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java
@@ -1,11 +1,17 @@
package com.ruoyi.order.service.impl.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.pojo.order.UserServiceRecord;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import com.ruoyi.order.mapper.order.UserServiceRecordMapper;
import com.ruoyi.order.service.order.UserServiceRecordService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -18,4 +24,17 @@
@Service
public class UserServiceRecordServiceImpl extends ServiceImpl<UserServiceRecordMapper, UserServiceRecord> implements UserServiceRecordService {
    @Resource
    private UserServiceRecordMapper userServiceRecordMapper;
    /**
     * 分页获取用户服务记录
     * @param page
     * @param appConsumerPageDto
     * @return
     */
    @Override
    public List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto){
        return userServiceRecordMapper.pageUserServiceRecord(page, appConsumerPageDto);
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java
@@ -1,7 +1,12 @@
package com.ruoyi.order.service.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppConsumerPageVo;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,11 @@
 */
public interface ConsumerGoodsService extends IService<ConsumerGoods> {
    /**
     * 分页获取用户服务
     * @param page
     * @param appConsumerPageDto
     * @return
     */
    List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java
@@ -2,6 +2,9 @@
import com.ruoyi.order.domain.pojo.order.OrderGoods;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface OrderGoodsService extends IService<OrderGoods> {
    /**
     *
     * @param orderId
     * @return
     */
    List<AppUserOrderGoodsPageVo> listVoByOrderId(String orderId);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -1,9 +1,19 @@
package com.ruoyi.order.service.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import com.ruoyi.order.domain.dto.AppPlaceOrderDto;
import com.ruoyi.order.domain.dto.AppSureOrderDto;
import com.ruoyi.order.domain.dto.AppUserOrderPageDto;
import com.ruoyi.order.domain.pojo.order.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppPlaceOrderVo;
import com.ruoyi.order.domain.vo.AppSureOrderVo;
import com.ruoyi.order.domain.vo.AppUserOrderGetVo;
import com.ruoyi.order.domain.vo.AppUserOrderPageVo;
import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
import java.util.List;
/**
 * <p>
@@ -16,11 +26,46 @@
public interface OrderService extends IService<Order> {
    /**
    * @description: buyGoods
    * @description: 购买商品
    * @param: appSureOrderDto
    * @return: AppSureOrderVo
    * @author jqs34
    * @date: 2023/5/3 0:31
    */
    AppSureOrderVo buyGoods(AppSureOrderDto appSureOrderDto);
    /**
     * 创建订单
     * @param appPlaceOrderDto
     * @return
     */
    AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto);
    /**
     * 分页获取用户订单
     * @param page
     * @param appUserOrderPageDto
     * @return
     */
    List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto);
    /**
     * 获取订单详情
     * @param appBaseGetDto
     * @return
     */
    AppUserOrderGetVo getAppOrderDetail(AppBaseGetDto appBaseGetDto);
    /**
     * 取消订单
     * @param orderId
     */
    void cancelOrder(String orderId);
    /**
     * 获取用户订单统计
     * @param userId
     * @return
     */
    AppOrderTotalVo getAppOrderTotal(Long userId);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ShoppingCartService.java
@@ -1,6 +1,6 @@
package com.ruoyi.order.service.order;
import com.ruoyi.order.domain.dto.AppBaseBathDto;
import com.ruoyi.system.api.domain.dto.AppBaseBathDto;
import com.ruoyi.order.domain.dto.AppShoppingCartAddDto;
import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto;
import com.ruoyi.order.domain.pojo.order.ShoppingCart;
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.java
@@ -1,7 +1,12 @@
package com.ruoyi.order.service.order;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.AppConsumerPageDto;
import com.ruoyi.order.domain.pojo.order.UserServiceRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.domain.vo.AppServiceRecordPageVo;
import java.util.List;
/**
 * <p>
@@ -13,4 +18,11 @@
 */
public interface UserServiceRecordService extends IService<UserServiceRecord> {
    /**
     * 分页获取用户服务记录
     * @param page
     * @param appConsumerPageDto
     * @return
     */
    List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java
@@ -2,7 +2,9 @@
import com.ruoyi.common.core.utils.DateUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.poi.ss.usermodel.DateUtil;
import java.security.SecureRandom;
import java.util.Date;
@@ -28,9 +30,9 @@
    private static final String SHOP_PREFIX = "HRT_S";
    /**
     * 订单前缀
     * 商户订单前缀
     */
    private static final String ORDER_PREFIX = "BO";
    private static final String ORDER_PREFIX = "SC";
    /**
     * 退款订单前缀
@@ -64,39 +66,12 @@
        return toFillZeroCode(prefix, maxLength, shopId);
    }
    /**
     * 获取会员编号
     * @param userId
     * @return
     */
    public static String getMemberNo(Long userId) {
        String prefix = APP_USER_PREFIX;
        return toFillZeroCode(prefix, maxLength, userId);
    }
    /**
     * 获取订单编号
     *
     * @param userId
     * @return
     */
    public static String getOrderNo(Long userId) {
        String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date());
        prefix = ORDER_PREFIX + prefix;
        return toFillZeroCode(prefix, maxLength, userId);
    }
    /**
     * 获取用户编号
     *
     * @param userId
     * @return
     */
    public static String getAppUserNo(Long userId) {
        return toFillZeroCode(APP_USER_PREFIX, 9, userId);
    public static String getShopOrderNo() {
        String orderNo;
        String timeTemp = DateFormatUtils.format(new Date(), "yyyyMMdd");
        String suffixNumber = "0001";
        orderNo = ORDER_PREFIX + timeTemp + suffixNumber;
        return orderNo;
    }
    /**
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -117,4 +117,25 @@
        </foreach>
    </delete>
    <select id="pageUserConsumerGoods" resultType="com.ruoyi.order.domain.vo.AppConsumerPageVo">
        SELECT
        tcg.consumer_goods_id consumerGoodsId,
        tcg.service_status serviceStatus,
        tcg.shop_id shopId,
        tg.goods_type goodsType,
        tg.goods_name goodsName,
        tgf.file_url goodsPicture,
        tg.goods_nurses goodsNurses,
        tcg.cycle_num_flag cycleNumFlag,
        tcg.service_num serviceNum,
        tcg.used_num usedNum
        FROM t_consumer_goods tcg
        INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId}
        <if test="param.goodsType != null">
            AND tg.goods_type = #{param.goodsType}
        </if>
        ORDER BY tcg.cycle_num_flag ASC, tcg.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
@@ -103,4 +103,19 @@
        </foreach>
    </delete>
    <select id="listVoByOrderId" resultType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo">
        SELECT
        tog.goods_id goodsId,
        tg.goods_name goodsName,
        tog.goods_type goodsType,
        tog.buy_num buyNum,
        tgf.file_url goodsPrice,
        tog.goods_total_money goodsRealPrice
        FROM t_order toc
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE toc.del_flag = 0 AND toc.order_id = #{orderId}
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -27,6 +27,23 @@
        <result property="useUserId"    column="use_user_id"    />
    </resultMap>
    <resultMap id="orderResultMap" type="com.ruoyi.order.domain.vo.AppUserOrderPageVo">
        <result column="orderId" property="orderId"/>
        <result column="orderStatus" property="orderStatus"/>
        <result column="orderNo" property="orderNo"/>
        <result column="receivableMoney" property="receivableMoney"/>
        <result column="goodsNum" property="goodsNum"/>
        <result column="shopId" property="shopId" />
        <collection property="appUserOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo">
            <result column="goodsId" property="goodsId"/>
            <result column="goodsName" property="goodsName"/>
            <result column="goodsType" property="goodsType"/>
            <result column="buyNum" property="buyNum"/>
            <result column="goodsPrice" property="goodsPrice"/>
            <result column="goodsRealPrice" property="goodsRealPrice" />
        </collection>
    </resultMap>
    <sql id="selectOrderVo">
        select order_id, del_flag, order_status, order_no, order_from, shop_id, user_id, order_money, coupon_money, discount_money, receivable_money, pay_type, pay_money, online_pay_money, offline_pay_money, order_remark, goods_info, create_time, pay_time, use_time, cancel_time, use_user_id from t_order
    </sql>
@@ -152,4 +169,33 @@
        </foreach>
    </delete>
    <select id="pageUserOrder" resultMap="orderResultMap">
        SELECT
        toc.order_id orderId,
        toc.order_no orderNo,
        toc.order_status orderStatus,
        tooc.order_from orderFrom,
        toc.receivable_money receivableMoney,
        toc.goods_num goodsNum,
        toc.shop_id shopId,
        tog.goods_id goodsId,
        tg.goods_name goodsName,
        tog.goods_type goodsType,
        tog.buy_num buyNum,
        tog.goods_price goodsPrice,
        tog.goods_total_money goodsRealPrice
        FROM t_order toc
        INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id
        INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id
        INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1
        WHERE toc.del_flag = 0
        <if test="param.orderStatus != null">
            AND toc.order_status = #{param.orderStatus}
        </if>
        <if test="param.keyword != null and param.keyword != ''">
            AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
        ORDER BY toc.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -75,4 +75,16 @@
        </foreach>
    </delete>
    <select id="pageUserServiceRecord" resultType="com.ruoyi.order.domain.vo.AppServiceRecordPageVo">
        SELECT
        tcg.consumer_goods_names consumerGoodsNames,
        tcg.service_type serviceType,
        tcg.create_time createTime
        FROM t_user_service_record tusr
        WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.userId} AND tusr.shop_id = #{param.shopId}
        <if test="param.goodsType != null">
            AND tusr.service_type = #{param.goodsType}
        </if>
        ORDER BY tusr.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.shop.controller.console;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
 * @author jqs34
 * @ClassName ShopController
 * @description: TODO
 * @date 2023年05月03日
 * @version: 1.0
 */
@RestController
@RequestMapping("/shop")
public class ShopController {
    @Autowired
    private ShopService shopService;
    @InnerAuth
    @PostMapping("/getShop")
    public R<Shop> getShop(@RequestBody Long shopId)
    {
        Shop shop = shopService.getByShopId(shopId);
        return R.ok(shop);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -9,6 +9,7 @@
import com.ruoyi.shop.domain.vo.MgtShopTagVo;
import com.ruoyi.shop.service.shop.ShopRelTagService;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java
@@ -2,7 +2,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.AppBaseGetDto;
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import com.ruoyi.shop.domain.dto.AppNearbyShopDto;
import com.ruoyi.shop.domain.vo.AppNearbyShopVo;
import com.ruoyi.shop.domain.vo.AppShopInfoVo;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseBathDto.java
File was deleted
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseDto.java
File was deleted
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppNearbyShopDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,7 +12,7 @@
 * @version: 1.0
 */
@Data
public class AppNearbyShopDto extends AppBaseDto{
public class AppNearbyShopDto extends AppBaseDto {
    @ApiModelProperty(value = "经度")
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppPageDto.java
File was deleted
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtChangeCoopDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
@@ -1,6 +1,7 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,7 +13,7 @@
 * @version: 1.0
 */
@Data
public class MgtEditShopDto extends MgtBaseDto{
public class MgtEditShopDto extends MgtBaseDto {
    @ApiModelProperty(value = "商户id,新增不传")
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopTagDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import lombok.Data;
/**
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -1,7 +1,7 @@
package com.ruoyi.shop.mapper.shop;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.pojo.shop.Shop;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.shop.domain.dto.MgtShopPageDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.shop.domain.vo.MgtShopPageVo;
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.shop.service.impl.shop;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.shop.*;
@@ -7,9 +9,10 @@
import com.ruoyi.shop.mapper.shop.ShopMapper;
import com.ruoyi.shop.service.shop.*;
import com.ruoyi.shop.util.CodeFactoryUtil;
import com.ruoyi.system.api.RemoteActivityService;
import com.ruoyi.system.api.RemoteConfigService;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
@@ -324,9 +327,9 @@
    public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){
        AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo();
        Shop shop = null;
        if(member.getRealtionShopId()!=null){
        if(member.getRelationShopId()!=null){
            //获取绑定商户
            shop = this.getById(member.getRealtionShopId());
            shop = this.getById(member.getRelationShopId());
        }else{
            //获取附近商户
            shop = this.getById(1L);
@@ -338,4 +341,17 @@
        appNearbyShopVo.setShopLongitude(shop.getShopLongitude());
        return appNearbyShopVo;
    }
    /**
     *
     * @param shopId
     * @return
     */
    @Override
    public Shop getByShopId(Long shopId){
        LambdaQueryWrapper<Shop> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.eq(Shop::getDelFlag, 0).eq(Shop::getShopId, shopId);
        Shop shop = this.getOne(queryWrapper);
        return shop;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -2,7 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.shop.Shop;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.vo.AppNearbyShopVo;
import com.ruoyi.shop.domain.vo.AppShopInfoVo;
@@ -70,6 +70,13 @@
    AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto, Member member);
    /**
     *
     * @param shopId
     * @return
     */
    Shop getByShopId(Long shopId);
    /**
     * 获取商户详情
     * @param userId
     * @return
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -11,6 +11,7 @@
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.sys.SysDept;
import com.ruoyi.system.api.domain.poji.sys.SysRole;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
@@ -355,6 +356,16 @@
        return R.ok();
    }
    /**
     *
     * @param appEditUserDto
     * @return
     */
    @InnerAuth
    @PostMapping("/user/editUserInfo")
    public R editUserInfo(@RequestBody AppEditUserDto appEditUserDto){
        userService.editUserInfo(appEditUserDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppAgreementDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,7 +12,7 @@
 * @version: 1.0
 */
@Data
public class AppAgreementDto  extends AppBaseDto{
public class AppAgreementDto  extends AppBaseDto {
    @ApiModelProperty(value = "协议类型1用户协议 2隐私协议")
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseBathDto.java
File was deleted
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseGetDto.java
File was deleted
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppImmediatelyBuyDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.AppBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppImmediatelyBuyDto
 * @description: TODO
 * @date 2023年04月27日
 * @version: 1.0
 */
@Data
public class AppImmediatelyBuyDto extends AppBaseDto {
    @ApiModelProperty(value = "商品id")
    private Long goodsId;
    @ApiModelProperty(value = "购买数量")
    private Integer buyNum;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppPageDto.java
File was deleted
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppSureOrderGoodsVo.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.domain.vo;
import lombok.Data;
/**
 * @author jqs34
 * @ClassName AppSureOrderGoodsVo
 * @description: TODO
 * @date 2023年04月27日
 * @version: 1.0
 */
@Data
public class AppSureOrderGoodsVo {
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppSureOrderVo.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author jqs34
 * @ClassName AppSureOrderVo
 * @description: TODO
 * @date 2023年04月27日
 * @version: 1.0
 */
@Data
public class AppSureOrderVo {
    @ApiModelProperty(value = "商品列表")
    private List<AppSureOrderGoodsVo> appSureOrderGoodsVoList;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -1,9 +1,13 @@
package com.ruoyi.system.service.impl.sys;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -549,9 +553,47 @@
     * @author jqs34
     * @date: 2023/4/30 15:43
     */
    @Override
    public void updateUserMobile(SysUser sysUser){
        SysUser oldSysUser = this.selectUserById(sysUser.getUserId());
        oldSysUser.setPhonenumber(sysUser.getPhonenumber());
        userMapper.updateUser(oldSysUser);
    }
    /**
     *
     * @param appEditUserDto
     */
    @Override
    public void editUserInfo(AppEditUserDto appEditUserDto){
        SysUser sysUser = this.selectUserById(appEditUserDto.getUserId());
        //修改类型1.昵称2.头像3.性别4.生日
        Integer editType = appEditUserDto.getEditType();
        String editValue = appEditUserDto.getEditValue();
        switch (editType){
            case 1:
                sysUser.setNickName(editValue);
                sysUser.setUpdateTime(new Date());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 2:
                sysUser.setAvatar(editValue);
                sysUser.setUpdateTime(new Date());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 3:
                sysUser.setSex(editValue);
                sysUser.setUpdateTime(new Date());
                sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId()));
                userMapper.updateUser(sysUser);
                break;
            case 4:
                break;
            default:
                break;
        }
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.service.sys;
import java.util.List;
import com.ruoyi.system.api.domain.dto.AppEditUserDto;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
/**
@@ -212,4 +214,10 @@
    * @date: 2023/4/30 15:43
    */
    public void updateUserMobile(SysUser sysUser);
    /**
     *
     * @param appEditUserDto
     */
    public void editUserInfo(AppEditUserDto appEditUserDto);
}