From b22df417e0bc423c788b013feaad686531d69eed Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 08 一月 2025 09:51:37 +0800 Subject: [PATCH] 修改bug --- ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java | 8 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserCancellationLogMapper.xml | 8 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java | 15 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java | 5 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java | 22 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianSubscribeVO.java | 4 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 74 ++++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java | 5 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/SecurityUtils.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java | 17 + ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/ConfirmOrder.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/GetSysUserList.java | 12 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassList.java | 2 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/AgentApplicationMapper.xml | 1 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml | 2 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java | 35 ++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java | 31 ++ ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java | 10 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java | 5 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 128 +++++++- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/OrderGood.java | 3 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml | 8 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 41 +- ruoyi-service/ruoyi-order/src/main/resources/mapper/order/RefundPassMapper.xml | 3 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java | 28 + ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 26 + ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserClickLogMapper.xml | 1 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/task/TaskUtil.java | 13 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderPageListVo.java | 3 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SeckillActivityInfoClient.java | 11 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 38 + ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports | 3 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml | 4 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java | 9 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java | 22 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java | 12 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AgentApplication.java | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 7 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianSubscribeService.java | 6 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SeckillActivityInfoClientFallbackFactory.java | 6 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 3 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsMapper.xml | 8 ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/SysUserMapper.xml | 44 +- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianSubscribeController.java | 1 /dev/null | 24 - ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 75 +++- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java | 25 + ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml | 5 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 41 +- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java | 20 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java | 15 53 files changed, 716 insertions(+), 183 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AgentApplication.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AgentApplication.java index 77c293d..2fafda8 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AgentApplication.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AgentApplication.java @@ -94,6 +94,8 @@ @TableField(exist = false) private String idStr; + @TableField(exist = false) + private Integer vipId; } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java index 91ef39a..c0a2a59 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/WithdrawalRequests.java @@ -1,6 +1,7 @@ package com.ruoyi.account.api.model; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -38,6 +39,7 @@ @ApiModelProperty(value = "添加时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @ApiModelProperty(value = "用户id") diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java new file mode 100644 index 0000000..684d7ac --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/OrderClientFallbackFactory.java @@ -0,0 +1,28 @@ +package com.ruoyi.order.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.order.feignClient.OrderClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +/** + * @author zhibing.pu + * @date 2025/1/7 14:38 + */ +public class OrderClientFallbackFactory implements FallbackFactory<OrderClient> { + @Override + public OrderClient create(Throwable cause) { + return new OrderClient(){ + + @Override + public R<Integer> getGoodsSaleNum(Integer goodsId, Integer type) { + return R.fail("获取商品销售数量失败:" + cause.getMessage()); + } + + + @Override + public R<Integer> getShopSaleNum(Integer shopId, Integer type) { + return R.fail("获取门店销售订单数量失败:" + cause.getMessage()); + } + }; + } +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/RemoteOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/RemoteOrderFallbackFactory.java deleted file mode 100644 index d62e606..0000000 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/factory/RemoteOrderFallbackFactory.java +++ /dev/null @@ -1,19 +0,0 @@ -//package factory; -// -//import feignClient.RemoteOrderClient; -//import org.springframework.cloud.openfeign.FallbackFactory; -//import org.springframework.stereotype.Component; -// -///** -// * 订单服务降级处理 -// * @author luofl -// */ -//@Component -//public class RemoteOrderFallbackFactory implements FallbackFactory<RemoteOrderClient> { -// -// @Override -// public RemoteOrderClient create(Throwable cause) { -// return new RemoteOrderClient() { -// }; -// } -//} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java new file mode 100644 index 0000000..b7a5490 --- /dev/null +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/OrderClient.java @@ -0,0 +1,35 @@ +package com.ruoyi.order.feignClient; + +import com.ruoyi.common.core.constant.ServiceNameConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.order.factory.OrderClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @author zhibing.pu + * @date 2025/1/7 14:37 + */ +@FeignClient(contextId = "OrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = OrderClientFallbackFactory.class) +public interface OrderClient { + + + /** + * 获取商品销售数量 + * @param goodsId + * @return + */ + @PostMapping("/order/getGoodsSaleNum") + R<Integer> getGoodsSaleNum(@RequestParam("goodsId") Integer goodsId, @RequestParam("type") Integer type); + + + /** + * 获取门店销售订单数量 + * @param shopId 门店id + * @param type 1:服务订单,2:单品订单 + * @return + */ + @PostMapping("/order/getShopSaleNum") + R<Integer> getShopSaleNum(@RequestParam("shopId") Integer shopId, @RequestParam("type") Integer type); +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/RemoteOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/RemoteOrderClient.java deleted file mode 100644 index 1bfdb19..0000000 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/RemoteOrderClient.java +++ /dev/null @@ -1,24 +0,0 @@ -//package feignClient; -// -//import com.ruoyi.common.core.constant.ServiceNameConstants; -//import com.ruoyi.common.core.domain.R; -//import factory.RemoteOrderFallbackFactory; -//import model.Order; -//import model.OrderGood; -//import org.springframework.cloud.openfeign.FeignClient; -//import org.springframework.web.bind.annotation.GetMapping; -//import org.springframework.web.bind.annotation.PostMapping; -//import org.springframework.web.bind.annotation.RequestBody; -//import org.springframework.web.bind.annotation.RequestParam; -// -//import java.util.List; -// -///** -// * 订单远程调用接口 -// * @author luofl -// */ -//@FeignClient(contextId = "RemoteOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = RemoteOrderFallbackFactory.class) -//public interface RemoteOrderClient { -// -// -//} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/OrderGood.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/OrderGood.java index 0eb2ab8..7443f90 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/OrderGood.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/OrderGood.java @@ -108,6 +108,9 @@ @ApiModelProperty(value = "绑定门店上级门店可获得返佣积分") @TableField("bound_shop_superiors_points") private Integer boundShopSuperiorsPoints; + @ApiModelProperty("购买类型(1=普通商品,2=秒杀商品)") + @TableField("type") + private Integer type; } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/ConfirmOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/ConfirmOrder.java index 1508b5c..ef0ee12 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/ConfirmOrder.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/ConfirmOrder.java @@ -21,4 +21,6 @@ private Integer shopId; @ApiModelProperty(value = "商品类型(1=服务商品,2=单品商品)", required = true) private Integer type; + @ApiModelProperty("优惠券id") + private Long couponId; } diff --git a/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index fa4f530..1e5d10a 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-api/ruoyi-api-order/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1,2 @@ -com.ruoyi.order.factory.RemoteOrderGoodsFallbackFactory \ No newline at end of file +com.ruoyi.order.factory.RemoteOrderGoodsFallbackFactory +com.ruoyi.order.factory.OrderClientFallbackFactory \ No newline at end of file diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SeckillActivityInfoClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SeckillActivityInfoClientFallbackFactory.java index e54d7a6..09fa1fa 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SeckillActivityInfoClientFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/SeckillActivityInfoClientFallbackFactory.java @@ -2,6 +2,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.GoodsSeckill; +import com.ruoyi.other.api.domain.SeckillActivityInfo; import com.ruoyi.other.api.feignClient.SeckillActivityInfoClient; import com.ruoyi.other.api.vo.GetSeckillActivityInfo; import lombok.extern.slf4j.Slf4j; @@ -16,6 +17,11 @@ public R<GoodsSeckill> getSeckillActivityInfo(GetSeckillActivityInfo info) { return R.fail("根据商品id和会员等级获取对应的秒杀活动失败:" + cause.getMessage()); } + + @Override + public R<SeckillActivityInfo> getSeckillActivityInfoById(Integer id) { + return R.fail("根据id获取秒杀活动失败:" + cause.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java index 45446cc..00ab5fb 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java @@ -49,6 +49,11 @@ public void updateShop(Shop shop) { R.fail("编辑门店失败:" + cause.getMessage()); } + + @Override + public R<List<Shop>> getAllShop() { + return R.fail("获取所有门店失败:" + cause.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SeckillActivityInfoClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SeckillActivityInfoClient.java index d84674e..0b3ba2c 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SeckillActivityInfoClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/SeckillActivityInfoClient.java @@ -3,11 +3,13 @@ import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.other.api.domain.GoodsSeckill; +import com.ruoyi.other.api.domain.SeckillActivityInfo; import com.ruoyi.other.api.factory.SeckillActivityInfoClientFallbackFactory; import com.ruoyi.other.api.vo.GetSeckillActivityInfo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; /** * @author zhibing.pu @@ -24,4 +26,13 @@ */ @PostMapping("/seckill-activity-info/getSeckillActivityInfo") R<GoodsSeckill> getSeckillActivityInfo(@RequestBody GetSeckillActivityInfo info); + + + /** + * 根据id获取秒杀活动 + * @param id + * @return + */ + @PostMapping("/seckill-activity-info/getSeckillActivityInfoById") + R<SeckillActivityInfo> getSeckillActivityInfoById(@RequestParam("id") Integer id); } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java index e86f791..b7841e6 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java @@ -57,4 +57,12 @@ */ @PostMapping("/shop/updateShop") void updateShop(Shop shop); + + + /** + * 获取所有门店 + * @return + */ + @PostMapping("/shop/getAllShop") + R<List<Shop>> getAllShop(); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java index 798c117..d1f6378 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java @@ -113,7 +113,7 @@ private Long roleId; /** - * 角色类型 1=平台 2=公司 3=门店 4=修理厂 + * 角色类型 1=平台 2=门店 */ @ApiModelProperty(value = "角色类型 1=平台 2=门店") @TableField("role_type") diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java index 83ab4cc..0f5133c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java @@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.annotation.Excel; import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.time.LocalDateTime; /** * @author zhibing.pu @@ -38,4 +42,15 @@ */ @TableField("role_id") private Long roleId; + + /** 部门ID */ + @TableField("dept_id") + private Long deptId; + + /** 用户昵称 */ + @TableField("nick_name") + private String nickName; + + @TableField("create_time") + private LocalDateTime createTime; } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 3c1c904..3b82526 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -90,7 +90,8 @@ } if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { recordLogService.recordLogininfor(request, user.getUserId().intValue(), username, Constants.LOGIN_FAIL_STATUS, "用户已停用,请联系管理员"); - throw new ServiceException("对不起,您的账号:" + username + " 已停用"); +// throw new ServiceException("对不起,您的账号:" + username + " 已停用"); + throw new ServiceException("您的账号已被禁用,请联系平台"); } passwordService.validate(user, password, request); recordLogService.recordLogininfor(request, user.getUserId().intValue(), username, Constants.LOGIN_SUCCESS_STATUS, "登录成功"); diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/SecurityUtils.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/SecurityUtils.java index 5cc6b28..da432b3 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/SecurityUtils.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/SecurityUtils.java @@ -118,7 +118,7 @@ public static void main(String[] args) { BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - String encode = passwordEncoder.encode("49a15811ea47e8e9c6d8f3ef4d7bbc54"); + String encode = passwordEncoder.encode("31dc4a464b71db3ddaea244410af4833"); System.err.println(encode); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index aa126fd..f801929 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -112,9 +113,6 @@ user.setUserName(user.getPhonenumber()); Long userid = tokenService.getLoginUser().getUserid(); SysUser sysUser1 = userService.getById(userid); - if(sysUser1.getRoleType() == 2){ - user.setObjectId(sysUser1.getObjectId()); - } if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){ user.setNickName(user.getPhonenumber()); } @@ -124,22 +122,41 @@ if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) { return error("登录账号重复"); } - user.setCreateBy(SecurityUtils.getUsername()); - user.setPassword(SecurityUtils.encryptPassword("a123456")); - user.setRoleType(sysUser1.getRoleType()); - userService.insertUser(user); - SysUserRole sysUserRole = new SysUserRole(); - sysUserRole.setRoleId(user.getRoleId()); - sysUserRole.setUserId(user.getUserId()); - userRoleService.insertSysUserRole(sysUserRole); - //添加门店员工关系数据 - if(2 == user.getRoleType()){ + //门店员工添加数据,需要判断账号是否存在,共用同一个账号 + if(2 == sysUser1.getRoleType()){ + SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, user.getPhonenumber()) + .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2)); + if(null == one){ + user.setCreateBy(SecurityUtils.getUsername()); + user.setPassword(SecurityUtils.encryptPassword("a123456")); + user.setRoleType(sysUser1.getRoleType()); + user.setObjectId(sysUser1.getObjectId()); + userService.insertUser(user); + one = user; + SysUserRole sysUserRole = new SysUserRole(); + sysUserRole.setRoleId(user.getRoleId()); + sysUserRole.setUserId(user.getUserId()); + userRoleService.insertSysUserRole(sysUserRole); + } + //添加门店员工关系数据 UserShop userShop = new UserShop(); - userShop.setUserId(user.getUserId()); - userShop.setShopId(user.getObjectId()); + userShop.setUserId(one.getUserId()); + userShop.setShopId(sysUser1.getObjectId()); userShop.setRoleType(2); userShop.setRoleId(user.getRoleId()); + userShop.setDeptId(user.getDeptId()); + userShop.setNickName(user.getNickName()); + userShop.setCreateTime(LocalDateTime.now()); userShopService.save(userShop); + }else{ + user.setCreateBy(SecurityUtils.getUsername()); + user.setPassword(SecurityUtils.encryptPassword("a123456")); + user.setRoleType(sysUser1.getRoleType()); + userService.insertUser(user); + SysUserRole sysUserRole = new SysUserRole(); + sysUserRole.setRoleId(user.getRoleId()); + sysUserRole.setUserId(user.getUserId()); + userRoleService.insertSysUserRole(sysUserRole); } return AjaxResult.success(); } @@ -174,6 +191,17 @@ ajax.put("posts", postService.selectPostAll()); if (StringUtils.isNotNull(userId)) { SysUser sysUser = userService.selectUserById(userId); + if(sysUser.getRoleType() == 2){ + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser1 = userService.selectUserById(userid); + UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, sysUser1.getObjectId())); + sysUser.setDeptId(one.getDeptId()); + sysUser.setNickName(one.getNickName()); + SysDept sysDept = deptService.selectDeptById(one.getDeptId()); + sysUser.setDept(sysDept); + sysUser.setRoleId(one.getRoleId()); + } + ajax.put("data", sysUser); ajax.put("postIds", postService.selectPostListByUserId(userId)); ajax.put("roleIds", sysUser.getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); @@ -231,13 +259,14 @@ //添加门店员工关系数据 if(2 == user.getRoleType()){ - userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId())); - UserShop userShop = new UserShop(); - userShop.setUserId(user.getUserId()); - userShop.setShopId(user.getObjectId()); - userShop.setRoleType(2); - userShop.setRoleId(user.getRoleId()); - userShopService.save(userShop); + UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId())); + one.setUserId(user.getUserId()); + one.setShopId(user.getObjectId()); + one.setRoleType(one.getRoleType()); + one.setRoleId(user.getRoleId()); + one.setDeptId(user.getDeptId()); + one.setNickName(user.getNickName()); + userShopService.updateById(one); } return success(); } @@ -614,7 +643,7 @@ @ResponseBody - @GetMapping("/switchShop") + @PutMapping("/switchShop/{shopId}") @ApiOperation(value = "切换门店", tags = {"门店后台-首页"}) public R<Set<String>> switchShop(@PathVariable("shopId") Integer shopId){ Long userid = tokenService.getLoginUser().getUserid(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/GetSysUserList.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/GetSysUserList.java index 58f136f..0297d79 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/GetSysUserList.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/GetSysUserList.java @@ -14,13 +14,11 @@ @Data @ApiModel public class GetSysUserList extends BasePage { - @ApiModelProperty(value = "人员搜索") + @ApiModelProperty(value = "账号名称") private String search; - @ApiModelProperty(value = "充电站id") - private Integer siteId; - @ApiModelProperty(value = "角色id") - private List<Integer> roleIds; - @ApiModelProperty(value = "账户状态(0=正常,1=禁用)") - private Integer status; + @ApiModelProperty(value = "联系电话") + private String phonenumber; + @ApiModelProperty(value = "所属部门") + private Integer deptId; private Integer objectId; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 291ae90..9bde5e4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -455,12 +455,6 @@ for (SysUser user : sysUsers) { if(2 == user.getRoleType()){ userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId())); - UserShop userShop = new UserShop(); - userShop.setUserId(user.getUserId()); - userShop.setShopId(user.getObjectId()); - userShop.setRoleType(2); - userShop.setRoleId(user.getRoleId()); - userShopService.save(userShop); } } return i; @@ -533,20 +527,31 @@ } List<SysUser> list = this.baseMapper.getList(pageInfo, getSysUserList); for (SysUser sysUser : list) { - List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId())); - List<String> roleNames = new ArrayList<>(); - for (SysUserRole sysUserRole : list1) { - SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId()); - if(null == sysRole){ - continue; + if(sysUser.getRoleType() == 2){ + UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, sysUser1.getObjectId()).eq(UserShop::getUserId, sysUser.getUserId())); + SysRole sysRole = roleMapper.selectRoleById(userShop.getRoleId()); + Long[] roleIds = new Long[]{userShop.getRoleId()}; + sysUser.setNickName(userShop.getNickName()); + sysUser.setRoleIds(roleIds); + sysUser.setRoleNames(Arrays.asList(sysRole.getRoleName())); + SysDept sysDept = deptService.selectDeptById(userShop.getDeptId()); + sysUser.setDept(sysDept); + }else{ + List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId())); + List<String> roleNames = new ArrayList<>(); + for (SysUserRole sysUserRole : list1) { + SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId()); + if(null == sysRole){ + continue; + } + roleNames.add(sysRole.getRoleName()); } - roleNames.add(sysRole.getRoleName()); + Long[] roleIds = new Long[]{}; + sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds)); + sysUser.setRoleNames(roleNames); + SysDept sysDept = deptService.selectDeptById(sysUser.getDeptId()); + sysUser.setDept(sysDept); } - Long[] roleIds = new Long[]{}; - sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds)); - sysUser.setRoleNames(roleNames); - SysDept sysDept = deptService.selectDeptById(sysUser.getDeptId()); - sysUser.setDept(sysDept); } return pageInfo.setRecords(list); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/SysUserMapper.xml index 6830f59..4156427 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/SysUserMapper.xml @@ -132,28 +132,30 @@ select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1 </select> <select id="getList" resultMap="SysUserResult"> - select * from sys_user where 1=1 - <if test="req.search !=null and req.search !=''"> - and (phonenumber like concat("%", #{req.search},"%") or nick_name like concat("%", #{req.search},"%")) + select * from sys_user where del_flag = '0' and status = '0' + <if test="null != req.phonenumber and '' != req.phonenumber"> + and phonenumber like CONCAT('%', #{req.phonenumber}, '%') </if> - <if test="null != req.siteId"> - and user_id in (select user_id from t_user_site where site_id = #{req.siteId}) - and user_id in (select user_id from sys_user_role where role_id in (select role_id from t_role_site where site_id = #{req.siteId})) - </if> - <if test="null != req.roleIds and req.roleIds.size() > 0"> - and user_id in (select user_id from sys_user_role where role_id in - <foreach collection="req.roleIds" item="item" index="index" open="(" separator="," close=")"> - #{item} - </foreach> - ) - </if> - <if test="null != req.status"> - and status = #{req.status} - </if> - <if test="null != req.objectId"> - and objectId = #{req.objectId} - </if> - and del_flag = '0' + <choose> + <when test="null != req.objectId"> + and user_id in (select user_id from t_user_shop where shop_id = #{req.objectId} + <if test="null != req.deptId"> + and dept_id = #{req.deptId} + </if> + <if test="req.search !=null and req.search !=''"> + and nick_name like concat("%", #{req.search},"%") + </if> + ) + </when> + <otherwise> + <if test="null != req.deptId"> + and dept_id = #{req.deptId} + </if> + <if test="req.search !=null and req.search !=''"> + and nick_name like concat("%", #{req.search},"%") + </if> + </otherwise> + </choose> order by create_time desc </select> <select id="getAllList" resultType="com.ruoyi.system.api.domain.SysUser"> diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java index 7f02b6b..8958c81 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java @@ -48,8 +48,14 @@ @PostMapping("/page") @ApiOperation(value = "会员申请列表", tags = {"后台"}) public R<IPage<AgentApplication>> page(@RequestBody AgentQuery agentQuery) { - - return R.ok(agentApplicationService.pageList(agentQuery)); + IPage<AgentApplication> agentApplicationIPage = agentApplicationService.pageList(agentQuery); + for (AgentApplication record : agentApplicationIPage.getRecords()) { + AppUser byId = appUserService.getById(record.getAppUserId()); + if (byId!=null){ + record.setVipId(byId.getVipId()); + } + } + return R.ok(agentApplicationIPage); } @Resource private VipSettingClient vipSettingClient; diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java index db0c2d6..ccb48b3 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java @@ -81,6 +81,10 @@ private VipSettingService vipSettingService; @Resource private AppUserMapper appUserMapper; + @Resource + private ShopClient shopClient; + @Resource + private RemoteOrderGoodsClient remoteOrderGoodsClient; @ResponseBody @@ -203,8 +207,8 @@ userCancellationLog.setAppUserId(user.getId()); userCancellationLog.setVipId(user.getVipId()); userCancellationLogService.save(userCancellationLog); - - + user.setStatus(3); + appUserService.updateById(user); return R.ok(); } @@ -288,13 +292,13 @@ user.setShopName(storeById.getData().getName()); } } - Long count1 = appUserService.lambdaQuery().eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).count(); - Long count2 = appUserService.lambdaQuery().eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).count(); - Long count3 = appUserService.lambdaQuery().eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).count(); - Long count4 = appUserService.lambdaQuery().eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).count(); - Long count5 = appUserService.lambdaQuery().eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).count(); - Long count6 = appUserService.lambdaQuery().eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).count(); - Long count7 = appUserService.lambdaQuery().eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).count(); + Long count1 = appUserService.lambdaQuery().eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + Long count2 = appUserService.lambdaQuery().eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + Long count3 = appUserService.lambdaQuery().eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + Long count4 = appUserService.lambdaQuery().eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + Long count5 = appUserService.lambdaQuery().eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + Long count6 = appUserService.lambdaQuery().eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + Long count7 = appUserService.lambdaQuery().eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); user.setCount1(count1); user.setCount2(count2); user.setCount3(count3); @@ -516,10 +520,8 @@ } - @Resource - private ShopClient shopClient; - @Resource - private RemoteOrderGoodsClient remoteOrderGoodsClient; + + @GetMapping("/detail") @ApiOperation(value = "用户列表-详情", tags = {"管理后台"}) @@ -610,7 +612,7 @@ @PostMapping("/getAppUserByPhone1") public R<AppUser> getAppUserByPhone1(@RequestParam("phone") String phone) { - AppUser appUser = appUserService.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getStatus, 1) + AppUser appUser = appUserService.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).ne(AppUser::getStatus, 3) .eq(AppUser::getPhone, phone)); return R.ok(appUser); } @@ -656,13 +658,7 @@ for (AppUser appUser : appUserList) { BigDecimal distributionAmount = Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO); - BigDecimal serviceFee = Optional.ofNullable(appUser.getShopServiceFee()).orElse(BigDecimal.ZERO); - BigDecimal userCommission = Optional.ofNullable(appUser.getShopCommission()).orElse(BigDecimal.ZERO); - totalCommission = totalCommission.add(distributionAmount); - totalServiceFee = totalServiceFee.add(serviceFee); - totalUserCommission = totalUserCommission.add(userCommission); - Integer vipId = appUser.getVipId(); if (vipId != null && vipId >= 1 && vipId <= 7) { vipCommissions.merge(vipId, distributionAmount, BigDecimal::add); @@ -672,6 +668,11 @@ .merge(vipId, distributionAmount, BigDecimal::add); } } + List<Shop> data = shopClient.getAllShop().getData(); + for (Shop shop : data) { + totalServiceFee = totalServiceFee.add(shop.getServerGiveawayMoney()); + totalUserCommission = totalUserCommission.add(shop.getGiveawayMoney()); + } CommissionDetail commissionDetail = new CommissionDetail(); commissionDetail.setTotalCommission(totalCommission); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java index 8608eff..a08b7cf 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java @@ -1,6 +1,7 @@ package com.ruoyi.account.controller; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.api.model.AppUser; @@ -12,6 +13,7 @@ import com.ruoyi.account.service.UserCouponService; import com.ruoyi.account.service.UserPointService; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.account.api.vo.PaymentUserCoupon; import com.ruoyi.other.api.domain.Goods; @@ -153,6 +155,7 @@ userPoint.setBalance(byId.getLavePoint()); userPoint.setAppUserId(userid); userPoint.setObjectId(Long.valueOf(data.getId())); + userPoint.setCreateTime(LocalDateTime.now()); userPointService.save(userPoint); } //增加优惠券记录,根据时间类型设置开始结束时间 @@ -219,15 +222,22 @@ public R<UserCoupon> getCouponInfoInfo(String id){ UserCoupon userCoupon = userCouponService.getById(id); CouponInfo couponInfo = couponClient.detail(userCoupon.getCouponId()).getData(); - List<Goods> goods = null; - if("-1".equals(couponInfo.getForGoodIds())){ - goods = goodsClient.getGoodsByType(2).getData(); + List<String> goodNames = new ArrayList<>(); + if(!"null".equals(couponInfo.getGoodsNameJson()) && StringUtils.isNotEmpty(couponInfo.getGoodsNameJson())){ + goodNames = JSON.parseArray(couponInfo.getGoodsNameJson(), String.class); }else{ - goods = goodsClient.getGoodsById(couponInfo.getForGoodIds().split(",")).getData(); + List<Goods> goods = null; + if("-1".equals(couponInfo.getForGoodIds())){ + goods = goodsClient.getGoodsByType(2).getData(); + }else{ + goods = goodsClient.getGoodsById(couponInfo.getForGoodIds().split(",")).getData(); + } + goodNames = goods.stream().map(Goods::getName).collect(Collectors.toList()); } + CouponInfoVo couponInfoVo = new CouponInfoVo(); BeanUtils.copyProperties(couponInfo, couponInfoVo); - couponInfoVo.setGoodNames(goods.stream().map(Goods::getName).collect(Collectors.toList())); + couponInfoVo.setGoodNames(goodNames); userCoupon.setCouponInfoVo(couponInfoVo); if (userCoupon.getUseTime()==null){ userCoupon.setStatus(1); diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java index c584e72..c81fde8 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java @@ -662,6 +662,9 @@ public List<NearbyReferrerVo> getNearbyReferrer(NearbyReferrer nearbyReferrer) { //使用地图获取省市区数据 String citycode = TencentMapUtil.inverseGeographicalAnalysis(nearbyReferrer.getLongitude(), nearbyReferrer.getLatitude(), false); + if(StringUtils.isEmpty(citycode)){ + citycode = "510100"; + } if(null != citycode){ String cityCode = citycode.substring(0, 4) + "00"; List<NearbyReferrerVo> list = this.baseMapper.getNearbyReferrer(cityCode, nearbyReferrer); @@ -729,7 +732,7 @@ Integer vipCancelDay = vipSetting.getVipCancelDay(); Integer vipChangeDay = vipSetting.getVipChangeDay(); List<AppUser> list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 1).eq(AppUser::getDelFlag, 0).isNotNull(AppUser::getInviteUserId) - .eq(AppUser::getStatus, 1).last(" and ADDDATE(create_time,INTERVAL " + vipCancelDay + " DAY) <= now()")); + .eq(AppUser::getStatus, 1).last(" and (UNIX_TIMESTAMP(create_time) + (" + vipCancelDay + " * 86400)) <= UNIX_TIMESTAMP()")); for (AppUser appUser : list) { UpdateWrapper<AppUser> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("invite_user_id", null).set("shop_id", null).eq("id", appUser.getId()); @@ -738,7 +741,7 @@ //可更换推广人 list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getChangePromoter, 0) - .eq(AppUser::getStatus, 1).last(" and ADDDATE(ifnull(last_shop_time, create_time),INTERVAL " + vipChangeDay + " DAY) <= now()")); + .eq(AppUser::getStatus, 1).last(" and (UNIX_TIMESTAMP(ifnull(last_shop_time, create_time)) + (" + vipChangeDay + " * 86400)) <= UNIX_TIMESTAMP()")); for (AppUser appUser : list) { appUser.setChangePromoter(1); this.updateById(appUser); diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/AgentApplicationMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/AgentApplicationMapper.xml index e408dac..a681db5 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/AgentApplicationMapper.xml +++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/AgentApplicationMapper.xml @@ -45,6 +45,7 @@ and t1.status = #{agentQuery.status} </if> </where> + order by t1.status asc </select> </mapper> diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserCancellationLogMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserCancellationLogMapper.xml index 9f83d27..5ed212a 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserCancellationLogMapper.xml +++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserCancellationLogMapper.xml @@ -20,11 +20,11 @@ from t_user_cancellation_log t1 left join t_app_user t2 on t1.app_user_id = t2.id <where> - <if test="agentQuery.name != null and agentQuery.name != ''"> - and t2.name like concat('%',#{agentQuery.name},'%') + <if test="agentQuery.userName != null and agentQuery.userName != ''"> + and t2.name like concat('%',#{agentQuery.userName},'%') </if> - <if test="agentQuery.phone != null and agentQuery.phone != ''"> - and t2.phone like concat('%',#{agentQuery.phone},'%') + <if test="agentQuery.userPhone != null and agentQuery.userPhone != ''"> + and t2.phone like concat('%',#{agentQuery.userPhone},'%') </if> <if test="agentQuery.vipId != null"> and t1.vip_id = #{agentQuery.vipId} diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserClickLogMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserClickLogMapper.xml index 0fcc57d..5f8608f 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserClickLogMapper.xml +++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserClickLogMapper.xml @@ -37,6 +37,7 @@ and DATE(t1.create_time) between #{agentQuery.localDate1} and #{agentQuery.localDate2} </if> </where> + order by t1.create_time desc </select> </mapper> diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml index ddfb739..d5943b6 100644 --- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml +++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml @@ -23,7 +23,7 @@ select t1.*,t2.name as userName,t2.phone as userPhone from t_withdrawal_requests t1 left join t_app_user t2 on t1.app_user_id = t2.id - + order by t1.create_time desc </select> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java index 1fe2e7f..dfd365b 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java @@ -33,10 +33,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -135,11 +132,8 @@ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), }) @GetMapping("/cancel/{orderId}") - public R<Void> cancel(@PathVariable("orderId") Long orderId){ - orderService.update(new LambdaUpdateWrapper<Order>() - .eq(Order::getId, orderId) - .set(Order::getOrderStatus, OrderStatus.CANCELLED.getCode())); - return R.ok(); + public R cancel(@PathVariable("orderId") Long orderId){ + return orderService.cancel(orderId); } /** @@ -370,5 +364,31 @@ } } + + /** + * 获取商品销售数量 + * @param goodsId + * @return + */ + @PostMapping("/getGoodsSaleNum") + public R<Integer> getGoodsSaleNum(@RequestParam("goodsId") Integer goodsId, @RequestParam("type") Integer type){ + Integer goodsSaleNum = orderService.getGoodsSaleNum(goodsId, type); + return R.ok(goodsSaleNum); + } + + + + /** + * 获取门店销售订单数量 + * @param shopId 门店id + * @param type 1:服务订单,2:单品订单 + * @return + */ + @PostMapping("/getShopSaleNum") + public R<Integer> getShopSaleNum(@RequestParam("shopId") Integer shopId, @RequestParam("type") Integer type){ + Integer shopSaleNum = orderService.getShopSaleNum(shopId, type); + return R.ok(shopSaleNum); + } + } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java index 6b07b2a..67be37c 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java @@ -36,4 +36,21 @@ OrderStatistics getOrderStatistics(@Param("startTime")String startTime, @Param("endTime") String endTime); + + + /** + * 获取商品销售数量 + * @param goodsId + * @return + */ + Integer getGoodsSaleNum(@Param("goodsId") Integer goodsId, @Param("type") Integer type); + + + /** + * 获取店铺订单数量 + * @param shopId + * @param type + * @return + */ + Integer getShopSaleNum(@Param("shopId") Integer shopId, @Param("type") Integer type); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java index 7b32545..9233416 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java @@ -6,6 +6,7 @@ import com.ruoyi.order.model.Order; import com.ruoyi.order.util.payment.model.RefundCallbackResult; import com.ruoyi.order.vo.*; +import org.omg.CORBA.INTERNAL; import org.springframework.web.bind.annotation.PathVariable; import java.util.List; @@ -34,7 +35,13 @@ * @return */ PageInfo<OrderPageListVo> getOrderPageList(OrderPageList orderPageList); - + + /** + * 小程序取消订单 + * @param orderId + * @return + */ + R cancel(Long orderId); /** * 确认发货操作 @@ -87,4 +94,20 @@ * @return */ OrderInfoVo getOrderInfo(Long orderId); + + /** + * 获取商品销售数量 + * @param goodsId + * @return + */ + Integer getGoodsSaleNum(Integer goodsId, Integer type); + + + /** + * 获取店铺订单数量 + * @param shopId + * @param type + * @return + */ + Integer getShopSaleNum(Integer shopId, Integer type); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 3a68b76..35d4d3e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.feignClient.BalanceChangeRecordClient; @@ -304,11 +305,42 @@ AppUser appUser = appUserClient.getAppUserById(appUserId); orderPageListVo.setUserName(appUser.getName()); orderPageListVo.setPhone(appUser.getPhone()); + RefundPass one = refundPassService.getOne(new LambdaQueryWrapper<RefundPass>().eq(RefundPass::getOrderId, orderPageListVo.getId()).eq(RefundPass::getDelFlag, 0).last(" order by create_time desc limit 0, 1")); + orderPageListVo.setRefundPassId(null != one ? one.getId().toString() : null); } return pageInfo.setRecords(list); } - - + + + /** + * 小程序取消订单 + * @param orderId + * @return + */ + @Override + public R cancel(Long orderId) { + Order order = this.getById(orderId); + if(null == order){ + return R.fail("取消失败"); + } + Long userid = tokenService.getLoginUserApplet().getUserid(); + if(!order.getAppUserId().equals(userid)){ + return R.fail("取消失败"); + } + if(!Arrays.asList(1, 2, 3).contains(order.getOrderStatus())){ + return R.fail("订单取消失败"); + } + if(LocalDateTime.now().isAfter(order.getAfterSaleTime())){ + return R.fail("订单取消失败"); + } + order.setOrderStatus(5); + R r = refundPayMoney(order); + if(200 == r.getCode()){ + this.updateById(order); + } + return r; + } + /** * 确认发货操作 * @param orderId @@ -345,6 +377,9 @@ Order order = this.getById(orderId); if(Arrays.asList(5, 6, 7).contains(order.getOrderStatus())){ return R.fail("无效的操作"); + } + if(LocalDateTime.now().isAfter(order.getAfterSaleTime())){ + return R.fail("订单取消失败"); } order.setOrderStatus(5); R r = refundPayMoney(order); @@ -667,6 +702,18 @@ return R.fail("无效的操作"); } order.setOrderStatus(4); + R<BaseSetting> baseSettingR = baseSettingClient.getBaseSetting(5); + if (R.isError(baseSettingR)) { + return R.fail("售后设置获取失败"); + } + BaseSetting baseSetting = baseSettingR.getData(); + if (baseSetting == null) { + return R.fail("售后设置获取失败"); + } + String content = baseSetting.getContent(); + JSONObject jsonObject = JSONObject.parseObject(content); + Long days = jsonObject.getLong("days"); + order.setAfterSaleTime(LocalDateTime.now().plusDays(days)); this.updateById(order); return R.ok(); } @@ -730,4 +777,27 @@ orderInfo.setGoodsJson(JSON.toJSONString(goodsJson)); return orderInfo; } + + + /** + * 获取商品销售数量 + * @param goodsId + * @return + */ + @Override + public Integer getGoodsSaleNum(Integer goodsId, Integer type) { + return this.baseMapper.getGoodsSaleNum(goodsId, type); + } + + + /** + * 获取店铺订单数量 + * @param shopId + * @param type + * @return + */ + @Override + public Integer getShopSaleNum(Integer shopId, Integer type) { + return this.baseMapper.getShopSaleNum(shopId, type); + } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java index 4251ede..e7cfb50 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java @@ -132,8 +132,10 @@ List<OrderRefundPassList> orderRefundPassList = this.baseMapper.getOrderRefundPassList(pageInfo, refundPassListVo.getCode(), appUserIds, shopId, refundPassListVo.getRefundMethod(), refundPassListVo.getStatus()); for (OrderRefundPassList refundPassList : orderRefundPassList) { AppUser appUser = appUserClient.getAppUserById(refundPassList.getAppUserId()); - refundPassList.setUserName(appUser.getName()); - refundPassList.setPhone(appUser.getPhone()); + if(null != appUser){ + refundPassList.setUserName(appUser.getName()); + refundPassList.setPhone(appUser.getPhone()); + } } return pageInfo.setRecords(orderRefundPassList); } @@ -160,6 +162,9 @@ if(refundPass.getRefundMethod() == 2 && 2 == status){ refundPass.setStatus(2); } + if(3 == status){ + refundPass.setStatus(3); + } refundPass.setPassRemark(passRemark); //仅退款的售后需要将支付金额原路返回,然后再扣减支付获得的积分 if(refundPass.getRefundMethod() == 2 && 2 == status){ diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index 6016597..d8b27db 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -388,16 +388,89 @@ } confirmOrderVo.setOrderPoint(sum); } - //查询当前是否有订单活动 - OrderActivityInfo orderActivityInfo = orderActivityInfoClient.getNowOrderActivityInfo(appUser.getVipId()).getData(); + BigDecimal orderMoney = confirmOrderVo.getOrderMoney(); BigDecimal paymentMoney = orderMoney; + //总优惠金额 + BigDecimal activityAmount = BigDecimal.ZERO; + + //减去优惠券优惠金额 + CouponInfoVo couponInfoVo = null; + if(null != confirmOrder.getCouponId() && 2 != confirmOrder.getPaymentType()){ + couponInfoVo = userCouponClient.getCouponInfo(confirmOrder.getCouponId()).getData(); + String forGoodIds = couponInfoVo.getForGoodIds(); + String[] split = forGoodIds.split(","); + List<String> parseArray = Arrays.asList(split); + //全部商品 + if("-1".equals(forGoodIds)){ + //满减 + if(1 == couponInfoVo.getCouponType() && couponInfoVo.getConditionAmount().compareTo(paymentMoney) <= 0){ + paymentMoney = paymentMoney.subtract(couponInfoVo.getDiscountAmount()); + activityAmount = activityAmount.add(couponInfoVo.getDiscountAmount()); + } + //代金券 + if(2 == couponInfoVo.getCouponType()){ + paymentMoney = paymentMoney.subtract(couponInfoVo.getMoneyAmount()); + activityAmount = activityAmount.add(couponInfoVo.getMoneyAmount()); + if(paymentMoney.compareTo(BigDecimal.ZERO) < 0){ + paymentMoney = BigDecimal.ZERO; + } + } + //折扣券 + if(3 == couponInfoVo.getCouponType()){ + BigDecimal paymentMoney1 = couponInfoVo.getDiscount().divide(new BigDecimal(10)).multiply(paymentMoney); + BigDecimal bigDecimal = paymentMoney.subtract(paymentMoney1).setScale(2, RoundingMode.HALF_EVEN); + paymentMoney = paymentMoney1; + activityAmount = activityAmount.add(bigDecimal); + } + }else{ + //部分商品,需要计算参与优惠商品的支付金额,然后再对商品进行优惠券处理 + paymentMoney = BigDecimal.ZERO; + BigDecimal goodsMoney = BigDecimal.ZERO; + for (MyShoppingCartVo myShoppingCartVo : goodsList) { + String goodsId = myShoppingCartVo.getGoodsId().toString(); + BigDecimal cash = myShoppingCartVo.getCash(); + if(parseArray.contains(goodsId)){ + goodsMoney = goodsMoney.add(cash); + }else{ + paymentMoney = paymentMoney.add(cash); + } + } + + //满减 + if(1 == couponInfoVo.getCouponType() && couponInfoVo.getConditionAmount().compareTo(goodsMoney) <= 0){ + goodsMoney = goodsMoney.subtract(couponInfoVo.getDiscountAmount()); + activityAmount = activityAmount.add(couponInfoVo.getDiscountAmount()); + } + //代金券 + if(2 == couponInfoVo.getCouponType()){ + goodsMoney = goodsMoney.subtract(couponInfoVo.getMoneyAmount()); + activityAmount = activityAmount.add(couponInfoVo.getMoneyAmount()); + if(goodsMoney.compareTo(BigDecimal.ZERO) < 0){ + goodsMoney = BigDecimal.ZERO; + } + } + //折扣券 + if(3 == couponInfoVo.getCouponType()){ + BigDecimal paymentMoney1 = couponInfoVo.getDiscount().divide(new BigDecimal(10)).multiply(goodsMoney); + BigDecimal bigDecimal = goodsMoney.subtract(paymentMoney1).setScale(2, RoundingMode.HALF_EVEN); + goodsMoney = paymentMoney1; + activityAmount = activityAmount.add(bigDecimal); + } + paymentMoney = paymentMoney.add(goodsMoney); + } + } + + //查询当前是否有订单活动 + OrderActivityInfo orderActivityInfo = orderActivityInfoClient.getNowOrderActivityInfo(appUser.getVipId()).getData(); //满XX才打折,只有现金才能优惠 if(null != orderActivityInfo && confirmOrder.getPaymentType() == 1 && orderActivityInfo.getConditionAmount().compareTo(orderMoney) <= 0){ confirmOrderVo.setActivityName(orderActivityInfo.getActivityName()); - paymentMoney = orderActivityInfo.getDiscount().divide(new BigDecimal(10)).multiply(orderMoney); - confirmOrderVo.setDiscountAmount(orderMoney.subtract(paymentMoney).setScale(2, RoundingMode.HALF_EVEN)); + BigDecimal multiply = orderActivityInfo.getDiscount().divide(new BigDecimal(10)).multiply(paymentMoney); + BigDecimal bigDecimal = paymentMoney.subtract(multiply).setScale(2, RoundingMode.HALF_EVEN); + activityAmount = activityAmount.add(bigDecimal); } + confirmOrderVo.setDiscountAmount(activityAmount); BaseSetting baseSetting = baseSettingClient.getBaseSetting(4).getData(); confirmOrderVo.setUseSimultaneously(JSON.parseObject(baseSetting.getContent()).getInteger("status") == 1); int earnPoint = goodsList.stream().mapToInt(MyShoppingCartVo::getEarnSpendingPoints).sum(); @@ -582,21 +655,26 @@ for (int i = 0; i < objects.size(); i++) { Long id = objects.getJSONObject(i).getLong("id"); Integer num1 = objects.getJSONObject(i).getInteger("num"); + Integer type = objects.getJSONObject(i).getInteger("type"); num += num1; ShoppingCart shoppingCart = this.getById(id); //判断当前数量是否已经超出限购数量(需要计算已经购买的数量) + Integer goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), type); Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData(); - if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit()){ - List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getAppUserId, appUser.getId()).eq(Order::getDelFlag, 0).notIn(Order::getOrderStatus, Arrays.asList(5, 6))); - List<Long> orderIds = orders.stream().map(Order::getId).collect(Collectors.toList()); - int sum = 0; - if(orderIds.size() > 0){ - List<OrderGood> orderGoodList = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().in(OrderGood::getOrderId, orderIds) - .eq(OrderGood::getGoodsId, shoppingCart.getGoodsId()).eq(OrderGood::getDelFlag, 0)); - sum = orderGoodList.stream().mapToInt(OrderGood::getNum).sum(); - } - if((num1 + sum) > goods.getPurchaseLimit()){ + if(1 == type){ + if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && (goodsSaleNum + num1) > goods.getPurchaseLimit()){ return R.fail(goods.getName() + "已超出购买上限"); + } + }else{ + GetSeckillActivityInfo info = new GetSeckillActivityInfo(); + info.setGoodsId(shoppingCart.getGoodsId()); + info.setVip(appUser.getVipId()); + GoodsSeckill goodsSeckill = seckillActivityInfoClient.getSeckillActivityInfo(info).getData(); + if(null != goodsSeckill ){ + SeckillActivityInfo activityInfo = seckillActivityInfoClient.getSeckillActivityInfoById(goodsSeckill.getSeckillActivityInfoId()).getData(); + if(null != activityInfo.getMaxNum() && -1 != activityInfo.getMaxNum() && (goodsSaleNum + num1) > activityInfo.getMaxNum()){ + return R.fail(goods.getName() + "已超出秒杀活动购买上限"); + } } } ids.add(id); @@ -861,19 +939,23 @@ OrderGood orderGood = new OrderGood(); orderGood.setGoodsId(myShoppingCartVo.getGoodsId()); orderGood.setOrderId(order.getId()); - GetSeckillActivityInfo info = new GetSeckillActivityInfo(); - info.setGoodsId(myShoppingCartVo.getGoodsId()); - info.setVip(appUser.getVipId()); - GoodsSeckill goodsSeckill = seckillActivityInfoClient.getSeckillActivityInfo(info).getData(); - if(null != goodsSeckill){ - orderGood.setSeckillJson(JSON.toJSONString(goodsSeckill)); - } for (int i = 0; i < objects.size(); i++) { Long id = objects.getJSONObject(i).getLong("id"); if(myShoppingCartVo.getId().equals(id.toString())){ ShoppingCart shoppingCart = this.getById(id); Integer num1 = objects.getJSONObject(i).getInteger("num"); + Integer type = objects.getJSONObject(i).getInteger("type"); orderGood.setNum(num1); + orderGood.setType(type); + if(2 == type){ + GetSeckillActivityInfo info = new GetSeckillActivityInfo(); + info.setGoodsId(myShoppingCartVo.getGoodsId()); + info.setVip(appUser.getVipId()); + GoodsSeckill goodsSeckill = seckillActivityInfoClient.getSeckillActivityInfo(info).getData(); + if(null != goodsSeckill){ + orderGood.setSeckillJson(JSON.toJSONString(goodsSeckill)); + } + } Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData(); orderGood.setGoodJson(JSON.toJSONString(goods1)); break; @@ -1298,6 +1380,7 @@ for (String code : orderPayment) { Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNumber, code)); if(null == order || order.getPayStatus() != 1){ + redisTemplate.opsForZSet().remove("OrderPayment", code); continue; } //开始执行关闭订单操作 @@ -1307,6 +1390,7 @@ redisTemplate.opsForZSet().add("OrderPayment", code, 0); log.error("关闭订单失败:{}---->{}", code, JSON.toJSONString(closeOrderResult)); } + redisTemplate.opsForZSet().remove("OrderPayment", code); } //快递支付 @@ -1315,6 +1399,7 @@ code = code.substring(0, 23); Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNumber, code)); if(null == order || order.getPayStatus() != 1){ + redisTemplate.opsForZSet().remove("MaterialFlowPayment", code); continue; } //开始执行关闭订单操作 @@ -1324,6 +1409,7 @@ redisTemplate.opsForZSet().add("MaterialFlowPayment", code, 0); log.error("关闭订单失败:{}---->{}", code, JSON.toJSONString(closeOrderResult)); } + redisTemplate.opsForZSet().remove("MaterialFlowPayment", code); } } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderPageListVo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderPageListVo.java index 7c97847..b6cdfb0 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderPageListVo.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderPageListVo.java @@ -31,9 +31,10 @@ private BigDecimal orderMoney; @ApiModelProperty("订单状态(1待发货2待收货3待使用4已完成5已取消6已退款7售后中8已评价)") private Integer status; - /** * 用户id */ private Long appUserId; + @ApiModelProperty("售后订单id") + private String refundPassId; } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassList.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassList.java index 9d4a048..b909179 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassList.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderRefundPassList.java @@ -25,6 +25,8 @@ private Integer refundMethod; @ApiModelProperty("申请原因") private String refundReason; + @ApiModelProperty("1待审核2已完成3已拒绝4待退货5待平台收货") + private Integer status; @ApiModelProperty("状态(1待审核2同意3拒绝)") private Integer passStatus; /** diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 52f52fb..0922eb9 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -91,4 +91,30 @@ and tor.create_time between #{startTime} and #{endTime} </if> </select> + + + <select id="getGoodsSaleNum" resultType="int"> + select + ifnull(sum(a.num), 0) + from t_order_good a + left join t_order b on (a.order_id = b.id) + where b.del_flag = 0 and b.pay_status = 2 and b.order_status in (1, 2, 3, 4, 7, 8) and a.goods_id = #{goodsId} + <if test="null != type"> + and a.type = #{type} + </if> + </select> + + + <select id="getShopSaleNum" resultType="int"> + select + ifnull(count(1), 0) + from t_order a + where del_flag = 0 and pay_status = 2 and order_status in (1, 2, 3, 4, 7, 8) + <if test="null != shopId and 0 != shopId"> + and shop_id = #{shopId} + </if> + <if test="null != type"> + and order_type = #{type} + </if> + </select> </mapper> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/RefundPassMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/RefundPassMapper.xml index 270358b..28f8142 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/RefundPassMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/RefundPassMapper.xml @@ -11,7 +11,8 @@ DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%m:%s') as createTime, a.refund_method as refundMethod, a.refund_reason as refundReason, - a.pass_status as passStatus + a.pass_status as passStatus, + a.status from t_refund_pass a left join t_order b on (a.order_id = b.id) where a.del_flag = 0 diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java index 50b09d0..aedad5c 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java @@ -97,6 +97,18 @@ /** + * 获取商品秒杀活动 + * @param id + * @return + */ + @PostMapping("/getSeckillActivityInfoById") + public R<SeckillActivityInfo> getSeckillActivityInfoById(@RequestParam("id") Integer id){ + SeckillActivityInfo one = seckillActivityInfoService.getById(id); + return R.ok(one); + } + + + /** * 秒杀活动列表 */ @GetMapping("/manageList") diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java index ff0db3a..4a5dc06 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.order.vo.VerifiableShopVo; import com.ruoyi.other.api.domain.Goods; import com.ruoyi.other.api.domain.GoodsShop; @@ -77,6 +78,8 @@ private GoodsService goodsService; @Resource private GoodsShopService goodsShopService; + @Resource + private OrderClient orderClient; @@ -471,6 +474,14 @@ @ApiOperation(value = "门店统计", tags = {"管理后台-首页统计"}) public R<ShopStatistics> shopStatistics(@ApiParam("门店id") Integer shopId) { ShopStatistics shopStatistics = shopMapper.getShopStatistics(shopId); + if(null == shopId){ + shopId = 0; + } + Integer serviceOrder = orderClient.getShopSaleNum(shopId, 1).getData(); + Integer goodsOrder = orderClient.getShopSaleNum(shopId, 2).getData(); + shopStatistics.setTotalOrder(serviceOrder + goodsOrder); + shopStatistics.setServiceOrder(serviceOrder); + shopStatistics.setGoodsOrder(goodsOrder); return R.ok(shopStatistics); } @@ -558,5 +569,16 @@ shopService.saveWithdrawalAccount(saveWithdrawalAccount); return R.ok(); } + + + /** + * 获取所有门店 + * @return + */ + @PostMapping("/getAllShop") + public R<List<Shop>> getAllShop(){ + List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1)); + return R.ok(list); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java index c62ef1b..931bc30 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.model.AppUser; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.TableDataInfo; @@ -119,14 +121,41 @@ .page(Page.of(pageNum, pageSize)); return R.ok(page); } + + @Resource + private AppUserClient appUserClient; @PostMapping("/manage/addorupdate") @ApiOperation(value = "添加编辑", tags = {"门店-技师列表"}) public R<Page<Technician>> add(@RequestBody Technician technician) { Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId(); - if (technician.getId()==null){ + if (technician.getId()==null) { technician.setSubscribeStatus(2); + List<Technician> list = technicianService.lambdaQuery().eq(Technician::getPhone, technician.getPhone()).list(); + if (!list.isEmpty()) { + return R.fail("当前号码已经添加"); + } + R<AppUser> appUserByPhone1 = appUserClient.getAppUserByPhone1(technician.getPhone()); + if (appUserByPhone1.getData()==null){ + return R.fail("当前号码暂无注册用户"); + } + }else { + Technician byId = technicianService.getById(technician.getId()); + if (byId.getPhone()!=technician.getPhone()){ + List<Technician> list = technicianService.lambdaQuery().eq(Technician::getPhone, technician.getPhone()).list(); + if (!list.isEmpty()) { + return R.fail("当前号码已经添加"); + } + R<AppUser> appUserByPhone1 = appUserClient.getAppUserByPhone1(technician.getPhone()); + if (appUserByPhone1.getData()==null){ + return R.fail("当前号码暂无注册用户"); + } + } } technician.setShopId(objectId); + R<AppUser> appUserByPhone1 = appUserClient.getAppUserByPhone1(technician.getPhone()); + if (appUserByPhone1.getData()!=null){ + technician.setAppUserId(appUserByPhone1.getData().getId()); + } technicianService.saveOrUpdate(technician); return R.ok(); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianSubscribeController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianSubscribeController.java index af7a01b..c9fbf70 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianSubscribeController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianSubscribeController.java @@ -76,7 +76,6 @@ @GetMapping("/cancel") @ApiOperation(value = "取消服务", notes = "取消服务", tags = {"小程序-个人中心-门店管理,小程序-个人中心-我的预约","门店-预约管理"}) public R<Void> cancel(@ApiParam(value = "预约id") @RequestParam Long id) { - TechnicianSubscribe subscribe = technicianSubscribeService.getOne(new LambdaQueryWrapper<TechnicianSubscribe>() .eq(TechnicianSubscribe::getId, id) .eq(TechnicianSubscribe::getStatus, 0)); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianSubscribeService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianSubscribeService.java index 9d5d3d4..27f5bd2 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianSubscribeService.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianSubscribeService.java @@ -31,4 +31,10 @@ IPage<TechnicianSubscribeVO> getTechnicianSubscribeByUser(Page<TechnicianSubscribe> page, Long userId, Integer status); void subscribe(TechnicianSubscribe technicianSubscribe); + + + /** + * 定时修改到期状态 + */ + void taskEditStstus(); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java index 387c300..05f7de5 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java @@ -16,6 +16,7 @@ import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; import com.ruoyi.order.vo.Price; import com.ruoyi.other.api.domain.*; @@ -82,6 +83,8 @@ private GoodsBargainPriceService goodsBargainPriceService; @Resource private GoodsBargainPriceDetailService goodsBargainPriceDetailService; + @Resource + private OrderClient orderClient; @@ -103,8 +106,10 @@ } List<GoodsVO> list = this.baseMapper.goodsList(pageInfo, search.getGoodsCategoryId(), search.getName(), vipId); for (GoodsVO goods : list) { - Price price = getPrice(vipId, goods.getGoodsId(), 1, null, provinceCode, cityCode, districtCode); + Price price = getPrice(vipId, goods.getGoodsId(), null, 1, provinceCode, cityCode, districtCode); if(null != price){ + goods.setCashPayment(price.getCashPayment() ? 1 : 0); + goods.setPointPayment(price.getPointPayment() ? 1 : 0); goods.setSellingPrice(price.getCash()); goods.setIntegral(price.getPoint()); } @@ -139,6 +144,8 @@ goodsVO.setGoodsName(goods.getName()); Price price = getPrice(vipId, goods.getId(), 1, null, provinceCode, cityCode, districtCode); if(null != price){ + goodsVO.setPointPayment(price.getPointPayment() ? 1 : 0); + goodsVO.setCashPayment(price.getCashPayment() ? 1 : 0); goodsVO.setSellingPrice(price.getCash()); goodsVO.setIntegral(price.getPoint()); } @@ -163,6 +170,8 @@ .in(Shop::getDelFlag, 0)); goodsVO.setShopList(shopList); } + Integer integer = orderClient.getGoodsSaleNum(goods.getId(), 1).getData(); + goodsVO.setSaleNum(integer); return goodsVO; } @@ -184,8 +193,10 @@ } List<Goods> goods = goodsMapper.selectListByShopId(pageInfo, shopId, vipId); for (Goods good : goods) { - Price price = getPrice(vipId, good.getId(), 1, shopId, provinceCode, cityCode, districtCode); + Price price = getPrice(vipId, good.getId(), shopId, 1, provinceCode, cityCode, districtCode); if(null != price){ + good.setCashPayment(price.getCashPayment() ? 1 : 0); + good.setPointPayment(price.getPointPayment() ? 1 : 0); good.setSellingPrice(price.getCash()); good.setIntegral(price.getPoint()); } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java index ce3e341..4a96d79 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/SeckillActivityInfoServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.other.api.domain.*; import com.ruoyi.other.mapper.GoodsShopMapper; import com.ruoyi.other.mapper.SeckillActivityInfoMapper; @@ -51,6 +52,8 @@ private GoodsSeckillService goodsSeckillService; @Resource private GoodsService goodsService; + @Resource + private OrderClient orderClient; @Override public List<SeckillActivityVO> listSeckillActivity(Goods goods) { @@ -86,6 +89,8 @@ shops = shopMapper.selectList(new LambdaUpdateWrapper<Shop>().eq(Shop::getDelFlag, 0)); } seckillActivityDetailVO.setShopList(shops); + Integer integer = orderClient.getGoodsSaleNum(goods.getId(), 2).getData(); + seckillActivityDetailVO.setSaleNum(integer); return seckillActivityDetailVO; } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java index d4e7951..70aa04e 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.other.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -51,7 +52,7 @@ PageInfo<TechnicianSubscribeVO> pageInfo = new PageInfo(pageCurr, pageSize); List<TechnicianSubscribeVO> list = technicianSubscribeMapper.getTechnicianSubscribeByUserAndShop(pageInfo, shopId, status); for (TechnicianSubscribeVO technicianSubscribeVO : list) { - Long id = technicianSubscribeVO.getId(); + String id = technicianSubscribeVO.getId(); TechnicianSubscribe technicianSubscribe = this.getById(id); AppUser appUser = appUserClient.getAppUserById(technicianSubscribe.getAppUserId()); technicianSubscribeVO.setUserName(appUser.getName()); @@ -65,6 +66,11 @@ Integer serviceMode, Integer pageCurr, Integer pageSize) { PageInfo<TechnicianSubscribeVO> pageInfo = new PageInfo(pageCurr, pageSize); List<TechnicianSubscribeVO> technicianSubscribeByUserAndShop1 = technicianSubscribeMapper.getTechnicianSubscribeByUserAndShop1(pageInfo, shopId, status, phone, name, serviceMode); + for (TechnicianSubscribeVO technicianSubscribeVO : technicianSubscribeByUserAndShop1) { + AppUser appUser = appUserClient.getAppUserById(technicianSubscribeVO.getAppUserId()); + technicianSubscribeVO.setUserName(appUser.getName()); + technicianSubscribeVO.setPhone(appUser.getPhone()); + } return pageInfo.setRecords(technicianSubscribeByUserAndShop1); } @Override @@ -87,4 +93,18 @@ long deadlineTimestamp = subscribeTime.atZone(ZoneId.systemDefault()).toEpochSecond(); redisTemplate.opsForZSet().add("delay_queue:subscribe", subscribe.getId().toString(), deadlineTimestamp); } + + + /** + * 定时修改到期状态 + */ + @Override + public void taskEditStstus() { + List<TechnicianSubscribe> list = this.list(new LambdaQueryWrapper<TechnicianSubscribe>().eq(TechnicianSubscribe::getStatus, 0).eq(TechnicianSubscribe::getDelFlag, 0) + .lt(TechnicianSubscribe::getSubscribeTime, LocalDateTime.now())); + list.forEach(s->s.setStatus(3)); + if(list.size() > 0){ + this.updateBatchById(list); + } + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/task/TaskUtil.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/task/TaskUtil.java index 5ab7f5a..1a165f3 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/task/TaskUtil.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/task/TaskUtil.java @@ -2,9 +2,11 @@ +import com.ruoyi.other.service.TechnicianSubscribeService; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import javax.annotation.Resource; /** @@ -13,6 +15,17 @@ @Component public class TaskUtil { + @Resource + private TechnicianSubscribeService technicianSubscribeService; + + + /** + * 每分钟定时 + */ + @Scheduled(fixedRate = 60000) + public void taskMonth() { + technicianSubscribeService.taskEditStstus(); + } /** * 每天的凌晨执行的任务 diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java index 6569362..78e55a9 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java @@ -1,5 +1,6 @@ package com.ruoyi.other.vo; +import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.other.api.domain.Shop; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -36,6 +37,10 @@ @ApiModelProperty(value = "详情图,多个逗号分隔") private String detailPicture; + + @ApiModelProperty(value = "现金支付(0=否,1=是)") + private Integer cashPayment; + @ApiModelProperty(value = "积分支付(0=否,1=是)") private Integer pointPayment; diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianSubscribeVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianSubscribeVO.java index 8260e32..8fa55b7 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianSubscribeVO.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/TechnicianSubscribeVO.java @@ -11,7 +11,7 @@ public class TechnicianSubscribeVO { @ApiModelProperty(value = "预约id") - private Long id; + private String id; /** * 门店名称 @@ -67,5 +67,7 @@ @ApiModelProperty(value = "联系电话") private String phone; + private Long appUserId; + } diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsMapper.xml index 6bd8276..26274d2 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsMapper.xml @@ -14,8 +14,8 @@ tg.sale_num as saleNum, tg.home_page_picture as homePagePicture FROM t_goods tg - left join t_goods_shop tgs ON tg.id = tgs.goods_id - where tg.del_flag = 0 and (tg.appoint_store = 2 or (tg.appoint_store = 1 and tg.id in (select goods_id from t_goods_shop where shop_id = #{shopId}))) + where tg.del_flag = 0 and tg.status = 2 and (tg.appoint_store = 2 or (tg.appoint_store = 1 and tg.id in (select goods_id from t_goods_shop where shop_id = #{shopId}))) + and tg.type = 1 <if test="vip != null"> and (tg.commodity_authority like '%-1%' or tg.commodity_authority like CONCAT('%', #{vip}, '%')) </if> @@ -61,7 +61,7 @@ <select id="goodsList" resultType="com.ruoyi.other.vo.GoodsVO"> - select *, id as goodsId, name as goodsName from t_goods where status = 2 and del_flag = 0 + select *, id as goodsId, name as goodsName from t_goods where status = 2 and del_flag = 0 and `type` = 2 <if test="null != goodsCategoryId"> and goods_category_id = #{goodsCategoryId} </if> @@ -69,7 +69,7 @@ and name like CONCAT('%', #{name}, '%') </if> <if test="null != vip"> - and id in (select goods_id from t_goods_vip where vip = #{vip}) + and (FIND_IN_SET(#{vip}, commodity_authority) or commodity_authority like '%-1%') </if> </select> </mapper> \ No newline at end of file diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml index 2cabc67..53e8d84 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml @@ -11,6 +11,7 @@ tg.home_page_picture as homePagePicture, tg.original_price as originalPrice, tgs.selling_price as sellingPrice, + tgs.integral as integral, tg.sale_num as saleNum, tsai.start_time as startTime, tsai.end_time as endTime @@ -18,7 +19,7 @@ t_seckill_activity_info tsai LEFT JOIN t_goods tg ON tsai.good_id = tg.id LEFT JOIN t_goods_seckill tgs ON tgs.seckill_activity_info_id = tsai.id and tgs.vip = #{vipId} - WHERE tsai.is_shelves = 1 AND tsai.del_flag = 0 and now() between tsai.start_time and tsai.end_time + WHERE tsai.is_shelves = 1 AND tsai.del_flag = 0 <if test="name != null and name != ''"> AND tg.`name` LIKE concat('%',#{name},'%') </if> @@ -46,6 +47,7 @@ tsai.start_time as startTime, tg.detail_picture as detailPicture, tsai.end_time as endTime, + tsai.max_num as maxNum, tg.detail FROM t_seckill_activity_info tsai diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml index 937b56a..f95ef42 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml @@ -9,7 +9,8 @@ ts.phone, tsp.type, tsp.create_time, - tsp.variable_point + tsp.variable_point, + tsp.order_num FROM t_shop_point tsp LEFT JOIN t_shop ts ON tsp.shop_id = ts.id @@ -29,8 +30,11 @@ <if test="shopPoint.startTime !=null and shopPoint.endTime !=null"> AND tsp.create_time BETWEEN #{shopPoint.startTime} AND #{shopPoint.endTime} </if> - + <if test="shopPoint.shopId !=null"> + AND tsp.shop_id = #{shopPoint.shopId} + </if> </where> + order by tsp.create_time desc </sql> <select id="selectShopPointList" resultType="com.ruoyi.other.api.domain.ShopPoint"> diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml index 91afdb6..934c86b 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml @@ -28,7 +28,7 @@ </select> <select id="getTechnicianSubscribeByUserAndShop1" resultType="com.ruoyi.other.vo.TechnicianSubscribeVO"> SELECT - CAST(tts.id AS CHAR) id, + tts.id, tts.user_address, ts.`name` shopName, ts.address shopAddress, @@ -37,7 +37,8 @@ ts.latitude, tts.subscribe_time, tts.service_mode, - tts.status + tts.status, + tts.app_user_id as appUserId FROM t_technician_subscribe tts LEFT JOIN t_technician tt ON tts.technician_id = tt.id AND tt.del_flag = 0 -- Gitblit v1.7.1