From f6e2f4ba4093e401475398e1bd3f7c2e8165b3cb Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 18 十二月 2024 10:30:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java | 6
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SeckillActivityInfo.java | 3
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml | 33 ++
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Goods.java | 6
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java | 23 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java | 21 +
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml | 39 ++
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java | 5
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUser.java | 16 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java | 2
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/SeckillActivityInfoController.java | 20 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java | 4
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java | 81 +++++
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java | 22 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java | 42 +++
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java | 49 +++
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java | 4
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java | 28 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java | 40 ++
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 60 ++++
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java | 21 +
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/BalanceChangeRecordController.java | 127 +++-----
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java | 25 +
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopPointMapper.xml | 2
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java | 116 ++++---
25 files changed, 658 insertions(+), 137 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 1824fcd..5479c1b 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
@@ -171,6 +171,22 @@
@TableField("total_distribution_amount")
private BigDecimal totalDistributionAmount;
+ @ApiModelProperty(value = "拉新人积分总数")
+ @TableField("total_invite_point")
+ private Integer totalInvitePoint;
+
+ @ApiModelProperty(value = "注册积分总数")
+ @TableField("total_register_point")
+ private Integer totalRegisterPoint;
+
+ @ApiModelProperty(value = "做工积分总数")
+ @TableField("total_work_point")
+ private Integer totalWorkPoint;
+
+ @ApiModelProperty(value = "业绩积分总数")
+ @TableField("total_performance_point")
+ private Integer totalPerformancePoint;
+
@ApiModelProperty(value = "剩余积分")
@TableField("lave_point")
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Goods.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Goods.java
index e05c57d..45e60a1 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Goods.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/Goods.java
@@ -139,6 +139,12 @@
@ApiModelProperty(value = "地区价格")
private List<GoodsArea> goodsAreaList;
+ @TableField(exist = false)
+ private String categoryName;
+
+ @TableField(exist = false)
+ private Integer showStatus;
+
public String getIdStr() {
return String.valueOf(id);
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SeckillActivityInfo.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SeckillActivityInfo.java
index a749c31..18c6b4a 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SeckillActivityInfo.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SeckillActivityInfo.java
@@ -73,5 +73,8 @@
@TableField(exist = false)
private List<GoodsSeckill> goodsSeckills;
+ @TableField(exist = false)
+ private Goods goods;
+
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java
index 2e8da40..526c5c4 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopBalanceStatement.java
@@ -3,6 +3,7 @@
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -36,8 +37,9 @@
@TableField("shop_id")
private Integer shopId;
- @ApiModelProperty(value = "变动类型(1=返佣,2=提现)")
+ @ApiModelProperty(value = "变动类型(1=门店分佣,2=下级门店分佣,3=门店服务费)")
@TableField("type")
+ @Excel(name = "变更类型",readConverterExp = "1=门店分佣,2=下级门店分佣,3=门店服务费")
private Integer type;
@ApiModelProperty(value = "历史余额")
@@ -48,8 +50,14 @@
@TableField("variable_amount")
private BigDecimal variableAmount;
+ @ApiModelProperty(value = "变动后余额")
+ @TableField("balance")
+ @Excel(name = "变更后数量")
+ private BigDecimal balance;
+
@ApiModelProperty(value = "变动时间")
@TableField("create_time")
+ @Excel(name = "变更时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(value = "变动用户id")
@@ -60,5 +68,18 @@
@TableField("object_id")
private Long objectId;
+ @ApiModelProperty(value = "门店名称")
+ @TableField(exist = false)
+ @Excel(name = "门店名称")
+ private String shopName;
+ @ApiModelProperty(value = "店长名称")
+ @TableField(exist = false)
+ @Excel(name = "店长名称")
+ private String shopManagerName;
+
+ @ApiModelProperty(value = "联系电话")
+ @TableField(exist = false)
+ @Excel(name = "联系电话")
+ private String phone;
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java
index 4f31bf8..3807f84 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/ShopWithdraw.java
@@ -78,5 +78,9 @@
@TableField("create_user_id")
private Long createUserId;
+ @ApiModelProperty(value = "门店名称")
+ @TableField(exist = false)
+ private String shopName;
+
}
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 5c5a224..e43b425 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
@@ -3,17 +3,14 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.model.BalanceChangeRecord;
-import com.ruoyi.account.api.model.UserClickLog;
-import com.ruoyi.account.api.model.UserPoint;
import com.ruoyi.account.dto.BalanceQuery;
-import com.ruoyi.account.dto.UserCancelQuery;
-import com.ruoyi.account.excel.UserPointEx;
+import com.ruoyi.account.excel.BalanceChangeRecordEX;
import com.ruoyi.account.service.BalanceChangeRecordService;
import com.ruoyi.account.vo.CommissionStatistics;
-import com.ruoyi.account.vo.UserPointStatistics;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -52,77 +49,63 @@
return R.ok(balanceChangeRecordService.pageList(agentQuery));
}
-// /**
-// * 用户分佣统计
-// */
-// @GetMapping("/commissionStatistics")
-// @ApiOperation(value = "用户分佣统计", tags = "管理后台-财务统计-用户分佣统计")
-// public R<CommissionStatistics> commissionStatistics(UserPoint userPoint) {
-// userPoint.setType(2);
-// IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(userPoint.getPageNum(), userPoint.getPageSize()), userPoint);
-// UserPointStatistics statistics = userPointService.getStatistics(userPoint);
-// CommissionStatistics commissionStatistics = new CommissionStatistics();
-// commissionStatistics.setStatistics(statistics);
-// commissionStatistics.setUserPointPage(userPointPage);
-// return R.ok(commissionStatistics);
-// }
+ /**
+ * 用户分佣统计
+ */
+ @GetMapping("/commissionStatistics")
+ @ApiOperation(value = "用户分佣统计", tags = "管理后台-财务统计-用户分佣统计")
+ public R<CommissionStatistics> commissionStatistics(@ApiParam("页码") @RequestParam Integer pageNum,
+ @ApiParam("每一页数据大小") Integer pageSize,
+ BalanceChangeRecord balanceChangeRecord) {
+ CommissionStatistics commissionStatistics1 = balanceChangeRecordService.commissionStatistics(Page.of(pageNum, pageSize), balanceChangeRecord);
+ return R.ok(commissionStatistics1);
+ }
//
// /**
// * 导出用户分佣统计
// */
-// @GetMapping("/commissionExport")
-// @ApiOperation(value = "用户分佣统计导出", tags = "管理后台-财务统计-用户分佣统计")
-// public void commissionExport(HttpServletResponse response, UserPoint userPoint) {
-// userPoint.setType(2);
-// IPage<UserPoint> userPointPage = userPointService.getUserPointPage(Page.of(1, Integer.MAX_VALUE), userPoint);
-// List<UserPoint> userPointList = userPointPage.getRecords();
-// List<UserPointEx> userPointExList = new ArrayList<>();
-// for (UserPoint point : userPointList) {
-// UserPointEx userPointEx = new UserPointEx();
-// userPointEx.setUserName(point.getUserName());
-// userPointEx.setPhone(point.getPhone());
-// userPointEx.setChangeTime(point.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-// userPointEx.setChangeNum(point.getVariablePoint().toString());
-// Integer type = point.getType();
-// switch (type) {
-// case 1:
-// userPointEx.setType("消费积分");
-// break;
-// case 2:
-// userPointEx.setType("返佣积分");
-// break;
-// case 3:
-// userPointEx.setType("拉新人积分");
-// break;
-// case 4:
-// userPointEx.setType("兑换商品");
-// break;
-// case 5:
-// userPointEx.setType("门店业绩");
-// break;
-// case 6:
-// userPointEx.setType("门店返佣");
-// break;
-// case 7:
-// userPointEx.setType("技师业绩");
-// break;
-// case 8:
-// userPointEx.setType("转赠积分");
-// break;
-// case 9:
-// userPointEx.setType("做工积分");
-// break;
-// case 10:
-// userPointEx.setType("注册积分");
-// break;
-// default:
-// userPointEx.setType("未知积分");
-// }
-// userPointExList.add(userPointEx);
-// }
-// ExcelUtil<UserPointEx> util = new ExcelUtil<>(UserPointEx.class);
-// util.exportExcel(response, userPointExList, "用户分佣统计");
-// }
+ @GetMapping("/commissionExport")
+ @ApiOperation(value = "用户分佣统计导出", tags = "管理后台-财务统计-用户分佣统计")
+ public void commissionExport(HttpServletResponse response, BalanceChangeRecord balanceChangeRecord) {
+ 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, "用户分佣统计");
+ }
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
new file mode 100644
index 0000000..a81fee3
--- /dev/null
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/excel/BalanceChangeRecordEX.java
@@ -0,0 +1,22 @@
+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/vo/CommissionStatistics.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/CommissionStatistics.java
index 7233cd7..24f543e 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
@@ -14,7 +14,7 @@
public class CommissionStatistics {
@ApiModelProperty(value = "分佣总计")
- private Integer totalCommission;
+ private BigDecimal totalCommission;
@ApiModelProperty(value = "分页数据", required = true)
private IPage<BalanceChangeRecord> userPointPage;
@@ -22,6 +22,7 @@
public CommissionStatistics() {
}
public CommissionStatistics(BigDecimal totalCommission, Page<BalanceChangeRecord> changeRecordPage) {
-
+ this.totalCommission = totalCommission;
+ this.userPointPage = changeRecordPage;
}
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java
index 12d044e..952197d 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java
@@ -13,12 +13,12 @@
import com.ruoyi.other.api.domain.*;
import com.ruoyi.other.api.vo.GetGoodsBargainPrice;
import com.ruoyi.other.service.*;
+import com.ruoyi.other.vo.AddGoodsBargainPriceVo;
+import com.ruoyi.other.vo.GoodsBargainPriceInfo;
import com.ruoyi.other.vo.ShopGoodsList;
import com.ruoyi.other.vo.ShopGoodsListVo;
import com.ruoyi.system.api.model.LoginUser;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
import io.swagger.models.auth.In;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -197,11 +197,29 @@
return R.ok(page);
}
-
-
+ @ResponseBody
+ @GetMapping("/getGoodsBargainPriceInfo/{id}")
+ @ApiOperation(value = "获取商品特殊售价详情", tags = {"门店后台-商品管理"})
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "商品id", name = "id", required = true, dataType = "int"),
+ })
+ public R<GoodsBargainPriceInfo> getGoodsBargainPriceInfo(@PathVariable("id") Integer id){
+ GoodsBargainPriceInfo goodsBargainPriceInfo = goodsBargainPriceService.getGoodsBargainPriceInfo(id);
+ return R.ok(goodsBargainPriceInfo);
+ }
+
+
+
+
+ @ResponseBody
+ @GetMapping("/addGoodsBargainPrice/{id}")
+ @ApiOperation(value = "保存商品特殊售价", tags = {"门店后台-商品管理"})
+ public R addGoodsBargainPrice(@RequestBody AddGoodsBargainPriceVo vo){
+ return goodsBargainPriceService.addGoodsBargainPrice(vo);
+ }
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java
index 00f0857..b435e5c 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsShopController.java
@@ -72,7 +72,7 @@
}
-
+
}
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 07e9282..50b09d0 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
@@ -14,6 +14,7 @@
import com.ruoyi.other.api.vo.GetSeckillActivityInfo;
import com.ruoyi.other.mapper.SeckillActivityInfoMapper;
import com.ruoyi.other.service.GoodsSeckillService;
+import com.ruoyi.other.service.GoodsService;
import com.ruoyi.other.service.SeckillActivityInfoService;
import com.ruoyi.other.vo.SeckillActivityDetailVO;
import com.ruoyi.other.vo.SeckillActivityVO;
@@ -23,6 +24,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.List;
@@ -46,6 +48,9 @@
@Resource
private SeckillActivityInfoMapper seckillActivityInfoMapper;
+
+ @Resource
+ private GoodsService goodsService;
@@ -101,6 +106,18 @@
Goods goods)
{
IPage<SeckillActivityVO> IPage = seckillActivityInfoMapper.querySeckillActivity(Page.of(pageNum, pageSize), goods);
+ for (SeckillActivityVO record : IPage.getRecords()) {
+ LocalDateTime startTime = record.getStartTime();
+ LocalDateTime now = LocalDateTime.now();
+ LocalDateTime endTime = record.getEndTime();
+ if (endTime.isBefore(now)){
+ record.setStatus(3); //已结束
+ }else if (startTime.isBefore(now)){
+ record.setStatus(2); // 已开始
+ }else {
+ record.setStatus(1); // 未开始
+ }
+ }
return R.ok(IPage);
}
@@ -148,6 +165,9 @@
List<GoodsSeckill> goodsSeckills = goodsSeckillService.list(new LambdaQueryWrapper<GoodsSeckill>()
.eq(GoodsSeckill::getSeckillActivityInfoId, id));
seckillActivityInfo.setGoodsSeckills(goodsSeckills);
+ Integer goodId = seckillActivityInfo.getGoodId();
+ Goods goods = goodsService.getById(goodId);
+ seckillActivityInfo.setGoods(goods);
return R.ok(seckillActivityInfo);
}
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 9ee1f9e..d03e6f8 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
@@ -1,8 +1,23 @@
package com.ruoyi.other.controller;
+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.poi.ExcelUtil;
+import com.ruoyi.other.api.domain.ShopBalanceStatement;
+import com.ruoyi.other.service.ShopBalanceStatementService;
+import com.ruoyi.other.vo.ShopCommissionStatisticsVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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 javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
/**
* <p>
@@ -14,7 +29,34 @@
*/
@RestController
@RequestMapping("/shop-balance-statement")
+@Api(tags = "管理后台-财务统计-门店分佣统计")
public class ShopBalanceStatementController {
+ @Resource
+ private ShopBalanceStatementService shopBalanceStatementService;
+
+ /**
+ * 门店分佣统计
+ */
+ @GetMapping("/commissionStatistics")
+ @ApiOperation("门店分佣统计")
+ public R<ShopCommissionStatisticsVO> shopCommissionStatistics(@ApiParam("页码") @RequestParam Integer pageNum,
+ @ApiParam("每一页数据大小") Integer pageSize,
+ ShopBalanceStatement shopBalanceStatement){
+ ShopCommissionStatisticsVO shopCommissionStatisticsVO = shopBalanceStatementService.shopCommissionStatistics(Page.of(pageNum, pageSize), shopBalanceStatement);
+ return R.ok(shopCommissionStatisticsVO);
+ }
+
+ /**
+ * 导出门店分佣统计
+ */
+ @GetMapping("/export")
+ @ApiOperation("导出门店分佣统计")
+ public void export(HttpServletResponse response , ShopBalanceStatement shopBalanceStatement){
+ ShopCommissionStatisticsVO shopCommissionStatisticsVO = shopBalanceStatementService.shopCommissionStatistics(Page.of(1, Integer.MAX_VALUE), shopBalanceStatement);
+ IPage<ShopBalanceStatement> statementIPage = shopCommissionStatisticsVO.getStatementIPage();
+ ExcelUtil<ShopBalanceStatement> util = new ExcelUtil<>(ShopBalanceStatement.class);
+ util.exportExcel(response, statementIPage.getRecords(), "用户积分统计");
+ }
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java
index 1c04ba7..4bdf64d 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java
@@ -1,8 +1,26 @@
package com.ruoyi.other.controller;
+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.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.other.api.domain.ShopWithdraw;
+import com.ruoyi.other.service.ShopService;
+import com.ruoyi.other.service.ShopWithdrawService;
+import com.ruoyi.system.api.model.LoginUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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 javax.annotation.Resource;
+import java.time.LocalDateTime;
/**
* <p>
@@ -14,7 +32,49 @@
*/
@RestController
@RequestMapping("/shop-withdraw")
+@Api(tags = {"管理后台-门店管理-提现管理"})
public class ShopWithdrawController {
+ @Resource
+ private ShopWithdrawService shopWithdrawService;
+ @Resource
+ private ShopService shopService;
+ @Resource
+ private TokenService tokenService;
+
+ /**
+ * 提现申请列表
+ */
+ @GetMapping("/list")
+ @ApiOperation("提现申请列表")
+ public R<IPage<ShopWithdraw>> list(@ApiParam("页码") @RequestParam Integer pageNum,
+ @ApiParam("每一页数据大小") Integer pageSize,
+ ShopWithdraw shopWithdraw) {
+
+ Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>()
+ .like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), ShopWithdraw::getShopName, shopWithdraw.getShopName()));
+ page.getRecords().forEach(item-> item.setShopName(shopService.getById(item.getShopId()).getName()));
+ return R.ok(page);
+ }
+
+ /**
+ * 审核
+ */
+ @RequestMapping("/audit")
+ @ApiOperation("审核")
+ public R<Void> audit(ShopWithdraw shopWithdraw) {
+ LoginUser loginUser = tokenService.getLoginUser();
+ ShopWithdraw shopWithdraw1 = shopWithdrawService.getById(shopWithdraw.getId());
+ shopWithdraw1.setAuditStatus(shopWithdraw.getAuditStatus());
+ shopWithdraw1.setAuditUserId(loginUser.getUserid());
+ shopWithdraw1.setAuditTime(LocalDateTime.now());
+ shopWithdraw1.setAuditMsg(shopWithdraw.getAuditMsg());
+ shopWithdrawService.updateById(shopWithdraw1);
+ return R.ok();
+ }
+
+
+
+
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java
index 3363860..4b0e3c4 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/ShopBalanceStatementMapper.java
@@ -1,7 +1,11 @@
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.ShopBalanceStatement;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* <p>
@@ -12,5 +16,5 @@
* @since 2024-11-20
*/
public interface ShopBalanceStatementMapper extends BaseMapper<ShopBalanceStatement> {
-
+ List<ShopBalanceStatement> findLatestChangeByType(ShopBalanceStatement shopBalanceStatement);
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java
index b6a4b60..42d2b33 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java
@@ -1,7 +1,12 @@
package com.ruoyi.other.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.GoodsBargainPrice;
+import com.ruoyi.other.vo.AddGoodsBargainPriceVo;
+import com.ruoyi.other.vo.GoodsBargainPriceInfo;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
/**
* <p>
@@ -12,5 +17,21 @@
* @since 2024-11-20
*/
public interface GoodsBargainPriceService extends IService<GoodsBargainPrice> {
+
+
+ /**
+ * 获取商品特殊售价明细
+ * @param id
+ * @return
+ */
+ GoodsBargainPriceInfo getGoodsBargainPriceInfo(Integer id);
+
+
+ /**
+ * 提交特殊售价申请
+ * @param vo
+ * @return
+ */
+ R addGoodsBargainPrice(AddGoodsBargainPriceVo vo);
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java
index 5328644..ff95d38 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/ShopBalanceStatementService.java
@@ -1,7 +1,9 @@
package com.ruoyi.other.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.other.api.domain.ShopBalanceStatement;
+import com.ruoyi.other.vo.ShopCommissionStatisticsVO;
/**
* <p>
@@ -12,5 +14,5 @@
* @since 2024-11-20
*/
public interface ShopBalanceStatementService extends IService<ShopBalanceStatement> {
-
+ ShopCommissionStatisticsVO shopCommissionStatistics(IPage<ShopBalanceStatement> page, ShopBalanceStatement shopBalanceStatement);
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java
index bf7bf04..362f771 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java
@@ -1,10 +1,23 @@
package com.ruoyi.other.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.other.api.domain.GoodsBargainPriceDetail;
import com.ruoyi.other.mapper.GoodsBargainPriceMapper;
import com.ruoyi.other.api.domain.GoodsBargainPrice;
+import com.ruoyi.other.service.GoodsBargainPriceDetailService;
import com.ruoyi.other.service.GoodsBargainPriceService;
+import com.ruoyi.other.vo.AddGoodsBargainPriceVo;
+import com.ruoyi.other.vo.GoodsBargainPriceInfo;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.feignClient.SysUserClient;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.List;
/**
* <p>
@@ -16,5 +29,71 @@
*/
@Service
public class GoodsBargainPriceServiceImpl extends ServiceImpl<GoodsBargainPriceMapper, GoodsBargainPrice> implements GoodsBargainPriceService {
-
+
+ @Resource
+ private TokenService tokenService;
+
+ @Resource
+ private SysUserClient sysUserClient;
+
+ @Resource
+ private GoodsBargainPriceDetailService goodsBargainPriceDetailService;
+
+
+
+
+ /**
+ * 获取商品特殊售价明细
+ * @param id
+ * @return
+ */
+ @Override
+ public GoodsBargainPriceInfo getGoodsBargainPriceInfo(Integer id) {
+ Long userid = tokenService.getLoginUser().getUserid();
+ SysUser sysUser = sysUserClient.getSysUser(userid).getData();
+ GoodsBargainPrice bargainPrice = this.getOne(new LambdaQueryWrapper<GoodsBargainPrice>().eq(GoodsBargainPrice::getShopId, sysUser.getObjectId())
+ .eq(GoodsBargainPrice::getGoodsId, id).eq(GoodsBargainPrice::getDelFlag, 0).last(" order by create_time desc limit 0, 1"));
+ if(null == bargainPrice){
+ return null;
+ }
+ List<GoodsBargainPriceDetail> list = goodsBargainPriceDetailService.list(new LambdaQueryWrapper<GoodsBargainPriceDetail>().eq(GoodsBargainPriceDetail::getGoodsBargainPriceId, bargainPrice.getId()));
+ GoodsBargainPriceInfo info = new GoodsBargainPriceInfo();
+ info.setId(bargainPrice.getId().toString());
+ info.setList(list);
+ info.setAuditMsg(bargainPrice.getAuditMsg());
+ info.setAuditStatus(bargainPrice.getAuditStatus());
+ return info;
+ }
+
+
+ /**
+ * 提交特殊售价申请
+ * @param vo
+ * @return
+ */
+ @Override
+ public R addGoodsBargainPrice(AddGoodsBargainPriceVo vo) {
+ Long userid = tokenService.getLoginUser().getUserid();
+ SysUser sysUser = sysUserClient.getSysUser(userid).getData();
+ GoodsBargainPrice bargainPrice = this.getOne(new LambdaQueryWrapper<GoodsBargainPrice>().eq(GoodsBargainPrice::getShopId, sysUser.getObjectId())
+ .eq(GoodsBargainPrice::getGoodsId, vo.getGoodsId()).eq(GoodsBargainPrice::getDelFlag, 0).last(" order by create_time desc limit 0, 1"));
+ if(null != bargainPrice && 1 == bargainPrice.getAuditStatus()){
+ return R.fail("特价申请正在审核中");
+ }
+ bargainPrice = new GoodsBargainPrice();
+ bargainPrice.setShopId(sysUser.getObjectId());
+ bargainPrice.setGoodsId(vo.getGoodsId());
+ bargainPrice.setAuditStatus(1);
+ bargainPrice.setDelFlag(0);
+ bargainPrice.setCreateTime(LocalDateTime.now());
+ bargainPrice.setCreateUserId(userid);
+ this.updateById(bargainPrice);
+ //添加明细
+ List<GoodsBargainPriceDetail> list = vo.getList();
+ for (GoodsBargainPriceDetail goodsBargainPriceDetail : list) {
+ goodsBargainPriceDetail.setGoodsBargainPriceId(bargainPrice.getId());
+ }
+ goodsBargainPriceDetailService.saveBatch(list);
+ return R.ok();
+ }
}
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 3ad615f..a45c0d6 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
@@ -28,7 +28,10 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -169,38 +172,55 @@
if (CollectionUtils.isEmpty(goodsShopList)){
throw new NullPointerException("请选择指定门店");
}
- for (GoodsShop goodsShop : goodsShopList) {
- goodsShop.setGoodsId(goods.getId());
- goodsShop.setId(null);
- }
- goodsShopService.saveBatch(goodsShopList);
+ saveGoodsShopList(goodsShopList, goods.getId());
}
// 指定用户
List<GoodsAppUser> goodsAppUserList = goods.getGoodsAppUserList();
if (!CollectionUtils.isEmpty(goodsAppUserList)){
- for (GoodsAppUser goodsAppUser : goodsAppUserList) {
- goodsAppUser.setId(null );
- goodsAppUser.setGoodsId(goods.getId());
- }
- goodsAppUserService.saveBatch(goodsAppUserList);
+ saveGoodsAppUserList(goodsAppUserList, goods.getId());
}
// 会员价格配置
List<GoodsVip> goodsVipList = goods.getGoodsVipList();
- for (GoodsVip goodsVip : goodsVipList) {
- goodsVip.setId(null);
- goodsVip.setGoodsId(goods.getId());
- }
- goodsVipService.saveBatch(goodsVipList);
+ saveGoodsVipList(goodsVipList, goods.getId());
// 特殊地区售价设置
List<GoodsArea> goodsAreaList = goods.getGoodsAreaList();
if (!CollectionUtils.isEmpty(goodsAreaList)){
+ saveGoodsAreaList(goodsAreaList, goods.getId());
+ }
+
+ }
+
+ @Override
+ public void updateManageGoods(Goods goods) {
+ goodsMapper.updateById(goods);
+ // 指定门店
+ List<GoodsShop> goodsShopList = goods.getGoodsShopList();
+ saveGoodsShopList(goodsShopList, goods.getId());
+
+ // 指定用户
+ List<GoodsAppUser> goodsAppUserList = goods.getGoodsAppUserList();
+ saveGoodsAppUserList(goodsAppUserList, goods.getId());
+
+ // 会员价格配置
+ List<GoodsVip> goodsVipList = goods.getGoodsVipList();
+ saveGoodsVipList(goodsVipList, goods.getId());
+
+ // 特殊地区售价设置
+ List<GoodsArea> goodsAreaList = goods.getGoodsAreaList();
+ saveGoodsAreaList(goodsAreaList, goods.getId());
+ }
+
+ private void saveGoodsAreaList(List<GoodsArea> goodsAreaList, Integer id) {
+ goodsAreaService.remove(new LambdaQueryWrapper<GoodsArea>()
+ .eq(GoodsArea::getGoodsId, id));
+ if (!CollectionUtils.isEmpty(goodsAreaList)){
for (GoodsArea goodsArea : goodsAreaList) {
List<GoodsArea> goodsAreaList1 = goodsArea.getGoodsAreaList();
for (GoodsArea area : goodsAreaList1) {
- area.setGoodsId(goods.getId());
+ area.setGoodsId(id);
area.setProvince(goodsArea.getProvince());
area.setCity(goodsArea.getCity());
area.setDistricts(goodsArea.getDistricts());
@@ -211,41 +231,40 @@
goodsAreaService.saveBatch(goodsAreaList1);
}
}
-
}
- @Override
- public void updateManageGoods(Goods goods) {
- goodsMapper.updateById(goods);
- // 指定门店
- List<GoodsShop> goodsShopList = goods.getGoodsShopList();
- goodsShopService.updateBatchById(goodsShopList);
+ private void saveGoodsVipList(List<GoodsVip> goodsVipList, Integer id) {
+ goodsVipService.remove(new LambdaQueryWrapper<GoodsVip>()
+ .eq(GoodsVip::getGoodsId, id));
+ goodsVipList.forEach(item -> {
+ item.setId(null);
+ item.setGoodsId(id);
+ });
+ goodsVipService.saveBatch(goodsVipList);
+ }
- // 指定用户
- List<GoodsAppUser> goodsAppUserList = goods.getGoodsAppUserList();
- goodsAppUserService.updateBatchById(goodsAppUserList);
-
- // 会员价格配置
- List<GoodsVip> goodsVipList = goods.getGoodsVipList();
- goodsVipService.updateBatchById(goodsVipList);
-
- // 特殊地区售价设置
- List<GoodsArea> goodsAreaList = goods.getGoodsAreaList();
- if (!CollectionUtils.isEmpty(goodsAreaList)){
- for (GoodsArea goodsArea : goodsAreaList) {
- List<GoodsArea> goodsAreaList1 = goodsArea.getGoodsAreaList();
- for (GoodsArea area : goodsAreaList1) {
- area.setGoodsId(goods.getId());
- area.setProvince(goodsArea.getProvince());
- area.setCity(goodsArea.getCity());
- area.setDistricts(goodsArea.getDistricts());
- area.setProvinceCode(goodsArea.getProvinceCode());
- area.setCityCode(goodsArea.getCityCode());
- area.setDistrictsCode(goodsArea.getDistrictsCode());
- }
- goodsAreaService.updateBatchById(goodsAreaList1);
+ private void saveGoodsAppUserList(List<GoodsAppUser> goodsAppUserList, Integer id) {
+ goodsAppUserService.remove(new LambdaQueryWrapper<GoodsAppUser>()
+ .eq(GoodsAppUser::getGoodsId, id));
+ if (!CollectionUtils.isEmpty(goodsAppUserList)){
+ for (GoodsAppUser goodsAppUser : goodsAppUserList) {
+ goodsAppUser.setId(null );
+ goodsAppUser.setGoodsId(id);
}
}
+ goodsAppUserService.saveBatch(goodsAppUserList);
+ }
+
+ private void saveGoodsShopList(List<GoodsShop> goodsShopList, Integer goodsId) {
+ goodsShopService.remove(new LambdaQueryWrapper<GoodsShop>()
+ .eq(GoodsShop::getGoodsId, goodsId));
+ if (!CollectionUtils.isEmpty(goodsShopList)){
+ for (GoodsShop goodsShop : goodsShopList) {
+ goodsShop.setGoodsId(goodsId);
+ goodsShop.setId(null);
+ }
+ }
+ goodsShopService.saveBatch(goodsShopList);
}
@Override
@@ -322,6 +341,9 @@
private List<VipSetting> getVipSettings(Stream<Integer> goodsVipList) {
List<Integer> vipIds = goodsVipList.collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(vipIds)){
+ return new ArrayList<>();
+ }
return vipSettingService.listByIds(vipIds);
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java
index 74bf2d2..5e53178 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/ShopBalanceStatementServiceImpl.java
@@ -1,10 +1,19 @@
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.other.api.domain.Shop;
import com.ruoyi.other.mapper.ShopBalanceStatementMapper;
import com.ruoyi.other.api.domain.ShopBalanceStatement;
import com.ruoyi.other.service.ShopBalanceStatementService;
+import com.ruoyi.other.service.ShopService;
+import com.ruoyi.other.vo.ShopCommissionStatisticsVO;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -16,5 +25,45 @@
*/
@Service
public class ShopBalanceStatementServiceImpl extends ServiceImpl<ShopBalanceStatementMapper, ShopBalanceStatement> implements ShopBalanceStatementService {
+ @Resource
+ private ShopBalanceStatementMapper shopBalanceStatementMapper;
+ @Resource
+ private ShopService shopService;
+
+ @Override
+ public ShopCommissionStatisticsVO shopCommissionStatistics(IPage<ShopBalanceStatement> page, ShopBalanceStatement shopBalanceStatement) {
+ List<ShopBalanceStatement> latestChangeByType = shopBalanceStatementMapper.findLatestChangeByType(shopBalanceStatement);
+ ShopCommissionStatisticsVO shopCommissionStatisticsVO = new ShopCommissionStatisticsVO();
+ for (ShopBalanceStatement sp : latestChangeByType) {
+ switch (sp.getType()) {
+ case 1:
+ shopCommissionStatisticsVO.setTotalCommission(sp.getBalance());
+ break;
+ case 2:
+ shopCommissionStatisticsVO.setTotalSubordinateCommission(sp.getBalance());
+ break;
+ case 3:
+ shopCommissionStatisticsVO.setTotalServiceCharge(sp.getBalance());
+ break;
+ }
+ }
+ shopCommissionStatisticsVO.setTotalAmount(shopCommissionStatisticsVO.getTotalCommission()
+ .add(shopCommissionStatisticsVO.getTotalSubordinateCommission())
+ .add(shopCommissionStatisticsVO.getTotalServiceCharge()));
+
+ IPage<ShopBalanceStatement> statementIPage = page(page, new LambdaQueryWrapper<ShopBalanceStatement>());
+ List<ShopBalanceStatement> records = statementIPage.getRecords();
+ List<Integer> shopIds = records.stream().map(ShopBalanceStatement::getShopId).collect(Collectors.toList());
+ List<Shop> shopList = shopService.listByIds(shopIds);
+ records.forEach(st -> {
+ shopList.stream().filter(shop -> shop.getId().equals(st.getShopId())).findFirst().ifPresent(shop -> {
+ st.setShopName(shop.getName());
+ st.setShopManagerName(shop.getShopManager());
+ st.setPhone(shop.getPhone());
+ });
+ });
+ shopCommissionStatisticsVO.setStatementIPage(statementIPage);
+ return shopCommissionStatisticsVO;
+ }
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java
new file mode 100644
index 0000000..8e79255
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/AddGoodsBargainPriceVo.java
@@ -0,0 +1,21 @@
+package com.ruoyi.other.vo;
+
+import com.ruoyi.other.api.domain.GoodsBargainPriceDetail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/12/17 16:28
+ */
+@Data
+@ApiModel
+public class AddGoodsBargainPriceVo {
+ @ApiModelProperty("商品id")
+ private Integer goodsId;
+ @ApiModelProperty("特殊售价")
+ private List<GoodsBargainPriceDetail> list;
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java
new file mode 100644
index 0000000..6b13165
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsBargainPriceInfo.java
@@ -0,0 +1,25 @@
+package com.ruoyi.other.vo;
+
+import com.ruoyi.other.api.domain.GoodsBargainPriceDetail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @Date 2024/12/17 16:14
+ */
+@Data
+@ApiModel
+public class GoodsBargainPriceInfo {
+ @ApiModelProperty("数据id")
+ private String id;
+ @ApiModelProperty("审核状态(0=待审核,1=审核通过,2=审核失败)")
+ private Integer auditStatus;
+ @ApiModelProperty("审核意见")
+ private String auditMsg;
+ @ApiModelProperty("特殊售价")
+ private List<GoodsBargainPriceDetail> list;
+}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java
new file mode 100644
index 0000000..38fa003
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ShopCommissionStatisticsVO.java
@@ -0,0 +1,40 @@
+package com.ruoyi.other.vo;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.other.api.domain.ShopBalanceStatement;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@ApiModel("门店分佣统计")
+public class ShopCommissionStatisticsVO {
+ /**
+ * 总金额
+ */
+ @ApiModelProperty(value = "总金额")
+ private BigDecimal totalAmount;
+
+ /**
+ * 分佣总金额
+ */
+ @ApiModelProperty(value = "分佣总金额")
+ private BigDecimal totalCommission;
+
+ /**
+ * 服务费总计
+ */
+ @ApiModelProperty(value = "服务费总计")
+ private BigDecimal totalServiceCharge;
+
+ /**
+ * 下级门店分佣总金额
+ */
+ @ApiModelProperty(value = "下级门店分佣总金额")
+ private BigDecimal totalSubordinateCommission;
+
+ private IPage<ShopBalanceStatement> statementIPage;
+}
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 bf9639e..c37a330 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
@@ -49,24 +49,53 @@
<select id="querySeckillActivity" resultType="com.ruoyi.other.vo.SeckillActivityVO">
SELECT
tsai.id,
- tg.`name`,
+ tg.`name` goodsName,
tg.introduction,
+ tgc.`name` goodsCategoryName,
+ tg.operating_cost,
+ tg.shop_cost,
+ tg.purchase_limit maxNum,
tg.home_page_picture,
tg.original_price,
- tgs.selling_price,
tg.sale_num,
- tsai.start_time
+ tg.`type` goodsType,
+ tsai.start_time,
+ tsai.end_time,
+ tsai.is_shelves showStatus
FROM
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
- WHERE tsai.end_time >= NOW() AND tsai.del_flag = 0
+ LEFT JOIN t_goods_category tgc ON tgc.id = tg.goods_category_id
+ WHERE tsai.del_flag = 0
<if test="goods.name != null and goods.name != ''">
AND tg.`name` LIKE concat('%',#{goods.name},'%')
</if>
<if test="goods.goodsCategoryId != null">
AND tg.goods_category_id = #{goods.goodsCategoryId}
</if>
+ <if test="goods.categoryName != null and goods.categoryName != ''">
+ AND tgc.name = #{goods.categoryName}
+ </if>
+ <if test="goods.showStatus != null">
+ AND tsai.is_shelves = #{goods.showStatus}
+ </if>
+
+ <if test="goods.type != null">
+ AND tg.type = #{goods.type}
+ </if>
+
+ <if test="goods.status != null and goods.status ==1">
+ AND tsai.start_time <![CDATA[>]]> NOW()
+ </if>
+
+ <if test="goods.status != null and goods.status ==2">
+ AND tsai.start_time <![CDATA[<=]]> NOW() AND tsai.end_time <![CDATA[>]]> NOW()
+ </if>
+
+ <if test="goods.status != null and goods.status ==3">
+ AND tsai.end_time <![CDATA[<]]> NOW()
+ </if>
+
<if test="goods.vipId != null">
AND find_in_set(#{goods.vipId},tgs.vip) > 0
</if>
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml
new file mode 100644
index 0000000..3def01d
--- /dev/null
+++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/ShopBalanceStatementMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.other.mapper.ShopBalanceStatementMapper">
+
+ <select id="findLatestChangeByType" resultType="com.ruoyi.other.api.domain.ShopBalanceStatement">
+ SELECT
+ id,
+ shop_id,
+ type,
+ historical_balance,
+ variable_amount,
+ balance,
+ create_time,
+ create_user_id,
+ object_id
+ FROM
+ (
+ SELECT
+ id,
+ shop_id,
+ type,
+ historical_balance,
+ variable_amount,
+ balance,
+ 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_balance_statement
+ ) AS subquery
+ </select>
+</mapper>
\ No newline at end of file
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 51e5f7e..6828ee3 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
@@ -23,7 +23,7 @@
create_time,
create_user_id,
object_id,
- ROW_NUMBER() OVER ( PARTITION BY type ORDER BY create_time DESC ) AS rn
+ ROW_NUMBER() OVER ( PARTITION BY type,create_user_id ORDER BY create_time DESC ) AS rn
FROM
t_shop_point
--
Gitblit v1.7.1