From a823bffa3800426d0a908b9397a8ea7586b5be21 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 18 十二月 2024 18:00:24 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java                       |   38 ++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java           |  132 +++++++--
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java               |   76 +----
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopPointController.java                  |   55 +--
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java                         |    3 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java               |   22 +
 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml                            |   40 +-
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianSubscribeMapper.java                |    5 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java                     |    2 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java                           |   20 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TechnicianSubscribeServiceImpl.java     |    6 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java                 |    2 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java                            |    7 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java |   12 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java            |    5 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TechnicianSubscribeService.java              |    4 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java       |    8 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java              |    2 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java                 |   48 +++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianSubscribeController.java        |   20 +
 /dev/null                                                                                                    |   37 --
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java    |   40 --
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java               |    6 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/dto/PointSettingDto.java                             |   11 
 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml                                |   72 ++--
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java               |    4 
 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianSubscribeMapper.xml                      |   34 ++
 ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml                  |   67 +---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java                          |    7 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/UserPointMapper.java                      |    5 
 30 files changed, 467 insertions(+), 323 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java
index 5479c1b..9499843 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java
@@ -179,11 +179,23 @@
     @TableField("total_register_point")
     private Integer totalRegisterPoint;
 
-    @ApiModelProperty(value = "做工积分总数")
-    @TableField("total_work_point")
-    private Integer totalWorkPoint;
+//    @ApiModelProperty(value = "做工积分总数")
+//    @TableField("total_work_point")
+//    private Integer totalWorkPoint;
 
-    @ApiModelProperty(value = "业绩积分总数")
+    @ApiModelProperty(value = "每日分享积分")
+    @TableField("total_share_point")
+    private Integer totalSharePoint;
+
+    @ApiModelProperty(value = "每日签到积分")
+    @TableField("total_sign_point")
+    private Integer totalSignPoint;
+
+    @ApiModelProperty(value = "使用时长积分")
+    @TableField("total_hour_point")
+    private Integer totalHourPoint;
+
+    @ApiModelProperty(value = "技师业绩积分总数")
     @TableField("total_performance_point")
     private Integer totalPerformancePoint;
 
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java
index 1b8ccc4..44f58b2 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/BalanceChangeRecord.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -34,12 +35,14 @@
     private Long orderId;
 
     @ApiModelProperty("类型:1充值2提现3红包4分佣5商城购物6订单取消回退")
+    @Excel(name = "变更类型", readConverterExp = "1=充值,2=提现,3=红包,4=分佣,5=商城购物,6=订单取消回退")
     private Integer changeType;
 
     @ApiModelProperty("变更前金额")
     private BigDecimal beforeAmount;
 
     @ApiModelProperty("变更金额")
+    @Excel(name = "变更数量")
     private BigDecimal changeAmount;
 
     @ApiModelProperty("变更后金额")
@@ -49,14 +52,17 @@
     private Integer delFlag;
 
     @ApiModelProperty("添加时间")
