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