+    @Excel(name = "变更时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
     @TableField(exist = false)
     @ApiModelProperty("消费用户名称")
+    @Excel(name = "用户名称")
     private String userName;
 
     @TableField(exist = false)
     @ApiModelProperty("消费用户手机号")
+    @Excel(name = "联系电话")
     private String userPhone;
 
     @TableField(exist = false)
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java
index fb58e18..ad2a4a3 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserPoint.java
@@ -37,7 +37,8 @@
     @TableId("id")
     private Long id;
 
-    @ApiModelProperty(value = "变动类型(1=消费积分,2=返佣积分,3=拉新人积分,4=兑换商品 5 = 门店业绩积分 6 =门店返佣积分7=技师业绩积分8 =转赠积分 9 =做工积分 10 =注册积分)")
+    @ApiModelProperty(value = "变动类型(1-消费,2-返佣,3-拉新,4-每日分享,5-每日签到,6-使用时长, 7-注册积分, 8-门店业绩," +
+            "9-门店返佣,14-下级门店返佣,10-技师业绩,11-兑换商品,12-他人赠送,13-赠与他人)")
     @TableField("type")
     private Integer type;
 
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java
index 49eda6f..cf885bf 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopPoint.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -41,6 +42,7 @@
 
     @ApiModelProperty(value = "变动类型(1=门店业绩,2=门店返佣,3=下级门店返佣)")
     @TableField("type")
+    @Excel(name = "变动类型", readConverterExp = "1=门店业绩,2=门店返佣,3=下级门店返佣")
     private Integer type;
 
     @ApiModelProperty(value = "历史余额")
@@ -49,10 +51,12 @@
 
     @ApiModelProperty(value = "变动金额")
     @TableField("variable_point")
+    @Excel(name = "变动金额")
     private Integer variablePoint;
 
     @ApiModelProperty(value = "变动时间")
     @TableField("create_time")
+    @Excel(name = "变动时间")
     private LocalDateTime createTime;
 
     @ApiModelProperty(value = "变动用户id")
@@ -65,14 +69,17 @@
 
     @ApiModelProperty(value = "门店名称")
     @TableField(exist = false)
+    @Excel(name = "门店名称")
     private String shopName;
 
     @ApiModelProperty(value = "店长姓名")
     @TableField(exist = false)
+    @Excel(name = "店长姓名")
     private String shopLeaderName;
 
     @ApiModelProperty(value = "联系电话")
     @TableField(exist = false)
+    @Excel(name = "联系电话")
     private String phone;
 
     @TableField(exist = false)
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java
new file mode 100644
index 0000000..c6aedee
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/PointChangeType.java
@@ -0,0 +1,38 @@
+package com.ruoyi.other.api.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum PointChangeType {
+// 1-消费,2-返佣,3-拉新,4-每日分享,5-每日签到,6-使用时长, 7-注册积分, 8-门店业绩,9-门店返佣,10-技师业绩,11-兑换商品,12-他人赠送,13-赠与他人
+    CONSUME(1, "消费"),
+    REBATE(2, "返佣"),
+    PULL_NEW(3, "拉新"),
+    SHARE(4, "每日分享"),
+    SIGN_IN(5, "每日签到"),
+    USE_TIME(6, "使用时长"),
+    REGISTER(7, "注册积分"),
+    SHOP_ACHIEVEMENT(8, "门店业绩"),
+    SHOP_REBATE(9, "门店返佣"),
+    JUNIOR_SHOP_REBATE(14, "下级门店返佣"),
+    TECHNICIAN_ACHIEVEMENT(10, "技师业绩"),
+    EXCHANGE_GOODS(11, "兑换商品"),
+    OTHER_GIFT(12, "他人赠送"),
+    GIFT(13, "赠与他人");
+    private final int code;
+    private final String description;
+
+    PointChangeType(int code, String description) {
+        this.code = code;
+        this.description = description;
+    }
+
+    public static PointChangeType fromCode(int code) {
+        for (PointChangeType type : values()) {
+            if (type.getCode() == code) {
+                return type;
+            }
+        }
+        throw new IllegalArgumentException("Invalid code: " + code);
+    }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/WithdrawalAuditStatus.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java
similarity index 90%
rename from ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/WithdrawalAuditStatus.java
rename to ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java
index 4788fd6..bf06e86 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/WithdrawalAuditStatus.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/enums/WithdrawalAuditStatus.java
@@ -1,4 +1,4 @@
-package com.ruoyi.account.enums;
+package com.ruoyi.other.api.enums;
 
 import lombok.Getter;
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java
index 3d4c11e..0548e0d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysProfileController.java
@@ -97,11 +97,11 @@
     @ApiOperation(value = "个人信息-修改密码")
     @Log(title = "个人信息", businessType = BusinessType.UPDATE)
     @PostMapping("/updatePwd")
-    public AjaxResult updatePwd(String oldPassword, String newPassword)
+    public AjaxResult updatePwd(String username,String oldPassword, String newPassword)
     {
         System.err.println(oldPassword);
         System.err.println(newPassword);
-        String username = SecurityUtils.getUsername();
+//        String username = SecurityUtils.getUsername();
         SysUser user = userService.selectUserByUserName(username);
         String password = user.getPassword();
         if (!SecurityUtils.matchesPassword(oldPassword, password))
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java
index e43b425..440d198 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.account.api.model.BalanceChangeRecord;
 import com.ruoyi.account.dto.BalanceQuery;
-import com.ruoyi.account.excel.BalanceChangeRecordEX;
 import com.ruoyi.account.service.BalanceChangeRecordService;
 import com.ruoyi.account.vo.CommissionStatistics;
 import com.ruoyi.common.core.domain.R;
@@ -15,8 +14,6 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -70,41 +67,8 @@
 		CommissionStatistics commissionStatistics1 = balanceChangeRecordService.commissionStatistics(Page.of(1, Integer.MAX_VALUE), balanceChangeRecord);
 		IPage<BalanceChangeRecord> userPointPage = commissionStatistics1.getUserPointPage();
 		List<BalanceChangeRecord> userPointList = userPointPage.getRecords();
-		List<BalanceChangeRecordEX> userPointExList = new ArrayList<>();
-		for (BalanceChangeRecord balanceChangeRecord1 : userPointList) {
-			BalanceChangeRecordEX balanceChangeRecordEX = new BalanceChangeRecordEX();
-			balanceChangeRecordEX.setUserName(balanceChangeRecord1.getUserName());
-			balanceChangeRecordEX.setPhone(balanceChangeRecord1.getUserPhone());
-			balanceChangeRecordEX.setChangeTime(balanceChangeRecord1.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-			balanceChangeRecordEX.setChangeNum(balanceChangeRecord1.getAfterAmount().toString());
-			Integer type = balanceChangeRecord1.getChangeType();
-			// 类型:1充值2提现3红包4分佣5商城购物6订单取消回退
-			switch (type) {
-				case 1:
-					balanceChangeRecordEX.setType("充值");
-					break;
-				case 2:
-					balanceChangeRecordEX.setType("提现");
-					break;
-				case 3:
-					balanceChangeRecordEX.setType("红包");
-					break;
-				case 4:
-					balanceChangeRecordEX.setType("分佣");
-					break;
-				case 5:
-					balanceChangeRecordEX.setType("商城购物");
-					break;
-				case 6:
-					balanceChangeRecordEX.setType("订单取消回退");
-					break;
-				default:
-					balanceChangeRecordEX.setType("未知积分");
-			}
-			userPointExList.add(balanceChangeRecordEX);
-		}
-		ExcelUtil<BalanceChangeRecordEX> util = new ExcelUtil<>(BalanceChangeRecordEX.class);
-		util.exportExcel(response, userPointExList, "用户分佣统计");
+		ExcelUtil<BalanceChangeRecord> util = new ExcelUtil<>(BalanceChangeRecord.class);
+		util.exportExcel(response, userPointList, "用户分佣统计");
 	}
 
 	
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/PointChangeType.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/PointChangeType.java
deleted file mode 100644
index 7b2f61b..0000000
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/enums/PointChangeType.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.ruoyi.account.enums;
-
-import lombok.Getter;
-
-@Getter
-public enum PointChangeType {
-    CONSUME(1, "消费积分"),
-    COMMISSION_RETURN(2, "返佣积分"),
-    NEW_USER_REFERRAL(3, "拉新人积分"),
-    EXCHANGE_GOODS(4, "兑换商品"),
-    STORE_PERFORMANCE(5, "门店业绩积分"),
-    STORE_COMMISSION_RETURN(6, "门店返佣积分"),
-    TECHNICIAN_PERFORMANCE(7, "技师业绩积分"),
-    TRANSFER_POINTS(8, "转赠积分"),
-    WORK_PERFORMANCE(9, "做工积分"),
-    REGISTRATION(10, "注册积分");
-
-    private final int code;
-    private final String description;
-
-    PointChangeType(int code, String description) {
-        this.code = code;
-        this.description = description;
-    }
-
-    public static PointChangeType fromCode(int code) {
-        for (PointChangeType type : values()) {
-            if (type.getCode() == code) {
-                return type;
-            }
-        }
-        throw new IllegalArgumentException("Invalid code: " + code);
-    }
-}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java
deleted file mode 100644
index a81fee3..0000000
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.account.excel;
-
-import com.ruoyi.common.core.annotation.Excel;
-import lombok.Data;
-
-@Data
-public class BalanceChangeRecordEX {
-    @Excel(name = "用户名称")
-    private String userName;
-
-    @Excel(name = "联系电话")
-    private String phone;
-
-    @Excel(name = "变更类型")
-    private String type;
-
-    @Excel(name = "变更时间")
-    private String changeTime;
-
-    @Excel(name = "变更数量")
-    private String changeNum;
-}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/UserPointEx.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/UserPointEx.java
deleted file mode 100644
index 7932861..0000000
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/UserPointEx.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.ruoyi.account.excel;
-
-import com.ruoyi.common.core.annotation.Excel;
-import lombok.Data;
-
-@Data
-public class UserPointEx {
-
-    /**
-     * 用户名称
-     */
-    @Excel(name = "用户名称")
-    private String userName;
-
-    /**
-     * 联系电话
-     */
-    @Excel(name = "联系电话")
-    private String phone;
-
-    /**
-     * 变更类型
-     */
-    @Excel(name = "变更类型")
-    private String type;
-
-    /**
-     * 变更时间
-     */
-    @Excel(name = "变更时间")
-    private String changeTime;
-
-    /**
-     * 变更数量
-     */
-    @Excel(name = "变更数量")
-    private String changeNum;
-}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java
index 19d0672..70ef058 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/BalanceChangeRecordMapper.java
@@ -13,8 +13,9 @@
 public interface BalanceChangeRecordMapper extends BaseMapper<BalanceChangeRecord> {
     IPage<BalanceChangeRecord> pageList(@Param("page") Page<BalanceChangeRecord> page,@Param("agentQuery") BalanceQuery agentQuery);
 
+
+    List<BalanceChangeRecord> selectBalanceChangeRecordList(@Param("changeRecord") BalanceChangeRecord balanceChangeRecord);
+
     IPage<BalanceChangeRecord> queryCommissionStatistics(@Param("page") Page<BalanceChangeRecord> page,
                                                          @Param("changeRecord") BalanceChangeRecord changeRecord);
-
-    List<UserPoint> findLatestChangeByType(BalanceChangeRecord balanceChangeRecord);
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/UserPointMapper.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/UserPointMapper.java
index 14618dc..8daeb5c 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/UserPointMapper.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/UserPointMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ruoyi.account.api.model.UserPoint;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,5 +19,7 @@
 
     List<UserPoint> findLatestUserPointByTypeForUser(Long userId);
 
-    IPage<UserPoint> queryUserPointPage(IPage<UserPoint> page, UserPoint userPoint);
+    IPage<UserPoint> queryUserPointPage(@Param("page") IPage<UserPoint> page,@Param("userPoint") UserPoint userPoint);
+
+    List<UserPoint> selectUserPoint(@Param("userPoint") UserPoint userPoint);
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
index 850405b..1a3ca07 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
@@ -14,12 +14,15 @@
 import com.ruoyi.account.service.BalanceChangeRecordService;
 import com.ruoyi.account.vo.CommissionStatistics;
 import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.other.api.domain.ShopPoint;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -38,9 +41,14 @@
 
     @Override
     public CommissionStatistics commissionStatistics(Page<BalanceChangeRecord> page, BalanceChangeRecord balanceChangeRecord) {
+        List<BalanceChangeRecord> balanceChangeRecordList = this.baseMapper.selectBalanceChangeRecordList(balanceChangeRecord);
+        BigDecimal totalCommission = balanceChangeRecordList.stream()
+                .filter(item -> !(item.getChangeType().equals(2) && item.getChangeType().equals(5)))
+                .map(BalanceChangeRecord::getChangeAmount)
+                .reduce(BigDecimal.ZERO, BigDecimal::add)
+                .setScale(2, RoundingMode.HALF_UP);
 
         IPage<BalanceChangeRecord> balanceChangeRecordIPage = this.baseMapper.queryCommissionStatistics(page, balanceChangeRecord);
-//        return new CommissionStatistics(totalCommission, changeRecordPage);
-        return null;
+        return new CommissionStatistics(totalCommission, balanceChangeRecordIPage);
     }
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
index 056f483..f2fc4eb 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/UserPointServiceImpl.java
@@ -7,7 +7,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.api.model.AppUser;
 import com.ruoyi.account.api.model.UserPoint;
-import com.ruoyi.account.enums.PointChangeType;
+import com.ruoyi.other.api.enums.PointChangeType;
 import com.ruoyi.account.mapper.UserPointMapper;
 import com.ruoyi.account.service.AppUserService;
 import com.ruoyi.account.service.PointSettingService;
@@ -16,12 +16,14 @@
 import com.ruoyi.account.vo.UserPointDetailVO;
 import com.ruoyi.account.vo.UserPointStatistics;
 import com.ruoyi.account.vo.UserPointVO;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.PhoneNumberValidator;
-import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.domain.PointSetting;
+import com.ruoyi.other.api.domain.Shop;
 import com.ruoyi.other.api.domain.VipSetting;
+import com.ruoyi.other.api.feignClient.ShopClient;
 import com.ruoyi.system.api.model.LoginUser;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -55,6 +57,8 @@
     private PointSettingService pointSettingService;
     @Resource
     private UserPointMapper userPointMapper;
+    @Resource
+    private ShopClient shopClient;
 
     @Override
     public UserPointVO getUserPoint(Long userId) {
@@ -69,9 +73,9 @@
         userPointVO.setConsumePoint(appUser.getLavePoint());
         userPointVO.setShopPoint(appUser.getShopPoint());
         userPointVO.setSharePoint(appUser.getSharePoint());
-        userPointVO.setPullNewPoint(userBalanceMap.get(PointChangeType.NEW_USER_REFERRAL.getCode()));
-        userPointVO.setShopAchievementPoint(userBalanceMap.get(PointChangeType.STORE_PERFORMANCE.getCode()));
-        userPointVO.setShopSharePoint(userBalanceMap.get(PointChangeType.STORE_COMMISSION_RETURN.getCode()));
+        userPointVO.setPullNewPoint(userBalanceMap.get(PointChangeType.PULL_NEW.getCode()));
+        userPointVO.setShopAchievementPoint(userBalanceMap.get(PointChangeType.SHOP_ACHIEVEMENT.getCode()));
+        userPointVO.setShopSharePoint(userBalanceMap.get(PointChangeType.SHOP_REBATE.getCode()));
         userPointVO.setGiftPoint(vipSetting.getVipGiftRole() == 1 && vipSetting.getId() == 1 ? 1 : 0);
         return userPointVO;
     }
@@ -117,32 +121,15 @@
         if (appUser == null) {
             throw new ServiceException("用户未找到");
         }
-        Integer totalPoint = appUser.getLavePoint();
 
         PointSetting pointSetting = pointSettingService.getPointSettingByAppUserId(userid);
         if (pointSetting == null) {
             throw new ServiceException("积分设置未找到");
         }
-        Integer buyPointOpen = pointSetting.getBuyPointOpen();
+        // 可转赠积分总数
+        int adjustedPoint = getAdjustedPoint(pointSetting, appUser);
 
-        UserPoint userPoint = new UserPoint();
-        userPoint.setAppUserId(userid);
-//        List<UserPoint> userPointList = userPointMapper.indLatestChangeByType(userPoint);
-        // TODO 完善
-        List<UserPoint> userPointList = new ArrayList<>();
-        Map<Integer, Integer> userBalanceMap = userPointList.stream()
-                .collect(Collectors.toMap(UserPoint::getType, UserPoint::getBalance));
-
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.CONSUME.getCode(), buyPointOpen == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.COMMISSION_RETURN.getCode(), pointSetting.getSharePointOpen() == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.STORE_COMMISSION_RETURN.getCode(), pointSetting.getShopSharePointOpen() == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.STORE_PERFORMANCE.getCode(), pointSetting.getShopPointOpen() == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.TECHNICIAN_PERFORMANCE.getCode(), pointSetting.getPersonPointOpen() == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.NEW_USER_REFERRAL.getCode(), pointSetting.getGetNewPointOpen() == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.REGISTRATION.getCode(), pointSetting.getGetRegisPointOpen() == 0);
-        totalPoint -= getAdjustedPoint(userBalanceMap, PointChangeType.WORK_PERFORMANCE.getCode(), pointSetting.getWorkPointOpen() == 0);
-
-        if (point.compareTo(new BigDecimal(totalPoint)) > 0) {
+        if (point.compareTo(new BigDecimal(adjustedPoint)) > 0) {
             throw new ServiceException("转赠积分不足");
         }
 
@@ -159,13 +146,102 @@
         log.info("积分转赠完成,用户ID: {}, 新积分: {}", appUserForPhoe.getId(), appUserForPhoe.getLavePoint());
     }
 
-    private int getAdjustedPoint(Map<Integer, Integer> userBalanceMap, int pointTypeCode, boolean isOpen) {
-        return isOpen ? 0 : Optional.ofNullable(userBalanceMap.get(pointTypeCode)).orElse(0);
+    /**
+     * 获取可转赠积分
+     * @param pointSetting 积分设置
+     * @param appUser 用户
+     * @return
+     */
+    private int getAdjustedPoint(PointSetting pointSetting, AppUser appUser) {
+        int transferPoint = 0;
+
+        // 消费积分数
+        Integer buyPointGift = pointSetting.getBuyPointGift();
+        if (buyPointGift == 1){
+            transferPoint += appUser.getShopPoint();
+        }
+
+        // 返佣积分
+        Integer sharePointOpen = pointSetting.getSharePointGift();
+        if (sharePointOpen == 1){
+            transferPoint += appUser.getSharePoint();
+        }
+
+        // 门店返佣积分
+        Integer shopSharePointGift = pointSetting.getShopSharePointGift();
+        R<List<Shop>> shops = shopClient.getShopByUserIds(Collections.singletonList(appUser.getId()));
+        List<Shop> shopList = shops.getData();
+        if (CollectionUtils.isEmpty(shopList)) {
+            throw new ServiceException("未找到门店");
+        }
+        if (shopSharePointGift == 1){
+            transferPoint += shopList.stream().mapToInt(Shop::getSharePoint).sum();
+        }
+        // 门店业绩积分
+        Integer shopPointOpen = pointSetting.getShopPointGift();
+        if (shopPointOpen == 1){
+            transferPoint += shopList.stream().mapToInt(Shop::getShopPoint).sum();
+        }
+
+        // 技师业绩积分
+        Integer personPointOpen = pointSetting.getPersonPointGift();
+        if (personPointOpen == 1){
+            transferPoint += appUser.getTotalPerformancePoint();
+        }
+
+        // 拉新积分
+        Integer getNewPointOpen = pointSetting.getGetNewPointGift();
+        if (getNewPointOpen == 1){
+            transferPoint += appUser.getTotalInvitePoint();
+        }
+
+        // 注册积分
+        Integer getRegisPointGift = pointSetting.getGetRegisPointGift();
+        if (getRegisPointGift == 1){
+            transferPoint += appUser.getTotalRegisterPoint();
+        }
+
+        // 做工积分
+        Integer workPointOpen = pointSetting.getWorkPointGift();
+        if (workPointOpen == 1){
+            transferPoint += appUser.getTotalSharePoint() + appUser.getTotalSignPoint() + appUser.getTotalHourPoint();
+        }
+        return transferPoint;
     }
+
 
     @Override
     public UserPointStatistics getStatistics(UserPoint userPoint) {
-        return null;
+        List<UserPoint> userPointList = this.baseMapper.selectUserPoint(userPoint);
+        Map<Integer, Integer> userBalanceMap = userPointList.stream()
+                .collect(Collectors.groupingBy(
+                        UserPoint::getType,
+                        Collectors.summingInt(UserPoint::getVariablePoint)
+                ));
+
+        int consumePoint = userBalanceMap.getOrDefault(PointChangeType.CONSUME.getCode(), 0);
+        int sharePoint = userBalanceMap.getOrDefault(PointChangeType.REBATE.getCode(), 0);
+        int pullNewPoint = userBalanceMap.getOrDefault(PointChangeType.PULL_NEW.getCode(), 0);
+        int registerPoint = userBalanceMap.getOrDefault(PointChangeType.REGISTER.getCode(), 0);
+
+        // 做工积分:签到积分 + 每日分享积分 + 每日签到积分 + 每日使用时长积分
+        int share = userBalanceMap.getOrDefault(PointChangeType.SHARE.getCode(), 0);
+        int signIn = userBalanceMap.getOrDefault(PointChangeType.SIGN_IN.getCode(), 0);
+        int useTime = userBalanceMap.getOrDefault(PointChangeType.USE_TIME.getCode(), 0);
+        int workPoint = share + signIn + useTime;
+
+        int shopAchievementPoint = userBalanceMap.getOrDefault(PointChangeType.TECHNICIAN_ACHIEVEMENT.getCode(), 0);
+        //总积分
+        int totalPoint = consumePoint+sharePoint+pullNewPoint+registerPoint+workPoint+shopAchievementPoint;
+        UserPointStatistics userPointStatistics = new UserPointStatistics();
+        userPointStatistics.setTotalPoint(totalPoint);
+        userPointStatistics.setConsumePoint(consumePoint);
+        userPointStatistics.setSharePoint(sharePoint);
+        userPointStatistics.setPullNewPoint(pullNewPoint);
+        userPointStatistics.setRegisterPoint(registerPoint);
+        userPointStatistics.setWorkPoint(workPoint);
+        userPointStatistics.setShopAchievementPoint(shopAchievementPoint);
+        return userPointStatistics;
     }
 
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
index 06caeb7..65f5425 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/WalletServiceImpl.java
@@ -1,7 +1,7 @@
 package com.ruoyi.account.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.ruoyi.account.enums.WithdrawalAuditStatus;
+import com.ruoyi.other.api.enums.WithdrawalAuditStatus;
 import com.ruoyi.account.api.model.AppUser;
 import com.ruoyi.account.api.model.WithdrawalRequests;
 import com.ruoyi.account.service.AppUserService;
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
index 24f543e..b55d179 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
@@ -21,7 +21,7 @@
 
     public CommissionStatistics() {
     }
-    public CommissionStatistics(BigDecimal totalCommission, Page<BalanceChangeRecord> changeRecordPage) {
+    public CommissionStatistics(BigDecimal totalCommission, IPage<BalanceChangeRecord> changeRecordPage) {
         this.totalCommission = totalCommission;
         this.userPointPage = changeRecordPage;
     }
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml
index a947cb1..4bfdf8b 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml
@@ -21,14 +21,17 @@
                     </if>
                 </where>
     </select>
-    <select id="queryCommissionStatistics" resultType="com.ruoyi.account.api.model.BalanceChangeRecord">
+
+    <sql id="balanceChangeRecordList">
         SELECT
-            tcr.*,
             tau.`name` userName,
-            tau.phone userPhone
+            tau.phone userPhone,
+            tbcr.change_type,
+            tbcr.create_time,
+            tbcr.change_amount
         FROM
-            t_balance_change_record tcr
-                LEFT JOIN t_app_user tau ON tcr.app_user_id = tau.id
+            t_balance_change_record tbcr
+                LEFT JOIN t_app_user tau ON tbcr.app_user_id = tau.id
         <where>
             <if test="changeRecord.userName != null and changeRecord.userName != ''">
                 and tau.name like concat('%',#{changeRecord.userName},'%')
@@ -36,56 +39,16 @@
             <if test="changeRecord.userPhone != null and changeRecord.userPhone != ''">
                 and tau.phone like concat('%',#{changeRecord.userPhone},'%')
             </if>
-            <if test="changeRecord.changeType != null">
-                and tcr.change_type = #{changeRecord.changeType}
-            </if>
             <if test="changeRecord.startTime != null and changeRecord.endTime != null">
-                and DATE(tcr.create_time) between  #{changeRecord.startTime} and #{changeRecord.endTime}
+                and DATE(tbcr.create_time) between  #{changeRecord.startTime} and #{changeRecord.endTime}
             </if>
         </where>
+    </sql>
+
+    <select id="selectBalanceChangeRecordList" resultType="com.ruoyi.account.api.model.BalanceChangeRecord">
+        <include refid="balanceChangeRecordList"/>
     </select>
-    <select id="findLatestChangeByType" resultType="com.ruoyi.account.api.model.UserPoint">
-        SELECT
-            id,
-            app_user_id,
-            order_id,
-            change_type,
-            before_amount,
-            change_amount,
-            after_amount,
-            del_flag,
-            create_time
-        FROM
-            (
-                SELECT
-                    id,
-                    app_user_id,
-                    order_id,
-                    change_type,
-                    before_amount,
-                    change_amount,
-                    after_amount,
-                    del_flag,
-                    create_time,
-                    ROW_NUMBER() OVER ( PARTITION BY change_type, app_user_id ORDER BY create_time DESC ) rn
-                FROM
-                    t_balance_change_record
-        <where>
-            <if test="changeRecord.userName != null and changeRecord.userName != ''">
-                and tau.name like concat('%',#{changeRecord.userName},'%')
-            </if>
-            <if test="changeRecord.userPhone != null and changeRecord.userPhone != ''">
-                and tau.phone like concat('%',#{changeRecord.userPhone},'%')
-            </if>
-            <if test="changeRecord.changeType != null">
-                and tcr.change_type = #{changeRecord.changeType}
-            </if>
-            <if test="changeRecord.startTime != null and changeRecord.endTime != null">
-                and DATE(tcr.create_time) between  #{changeRecord.startTime} and #{changeRecord.endTime}
-            </if>
-        </where>
-            ) AS subquery
-        WHERE
-            rn = 1
+    <select id="queryCommissionStatistics" resultType="com.ruoyi.account.api.model.BalanceChangeRecord">
+        <include refid="balanceChangeRecordList"/>
     </select>
 </mapper>
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml
index 5c211c5..d054e5e 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserPointMapper.xml
@@ -27,30 +27,38 @@
         WHERE
             t1.app_user_id = #{userId}
     </select>
-    <select id="queryUserPointPage" resultType="com.ruoyi.account.api.model.UserPoint">
+
+    <sql id="userPointList">
         SELECT
-            tau.`name` userName,
-            tau.phone,
-            tup.type,
-            tup.create_time,
-            tup.variable_point
+        tau.`name` userName,
+        tau.phone,
+        tup.type,
+        tup.create_time,
+        tup.variable_point
         FROM
-            t_user_point tup
-                LEFT JOIN t_app_user tau ON tup.app_user_id = tau.id
+        t_user_point tup
+        LEFT JOIN t_app_user tau ON tup.app_user_id = tau.id
         <where>
-            <if test="userName != null and userName != ''">
-                AND tau.`name` LIKE concat('%',#{userName},'%')
+            <if test="userPoint.userName != null and userPoint.userName != ''">
+                AND tau.`name` LIKE concat('%',#{userPoint.userName},'%')
             </if>
-            <if test="phone != null and phone != ''">
-                AND tau.phone LIKE concat('%',#{phone},'%')
+            <if test="userPoint.phone != null and userPoint.phone != ''">
+                AND tau.phone LIKE concat('%',#{userPoint.phone},'%')
             </if>
-            <if test="type != null and type != ''">
-                AND tup.type = #{type}
+            <if test="userPoint.type != null and userPoint.type != ''">
+                AND tup.type = #{userPoint.type}
             </if>
-            <if test="startTime != null and endTime != null">
-                AND tup.create_time BETWEEN #{startTime} AND #{endTime}
+            <if test="userPoint.startTime != null and userPoint.endTime != null">
+                AND tup.create_time BETWEEN #{userPoint.startTime} AND #{userPoint.endTime}
             </if>
         </where>
+    </sql>
+
+    <select id="queryUserPointPage" resultType="com.ruoyi.account.api.model.UserPoint">
+        <include refid="userPointList"/>
+    </select>
+    <select id="selectUserPoint" resultType="com.ruoyi.account.api.model.UserPoint">
+        <include refid="userPointList"/>
     </select>
 
 </mapper>
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java
index abecabd..c6062e4 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/PointSettingController.java
@@ -1,16 +1,17 @@
 package com.ruoyi.other.controller;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.other.api.domain.PointSetting;
+import com.ruoyi.other.dto.PointSettingDto;
 import com.ruoyi.other.service.PointSettingService;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * <p>
@@ -32,6 +33,19 @@
         PointSetting pointSetting = pointSettingService.getById(id);
         return R.ok(pointSetting);
     }
+    @GetMapping("/search")
+    @ApiOperation(value = "积分配置查询", tags = {"后台"})
+    public R<List<PointSetting>> search(@RequestParam Integer id) {
+        List<PointSetting> list = pointSettingService.list();
+        return R.ok(list);
+    }
+    @PostMapping("/save")
+    @ApiOperation(value = "积分配置", tags = {"后台"})
+    public R<PointSetting> save(@RequestBody PointSettingDto pointSettingDto) {
+        pointSettingService.remove(Wrappers.lambdaQuery());
+        pointSettingService.saveBatch(pointSettingDto.getPointSettings());
+        return R.ok();
+    }
 
 }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java
index d03e6f8..f9b7729 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java
@@ -45,6 +45,14 @@
         ShopCommissionStatisticsVO shopCommissionStatisticsVO = shopBalanceStatementService.shopCommissionStatistics(Page.of(pageNum, pageSize), shopBalanceStatement);
         return R.ok(shopCommissionStatisticsVO);
     }
+    @GetMapping("/commissionStatistics/list")
+    @ApiOperation(value = "门店余额明细", notes = "门店余额明细", tags = {"门店后台"})
+    public R<ShopCommissionStatisticsVO> shopCommissionStatisticslist(@ApiParam("页码") @RequestParam Integer pageNum,
+                                                                  @ApiParam("每一页数据大小") Integer pageSize,
+                                                                  ShopBalanceStatement shopBalanceStatement){
+        ShopCommissionStatisticsVO shopCommissionStatisticsVO = shopBalanceStatementService.shopCommissionStatistics(Page.of(pageNum, pageSize), shopBalanceStatement);
+        return R.ok(shopCommissionStatisticsVO);
+    }
 
     /**
      * 导出门店分佣统计
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopPointController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopPointController.java
index f3cbe5b..706959a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopPointController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopPointController.java
@@ -4,10 +4,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.domain.ShopPoint;
-import com.ruoyi.other.excel.ShopPointEX;
 import com.ruoyi.other.service.ShopPointService;
 import com.ruoyi.other.vo.ShopPointStatistics;
 import io.swagger.annotations.Api;
@@ -18,8 +17,6 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * <p>
@@ -35,6 +32,8 @@
 public class ShopPointController {
     @Resource
     private ShopPointService shopPointService;
+    @Resource
+    private TokenService tokenService;
 
 
     /**
@@ -47,6 +46,23 @@
         return R.ok(statistics);
     }
 
+    @GetMapping("/shop/statistics")
+    @ApiOperation(value = "门店积分统计", notes = "门店积分统计", tags = {"门店后台"})
+    public R<ShopPointStatistics> shopstatistics(ShopPoint shopPoint) {
+        Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
+        shopPoint.setShopId(objectId);
+        ShopPointStatistics statistics = shopPointService.statistics(Page.of(shopPoint.getPageNum(), shopPoint.getPageSize()), shopPoint);
+        return R.ok(statistics);
+    }
+    @GetMapping("/shop/statistics/list")
+    @ApiOperation(value = "门店积分统计列表", notes = "门店积分统计", tags = {"门店后台"})
+    public R<Page<ShopPoint>> shopstatisticslist(ShopPoint shopPoint,Integer pageNum,Integer pageSize) {
+        Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
+        Page<ShopPoint> page = shopPointService.lambdaQuery().eq(ShopPoint::getShopId, objectId).eq(ShopPoint::getType, shopPoint.getType())
+                .page(Page.of(pageNum, pageSize));
+        return R.ok(page);
+    }
+
     /**
      * 导出门店积分统计
      */
@@ -56,37 +72,10 @@
         ShopPointStatistics statistics = shopPointService.statistics(Page.of(1, Integer.MAX_VALUE), shopPoint);
         if (statistics!=null){
             IPage<ShopPoint> shopPointIPage = statistics.getShopPointIPage();
-            List<ShopPointEX> shopPointEXList = new ArrayList<>();
-            if (shopPointIPage!=null){
-                List<ShopPoint> records = shopPointIPage.getRecords();
-                if (records!=null){
-                    for (ShopPoint record : records) {
-                        ShopPointEX shopPointEX = new ShopPointEX();
-                        BeanUtils.copyBeanProp(shopPointEX, record);
-                        Integer type = record.getType();
-                        switch (type) {
-                            case 1:
-                                shopPointEX.setType("门店业绩");
-                                break;
-                            case 2:
-                                shopPointEX.setType("门店返佣");
-                                break;
-                            default:
-                                shopPointEX.setType("下级门店返佣");
-                                break;
-                        }
-                        shopPointEXList.add(shopPointEX);
-                    }
-                }
-
-                ExcelUtil<ShopPointEX> util = new ExcelUtil<>(ShopPointEX.class);
-                util.exportExcel(response, shopPointEXList, "用户积分统计");
-            }
+            ExcelUtil<ShopPoint> util = new ExcelUtil<>(ShopPoint.class);
+            util.exportExcel(response, shopPointIPage.getRecords(), "用户积分统计");
         }
-
     }
-
-
 
 }
 
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 26bca8a..cda2f44 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
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.page.TableDataInfo;
@@ -105,8 +106,53 @@
         return R.ok(getDataTable(technicianService.getTechnicianListByShopId(shopId,name)));
     }
 
+    @GetMapping("/manage/list")
+    @ApiOperation(value = "技师列表", tags = {"门店-技师列表"})
+    public R<Page<Technician>> managelist(@RequestParam Integer pageNum,@RequestParam Integer pageSize,@ApiParam("技师姓名") String name,@ApiParam("技师电话") String phone) {
+        Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
+        Page<Technician> page = technicianService.lambdaQuery().like(name != null, Technician::getName, name)
+                .like(phone != null, Technician::getPhone, phone)
+                .eq(Technician::getShopId, objectId)
+                .page(Page.of(pageNum, pageSize));
+        return R.ok(page);
+    }
+    @PostMapping("/manage/addorupdate")
+    @ApiOperation(value = "添加编辑", tags = {"门店-技师列表"})
+    public R<Page<Technician>> add(@RequestBody Technician technician) {
+        Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
+        technician.setShopId(objectId);
+        technicianService.saveOrUpdate(technician);
+        return R.ok();
+    }
+    @GetMapping("/manage/delete")
+    @ApiOperation(value = "删除", tags = {"门店-技师列表"})
+    public R<Page<Technician>> delete(@RequestParam Integer id) {
+        technicianService.removeById(id);
+        return R.ok();
+    }
+    @GetMapping("/manage/changeStatus")
+    @ApiOperation(value = "上下架", tags = {"门店-技师列表"})
+    public R<Page<Technician>> changeStatus(@RequestParam Integer id,@RequestParam@ApiParam("状态(1=下架,2=上架)") Integer status) {
+        Technician byId = technicianService.getById(id);
+        byId.setStatus(status);
+        technicianService.updateById(byId);
+        return R.ok();
+    }
+    @GetMapping("/manage/changesubscri")
+    @ApiOperation(value = "修改预约状态", tags = {"门店-技师列表"})
+    public R<Page<Technician>> changesubscri(@RequestParam Integer id,@RequestParam@ApiParam("预约状态(1=可预约,2=不可预约)") Integer subscribeStatus) {
+        Technician byId = technicianService.getById(id);
+        byId.setSubscribeStatus(subscribeStatus);
+        technicianService.updateById(byId);
+        return R.ok();
+    }
+
+
+
+
+
     @GetMapping("/getById")
-    @ApiOperation(value = "技师详情", tags = {"技师详情-小程序"})
+    @ApiOperation(value = "技师详情", tags = {"技师详情-小程序","门店-技师列表"})
     public R<Technician> getById(@RequestParam("id") Integer id){
         Technician byId = technicianService.getById(id);
         return R.ok(byId);
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 f683fff..6f6fe87 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
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.other.api.domain.TechnicianSubscribe;
 import com.ruoyi.other.service.TechnicianSubscribeService;
@@ -32,6 +33,23 @@
 public class TechnicianSubscribeController extends BaseController {
     @Resource
     private TechnicianSubscribeService technicianSubscribeService;
+    @Resource
+    private TokenService tokenService;
+
+
+    @GetMapping("/shop/list")
+    @ApiOperation(value = "预约列表", tags = {"门店-预约列表"})
+    public TableDataInfo<TechnicianSubscribeVO> shoplist(@ApiParam(value = "状态") Integer status,
+                                                         @ApiParam("电话")String phone,
+                                                         @ApiParam("姓名")String name,
+                                                         @ApiParam("服务方式:1=上门服务,2=到店服务")Integer serviceMode
+                                                         ) {
+        Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
+        startPage();
+        List<TechnicianSubscribeVO> list = technicianSubscribeService
+                .getTechnicianSubscribeByUserAndShop1(Long.valueOf(objectId),status,phone,name,serviceMode);
+        return getDataTable(list);
+    }
 
     /**
      * 预约列表
@@ -60,7 +78,7 @@
      * 取消服务
      */
     @GetMapping("/cancel")
-    @ApiOperation(value = "取消服务", notes = "取消服务", tags = {"小程序-个人中心-门店管理,小程序-个人中心-我的预约"})
+    @ApiOperation(value = "取消服务", notes = "取消服务", tags = {"小程序-个人中心-门店管理,小程序-个人中心-我的预约","门店-预约管理"})
     public R<Void> cancel(@ApiParam(value = "预约id") @RequestParam Long id) {
 
         TechnicianSubscribe subscribe = technicianSubscribeService.getOne(new LambdaQueryWrapper<TechnicianSubscribe>()
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/dto/PointSettingDto.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/dto/PointSettingDto.java
new file mode 100644
index 0000000..fc55bc1
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/dto/PointSettingDto.java
@@ -0,0 +1,11 @@
+package com.ruoyi.other.dto;
+
+import com.ruoyi.other.api.domain.PointSetting;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PointSettingDto {
+    private List<PointSetting> pointSettings;
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/excel/ShopPointEX.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/excel/ShopPointEX.java
deleted file mode 100644
index 7376059..0000000
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/excel/ShopPointEX.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.ruoyi.other.excel;
-
-import com.ruoyi.common.core.annotation.Excel;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-public class ShopPointEX {
-    @Excel(name = "变动类型")
-    private String type;
-
-    @Excel(name = "历史余额")
-    private Integer historicalPoint;
-
-    @Excel(name = "变动金额")
-    private Integer variablePoint;
-
-    @Excel(name = "变动时间")
-    private LocalDateTime createTime;
-
-    @Excel(name = "变动用户id")
-    private Long createUserId;
-
-    @Excel(name = "关联对象id")
-    private Long objectId;
-
-    @Excel(name = "门店名称")
-    private String shopName;
-
-    @Excel(name = "店长姓名")
-    private String shopLeaderName;
-
-    @Excel(name = "联系电话")
-    private String phone;
-
-}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java
index 02355d9..feee1b5 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopPointMapper.java
@@ -1,7 +1,9 @@
 package com.ruoyi.other.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ruoyi.other.api.domain.ShopPoint;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -15,6 +17,9 @@
  */
 public interface ShopPointMapper extends BaseMapper<ShopPoint> {
 
-    List<ShopPoint> findLatestChangeByType(ShopPoint shopPoint);
+    List<ShopPoint> selectShopPointList(@Param("shopPoint") ShopPoint shopPoint);
+
+    IPage<ShopPoint> queryShpointPage(@Param("page") IPage<ShopPoint> page,@Param("shopPoint") ShopPoint shopPoint);
+
 
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianSubscribeMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianSubscribeMapper.java
index 9ccd914..c32412a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianSubscribeMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TechnicianSubscribeMapper.java
@@ -27,6 +27,11 @@
     List<TechnicianSubscribeVO> getTechnicianSubscribeByUserAndShop(
                                                                     @Param("shopId") Long shopId,
                                                                     @Param("status") Integer status);
+    List<TechnicianSubscribeVO> getTechnicianSubscribeByUserAndShop1(
+                                                                    @Param("shopId") Long shopId,
+                                                                    @Param("status") Integer status,@Param("phone")String phone,
+                                                                    @Param("name")String name,
+                                                                    @Param("serviceMode")Integer serviceMode);
     IPage<TechnicianSubscribeVO> getTechnicianSubscribeByUser(@Param("page") Page<TechnicianSubscribe> page, @Param("userId") Long userId,
                                        @Param("status") Integer status);
 }
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 8b81dc8..1eccff1 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
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.other.api.domain.TechnicianSubscribe;
 import com.ruoyi.other.vo.TechnicianSubscribeVO;
+import io.swagger.annotations.ApiParam;
 
 import java.util.List;
 
@@ -22,6 +23,9 @@
      * 查询用于指定门店的相关预约记录
      */
     List<TechnicianSubscribeVO> getTechnicianSubscribeByUserAndShop(Long shopId, Integer status);
+    List<TechnicianSubscribeVO> getTechnicianSubscribeByUserAndShop1(Long shopId, Integer status ,String phone,
+                                                                     String name,
+                                                                     Integer serviceMode);
 
     IPage<TechnicianSubscribeVO> getTechnicianSubscribeByUser(Page<TechnicianSubscribe> page, Long userId, Integer status);
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java
index cfc5e09..f9e435f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopPointServiceImpl.java
@@ -1,22 +1,16 @@
 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.service.impl.ServiceImpl;
-import com.ruoyi.account.api.feignClient.AppUserClient;
-import com.ruoyi.account.api.model.AppUser;
-import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.other.api.domain.Shop;
-import com.ruoyi.other.mapper.ShopPointMapper;
 import com.ruoyi.other.api.domain.ShopPoint;
+import com.ruoyi.other.api.enums.PointChangeType;
+import com.ruoyi.other.mapper.ShopPointMapper;
 import com.ruoyi.other.service.ShopPointService;
-import com.ruoyi.other.service.ShopService;
 import com.ruoyi.other.vo.ShopPointStatistics;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
-import javax.annotation.Resource;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -29,62 +23,28 @@
  */
 @Service
 public class ShopPointServiceImpl extends ServiceImpl<ShopPointMapper, ShopPoint> implements ShopPointService {
-    @Resource
-    private ShopPointMapper shopPointMapper;
-    @Resource
-    private ShopService shopService;
 
     @Override
     public ShopPointStatistics statistics(IPage<ShopPoint> page, ShopPoint shopPoint) {
-
-        String shopName = shopPoint.getShopName();
-        String phone = shopPoint.getPhone();
-        String shopLeaderName = shopPoint.getShopLeaderName();
-        List<Integer> shopIds = shopService.listObjs(new LambdaQueryWrapper<Shop>()
-                        .select(Shop::getId)
-                        .like(StringUtils.isNotEmpty(shopName), Shop::getName, shopName)
-                        .like(StringUtils.isNotEmpty(phone), Shop::getPhone, phone)
-                        .like(StringUtils.isNotEmpty(shopLeaderName), Shop::getShopManager, shopLeaderName))
-                .stream().map(o -> (Integer) o).collect(Collectors.toList());
-        if (CollectionUtils.isEmpty(shopIds)) {
-            return new ShopPointStatistics();
-        }
-
-        shopPoint.setShopIds(shopIds);
-
+        List<ShopPoint> shopPoints = this.baseMapper.selectShopPointList(shopPoint);
+        Map<Integer, Integer> shopPointMap = shopPoints.stream()
+                .collect(Collectors.groupingBy(
+                        ShopPoint::getType,
+                        Collectors.summingInt(ShopPoint::getVariablePoint)
+                ));
 
         ShopPointStatistics shopPointStatistics = new ShopPointStatistics();
-        List<ShopPoint> latestChangeByType = shopPointMapper.findLatestChangeByType(shopPoint);
-        for (ShopPoint sp : latestChangeByType) {
-            switch (sp.getType()) {
-                case 1:
-                    shopPointStatistics.setShopPoint(sp.getVariablePoint());
-                    break;
-                case 2:
-                    shopPointStatistics.setShopCommissionPoint(sp.getVariablePoint());
-                    break;
-                case 3:
-                    shopPointStatistics.setSubShopCommissionPoint(sp.getVariablePoint());
-                    break;
-            }
-        }
-        shopPointStatistics.setTotalPoint(shopPointStatistics.getShopPoint() + shopPointStatistics.getShopCommissionPoint() + shopPointStatistics.getSubShopCommissionPoint());
+        int sPoint = shopPointMap.getOrDefault(PointChangeType.SHOP_ACHIEVEMENT.getCode(), 0);
+        int shopCommissionPoint = shopPointMap.getOrDefault(PointChangeType.SHOP_REBATE.getCode(), 0);
+        int subShopCommissionPoint = shopPointMap.getOrDefault(PointChangeType.JUNIOR_SHOP_REBATE.getCode(), 0);
+        shopPointStatistics.setTotalPoint(sPoint + shopCommissionPoint + subShopCommissionPoint);
+        shopPointStatistics.setShopPoint(sPoint);
+        shopPointStatistics.setShopCommissionPoint(shopCommissionPoint);
+        shopPointStatistics.setSubShopCommissionPoint(subShopCommissionPoint);
 
-
-        boolean condition = shopPoint.getStartTime() != null && shopPoint.getEndTime() != null;
-        IPage<ShopPoint> shopPointIPage = page(page, new LambdaQueryWrapper<ShopPoint>()
-                .in(!CollectionUtils.isEmpty(shopPoint.getShopIds()), ShopPoint::getShopId, shopPoint.getShopIds())
-                .eq(shopPoint.getType() != null, ShopPoint::getType, shopPoint.getType())
-                .between(condition, ShopPoint::getCreateTime, shopPoint.getStartTime(), shopPoint.getEndTime())
-                .orderByDesc(ShopPoint::getCreateTime));
-        List<ShopPoint> shopPoints = shopPointIPage.getRecords();
-        for (ShopPoint sp : shopPoints) {
-            Shop shop = shopService.getById(sp.getShopId());
-            sp.setShopName(shop.getName());
-            sp.setShopLeaderName(shop.getShopManager());
-            sp.setPhone(shop.getPhone());
-        }
+        IPage<ShopPoint> shopPointIPage = this.baseMapper.queryShpointPage(page, shopPoint);
         shopPointStatistics.setShopPointIPage(shopPointIPage);
+
         return shopPointStatistics;
     }
 }
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 50f8621..03e63ba 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
@@ -41,6 +41,12 @@
         return technicianSubscribeMapper.getTechnicianSubscribeByUserAndShop(shopId,status);
     }
     @Override
+    public List<TechnicianSubscribeVO> getTechnicianSubscribeByUserAndShop1(Long shopId, Integer status ,String phone,
+                                                                            String name,
+                                                                            Integer serviceMode) {
+        return technicianSubscribeMapper.getTechnicianSubscribeByUserAndShop1(shopId,status,phone,name,serviceMode);
+    }
+    @Override
     public IPage<TechnicianSubscribeVO> getTechnicianSubscribeByUser(Page<TechnicianSubscribe> page, Long userId, Integer status) {
         return technicianSubscribeMapper.getTechnicianSubscribeByUser(page, userId, status);
     }
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 6828ee3..937b56a 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
@@ -2,47 +2,41 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.other.mapper.ShopPointMapper">
 
-    <select id="findLatestChangeByType" resultType="com.ruoyi.other.api.domain.ShopPoint">
+    <sql id="ShopPointList">
         SELECT
-            id,
-            shop_id,
-            type,
-            historical_point,
-            variable_point,
-            create_time,
-            create_user_id,
-            object_id
+        ts.`name` shopName,
+        ts.shop_manager shopLeaderName,
+        ts.phone,
+        tsp.type,
+        tsp.create_time,
+        tsp.variable_point
         FROM
-            (
-                SELECT
-                    id,
-                    shop_id,
-                    type,
-                    historical_point,
-                    variable_point,
-                    create_time,
-                    create_user_id,
-                    object_id,
-                    ROW_NUMBER() OVER ( PARTITION BY type,create_user_id ORDER BY create_time DESC ) AS rn
-                FROM
-                    t_shop_point
+        t_shop_point tsp
+        LEFT JOIN t_shop ts ON tsp.shop_id = ts.id
+        <where>
+            <if test="shopPoint.shopName != null and shopPoint.shopName != ''">
+                AND ts.`name` LIKE concat('%',#{shopPoint.shopName},'%')
+            </if>
+            <if test="shopPoint.shopLeaderName != null and shopPoint.shopLeaderName != ''">
+                AND ts.shop_manager LIKE concat('%',#{shopPoint.shopLeaderName},'%')
+            </if>
+            <if test="shopPoint.phone != null and shopPoint.phone != ''">
+                AND ts.phone LIKE concat('%',#{shopPoint.phone},'%')
+            </if>
+            <if test="shopPoint.type != null">
+                AND tsp.type = #{shopPoint.type}
+            </if>
+            <if test="shopPoint.startTime !=null and shopPoint.endTime !=null">
+                AND tsp.create_time BETWEEN #{shopPoint.startTime} AND #{shopPoint.endTime}
+            </if>
 
-                <where>
-                    <if test="shopIds != null and shopIds.size() > 0">
-                        AND shop_id IN
-                        <foreach collection="shopIds" item="shopId" open="(" close=")" separator=",">
-                            #{shopId}
-                        </foreach>
-                    </if>
-                    <if test="type != null">
-                        AND `type` = #{type}
-                    </if>
-                    <if test="startTime != null and endTime != null">
-                        AND create_time BETWEEN #{startTime} AND #{endTime}
-                    </if>
-                </where>
-            ) AS subquery
-        WHERE
-            rn = 1
+        </where>
+    </sql>
+
+    <select id="selectShopPointList" resultType="com.ruoyi.other.api.domain.ShopPoint">
+        <include refid="ShopPointList"/>
+    </select>
+    <select id="queryShpointPage" resultType="com.ruoyi.other.api.domain.ShopPoint">
+        <include refid="ShopPointList"/>
     </select>
 </mapper>
\ No newline at end of file
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 48a511d..91afdb6 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
@@ -26,6 +26,40 @@
         </if>
         ORDER BY tts.create_time DESC
     </select>
+    <select id="getTechnicianSubscribeByUserAndShop1" resultType="com.ruoyi.other.vo.TechnicianSubscribeVO">
+        SELECT
+            CAST(tts.id AS CHAR) id,
+            tts.user_address,
+            ts.`name` shopName,
+            ts.address shopAddress,
+            tt.name technicianName,
+            ts.longitude,
+            ts.latitude,
+            tts.subscribe_time,
+            tts.service_mode,
+            tts.status
+        FROM
+            t_technician_subscribe tts
+                LEFT JOIN t_technician tt ON tts.technician_id = tt.id AND tt.del_flag = 0
+                LEFT JOIN t_shop ts ON tt.shop_id = ts.id AND ts.del_flag = 0
+        WHERE
+            ts.id = #{shopId}
+            AND tts.del_flag = 0
+        <if test="status != null">
+            AND tts.status = #{status}
+        </if>
+        <if test="name != null and name != ''">
+            AND tt.`name` LIKE concat('%', #{name}, '%')
+        </if>
+        <if test="phone != null and phone != ''">
+            AND tt.`phone` LIKE concat('%', #{phone}, '%')
+        </if>
+        <if test="serviceMode != null">
+            AND tts.service_mode = #{serviceMode}
+        </if>
+
+        ORDER BY tts.create_time DESC
+    </select>
 
     <select id="getTechnicianSubscribeByUser" resultType="com.ruoyi.other.vo.TechnicianSubscribeVO">
         SELECT  * from (

--
Gitblit v1.7.1