From 75755c37790befc243142d140806089e71190e12 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 14 一月 2025 14:22:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java | 6 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java | 1
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/QRCodeGenerator.java | 44 +++++++
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml | 4
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java | 3
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderInfoVo.java | 2
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopBalanceStatementController.java | 3
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TechnicianController.java | 4
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java | 7 +
ruoyi-common/pom.xml | 11 +
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java | 16 ++
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java | 1
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 15 ++
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java | 6
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 203 ++++++++++++++++-----------------
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/dto/WithQuery.java | 2
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/BalanceChangeRecordMapper.xml | 4
17 files changed, 217 insertions(+), 115 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java
index 833aa57..ad189f8 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/vo/OrderDetailVO.java
@@ -89,4 +89,7 @@
@ApiModelProperty(value = "预约单id")
private String technicianSubscribeId;
+ @ApiModelProperty("核销码BASE64")
+ private String writeOffCode;
+
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java
index 00ab5fb..2fa939d 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java
@@ -7,7 +7,9 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
+import java.math.BigDecimal;
import java.util.List;
+import java.util.Map;
import java.util.Set;
@Slf4j
@@ -54,6 +56,11 @@
public R<List<Shop>> getAllShop() {
return R.fail("获取所有门店失败:" + cause.getMessage());
}
+
+ @Override
+ public R<Map<String, BigDecimal>> getShopStatistics() {
+ return R.fail();
+ }
};
}
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java
index ff0a740..e5a5a73 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java
@@ -12,7 +12,9 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
+import java.math.BigDecimal;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/**
@@ -65,4 +67,8 @@
*/
@PostMapping("/shop/getAllShop")
R<List<Shop>> getAllShop();
+
+
+ @GetMapping("/shop/getShopStatistics")
+ public R<Map<String, BigDecimal>> getShopStatistics();
}
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index a6129f8..9d86df3 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -31,6 +31,17 @@
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>com.google.zxing</groupId>
+ <artifactId>core</artifactId>
+ <version>3.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.zxing</groupId>
+ <artifactId>javase</artifactId>
+ <version>3.4.1</version>
+ </dependency>
</dependencies>
</project>
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/QRCodeGenerator.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/QRCodeGenerator.java
new file mode 100644
index 0000000..93bc31e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/uuid/QRCodeGenerator.java
@@ -0,0 +1,44 @@
+package com.ruoyi.common.core.utils.uuid;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.WriterException;
+import com.google.zxing.client.j2se.MatrixToImageWriter;
+import com.google.zxing.common.BitMatrix;
+import com.google.zxing.qrcode.QRCodeWriter;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.Base64;
+
+public class QRCodeGenerator {
+
+ /**
+ * 生成二维码图片的base64编码
+ * @param text
+ * @param width
+ * @param height
+ * @return
+ * @throws WriterException
+ * @throws IOException
+ */
+ public static String generateQRCodeBase64(String text, int width, int height) throws WriterException, IOException {
+ QRCodeWriter qrCodeWriter = new QRCodeWriter();
+ BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
+
+ ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
+ MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream);
+ byte[] pngData = pngOutputStream.toByteArray();
+
+ return Base64.getEncoder().encodeToString(pngData);
+ }
+
+ public static void main(String[] args) {
+ try {
+ String text = "Hello, World!";
+ String base64QRCode = generateQRCodeBase64(text, 200, 200);
+ System.out.println("Base64 QR Code: " + base64QRCode);
+ } catch (WriterException | IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
index 25f0f98..1649af8 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
@@ -137,6 +137,8 @@
@PostMapping("/editAppUserById")
public R<Void> editAppUserById(@RequestBody AppUser appUser) {
appUserService.updateById(appUser);
+ appUserService.update(new LambdaUpdateWrapper<AppUser>().eq(AppUser::getId, appUser.getId())
+ .set(AppUser::getLastShopTime, appUser.getLastShopTime()));
return R.ok();
}
@@ -744,108 +746,6 @@
@GetMapping("/commissionDetail")
@ApiOperation(value = "分佣统计", tags = "管理后台-首页统计")
public R<CommissionDetail> commissionDetail(CommissionDetail cd) {
- Long userid = tokenService.getLoginUser().getUserid();
- SysUser sysUser = sysUserClient.getSysUser(userid).getData();
- LambdaQueryWrapper<AppUser> queryWrapper = new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0);
- if(sysUser.getRoleType() == 2){
- queryWrapper.eq(AppUser::getShopId, sysUser.getObjectId());
- }
- LocalDateTime startTime = cd.getStartTime();
- LocalDateTime endTime = cd.getEndTime();
- queryWrapper.ge(null != startTime, AppUser::getCreateTime, startTime);
- queryWrapper.le(null != endTime, AppUser::getCreateTime, endTime);
- queryWrapper.orderByAsc(AppUser::getCreateTime);
- List<AppUser> appUserList = appUserService.list(queryWrapper);
- if (appUserList.isEmpty()) {
- return R.ok(new CommissionDetail());
- }
- BigDecimal totalCommission = BigDecimal.ZERO;
- BigDecimal totalServiceFee = BigDecimal.ZERO;
- BigDecimal totalUserCommission = BigDecimal.ZERO;
- Map<Integer, BigDecimal> vipCommissions = new HashMap<>();
- Map<String, Map<Integer, BigDecimal>> dailyVipCommissions = new TreeMap<>();
- for (AppUser appUser : appUserList) {
- BigDecimal distributionAmount = Optional.ofNullable(appUser.getTotalDistributionAmount()).orElse(BigDecimal.ZERO);
- totalCommission = totalCommission.add(distributionAmount);
- Integer vipId = appUser.getVipId();
- if (vipId != null && vipId >= 1 && vipId <= 7) {
- vipCommissions.merge(vipId, distributionAmount, BigDecimal::add);
-
- String dateKey = appUser.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
- dailyVipCommissions.computeIfAbsent(dateKey, k -> new HashMap<>())
- .merge(vipId, distributionAmount, BigDecimal::add);
- }
- }
- List<Shop> data = shopClient.getAllShop().getData();
- if(sysUser.getRoleType() == 2){
- data = Arrays.asList(shopClient.getShopById(sysUser.getObjectId()).getData());
- }
- for (Shop shop : data) {
- totalServiceFee = totalServiceFee.add(shop.getServerGiveawayMoney());
- totalUserCommission = totalUserCommission.add(shop.getGiveawayMoney());
- }
-
- R<List<ShopBalanceStatement>> r = shopBalanceStatementClient.getShopBalanceStatementList(Arrays.asList(1, 2, 3), null);
- List<ShopBalanceStatement> data1 = r.getData();
- if (!CollectionUtils.isEmpty(data1)){
- for (ShopBalanceStatement shopBalanceStatement : data1) {
- String dateKey = shopBalanceStatement.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
- Integer type = shopBalanceStatement.getType();
- if (type == 1){
- type = 8;
- }else if (type == 2){
- type = 9;
- }else {
- type = 10;
- }
- dailyVipCommissions.computeIfAbsent(dateKey, k -> new HashMap<>())
- .merge(type, shopBalanceStatement.getVariableAmount(), BigDecimal::add);
- }
- }
-
-
- CommissionDetail commissionDetail = new CommissionDetail();
- commissionDetail.setTotalCommission(totalCommission);
- commissionDetail.setTotalServiceFee(totalServiceFee);
- commissionDetail.setTotalUserCommission(totalUserCommission);
-
- commissionDetail.setTotalNormalCommission(vipCommissions.getOrDefault(1, BigDecimal.ZERO));
- commissionDetail.setTotalGoldCommission(vipCommissions.getOrDefault(2, BigDecimal.ZERO));
- commissionDetail.setTotalDiamondCommission(vipCommissions.getOrDefault(3, BigDecimal.ZERO));
- commissionDetail.setTotalAgentCommission(vipCommissions.getOrDefault(4, BigDecimal.ZERO));
- commissionDetail.setTotalSuperAgentCommission(vipCommissions.getOrDefault(5, BigDecimal.ZERO));
- commissionDetail.setTotalTopAgentCommission(vipCommissions.getOrDefault(6, BigDecimal.ZERO));
- commissionDetail.setTotalPartnerCommission(vipCommissions.getOrDefault(7, BigDecimal.ZERO));
-
- List<CommissionDate> commissionDateList = dailyVipCommissions.entrySet().stream()
- .map(entry -> {
- CommissionDate commissionDate = new CommissionDate();
- commissionDate.setDate(entry.getKey());
- Map<Integer, BigDecimal> dailyCommissions = entry.getValue();
- commissionDate.setNormalCommission(dailyCommissions.getOrDefault(1, BigDecimal.ZERO));
- commissionDate.setGoldCommission(dailyCommissions.getOrDefault(2, BigDecimal.ZERO));
- commissionDate.setDiamondCommission(dailyCommissions.getOrDefault(3, BigDecimal.ZERO));
- commissionDate.setAgentCommission(dailyCommissions.getOrDefault(4, BigDecimal.ZERO));
- commissionDate.setSuperAgentCommission(dailyCommissions.getOrDefault(5, BigDecimal.ZERO));
- commissionDate.setTopAgentCommission(dailyCommissions.getOrDefault(6, BigDecimal.ZERO));
- commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(7, BigDecimal.ZERO));
- BigDecimal add = commissionDate.getNormalCommission().add(commissionDate.getGoldCommission()).add(commissionDate.getDiamondCommission()).add(commissionDate.getAgentCommission())
- .add(commissionDate.getSuperAgentCommission()).add(commissionDate.getTopAgentCommission()).add(commissionDate.getPartnerCommission());
- commissionDate.setTotalCommission(add);
-
- commissionDate.setServiceChargeCommission(dailyCommissions.getOrDefault(10, BigDecimal.ZERO));
- commissionDate.setAssociatedUserCommission(dailyCommissions.getOrDefault(8, BigDecimal.ZERO));
- commissionDate.setBindLowerLevelStoresCommission(dailyCommissions.getOrDefault(9, BigDecimal.ZERO));
- return commissionDate;
- })
- .collect(Collectors.toList());
-
- commissionDetail.setCommissionDateList(commissionDateList);
- return R.ok(commissionDetail);
- }
-
-
- public R<CommissionDetail> commissionDetail2(CommissionDetail cd) {
if (cd.getStartTime() == null || cd.getEndTime() == null) {
return R.fail("请选择时间");
}
@@ -858,7 +758,7 @@
getDatesBetween(cd.getStartTime(), cd.getEndTime()).forEach(date -> {
for (int i = 1; i < 8; i++){
List<BalanceChangeRecord> list = balanceChangeRecordService.list(new LambdaQueryWrapper<BalanceChangeRecord>()
- .eq(BalanceChangeRecord::getCreateTime, date)
+ .between(BalanceChangeRecord::getCreateTime, date, date.plusDays(1))
.eq(BalanceChangeRecord::getChangeType,4)
.eq(BalanceChangeRecord::getVipId, i));
BigDecimal reduce = list.stream().map(BalanceChangeRecord::getChangeAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -886,7 +786,99 @@
}
}
});
- return null;
+
+
+ BigDecimal totalCommission = BigDecimal.ZERO;
+ BigDecimal totalNormalCommission = BigDecimal.ZERO;
+
+ BigDecimal totalGoldCommission = BigDecimal.ZERO;
+
+ BigDecimal totalDiamondCommission = BigDecimal.ZERO;
+
+ BigDecimal totalAgentCommission = BigDecimal.ZERO;
+
+ BigDecimal totalSuperAgentCommission = BigDecimal.ZERO;
+
+ BigDecimal totalTopAgentCommission = BigDecimal.ZERO;
+
+ BigDecimal totalPartnerCommission = BigDecimal.ZERO;
+
+ List<AppUser> allAppUserList = appUserService.list();
+ for (AppUser appUser : allAppUserList) {
+ BigDecimal totalDistributionAmount = appUser.getTotalDistributionAmount();
+ totalCommission = totalCommission.add(totalDistributionAmount);
+ if (appUser.getVipId() == 1){
+ totalNormalCommission = totalNormalCommission.add(totalDistributionAmount);
+ }
+ if (appUser.getVipId() == 2){
+ totalGoldCommission = totalGoldCommission.add(totalDistributionAmount);
+ }
+ if (appUser.getVipId() == 3){
+ totalDiamondCommission = totalDiamondCommission.add(totalDistributionAmount);
+ }
+ if (appUser.getVipId() == 4){
+ totalAgentCommission = totalAgentCommission.add(totalDistributionAmount);
+ }
+ if (appUser.getVipId() == 5){
+ totalSuperAgentCommission = totalSuperAgentCommission.add(totalDistributionAmount);
+ }
+ if (appUser.getVipId() == 6){
+ totalTopAgentCommission = totalTopAgentCommission.add(totalDistributionAmount);
+ }
+ if (appUser.getVipId() == 7){
+ totalPartnerCommission = totalPartnerCommission.add(totalDistributionAmount);
+ }
+ }
+
+ R<Map<String, BigDecimal>> shopStatistics = shopClient.getShopStatistics();
+ Map<String, BigDecimal> data = shopStatistics.getData();
+ BigDecimal totalServiceFee = BigDecimal.ZERO;
+ BigDecimal totalUserCommission = BigDecimal.ZERO;
+ if (data != null){
+ totalServiceFee = data.get("serverGiveawayMoney");
+ totalUserCommission = data.get("lowerLevelGiveawayMoney");
+ }
+
+ CommissionDetail commissionDetail = new CommissionDetail();
+ commissionDetail.setTotalCommission(totalCommission);
+ commissionDetail.setTotalServiceFee(totalServiceFee);
+ commissionDetail.setTotalUserCommission(totalUserCommission);
+
+ commissionDetail.setTotalNormalCommission(totalNormalCommission);
+ commissionDetail.setTotalGoldCommission(totalGoldCommission);
+ commissionDetail.setTotalDiamondCommission(totalDiamondCommission);
+ commissionDetail.setTotalAgentCommission(totalAgentCommission);
+ commissionDetail.setTotalSuperAgentCommission(totalSuperAgentCommission);
+ commissionDetail.setTotalTopAgentCommission(totalTopAgentCommission);
+ commissionDetail.setTotalPartnerCommission(totalPartnerCommission);
+
+
+ List<CommissionDate> commissionDateList = dailyVipCommissions.entrySet().stream()
+ .map(entry -> {
+ CommissionDate commissionDate = new CommissionDate();
+ commissionDate.setDate(entry.getKey());
+ Map<Integer, BigDecimal> dailyCommissions = entry.getValue();
+ commissionDate.setNormalCommission(dailyCommissions.getOrDefault(1, BigDecimal.ZERO));
+ commissionDate.setGoldCommission(dailyCommissions.getOrDefault(2, BigDecimal.ZERO));
+ commissionDate.setDiamondCommission(dailyCommissions.getOrDefault(3, BigDecimal.ZERO));
+ commissionDate.setAgentCommission(dailyCommissions.getOrDefault(4, BigDecimal.ZERO));
+ commissionDate.setSuperAgentCommission(dailyCommissions.getOrDefault(5, BigDecimal.ZERO));
+ commissionDate.setTopAgentCommission(dailyCommissions.getOrDefault(6, BigDecimal.ZERO));
+ commissionDate.setPartnerCommission(dailyCommissions.getOrDefault(7, BigDecimal.ZERO));
+ BigDecimal add = commissionDate.getNormalCommission().add(commissionDate.getGoldCommission()).add(commissionDate.getDiamondCommission()).add(commissionDate.getAgentCommission())
+ .add(commissionDate.getSuperAgentCommission()).add(commissionDate.getTopAgentCommission()).add(commissionDate.getPartnerCommission());
+ commissionDate.setTotalCommission(add);
+
+ commissionDate.setServiceChargeCommission(dailyCommissions.getOrDefault(10, BigDecimal.ZERO));
+ commissionDate.setAssociatedUserCommission(dailyCommissions.getOrDefault(8, BigDecimal.ZERO));
+ commissionDate.setBindLowerLevelStoresCommission(dailyCommissions.getOrDefault(9, BigDecimal.ZERO));
+ return commissionDate;
+ })
+ .collect(Collectors.toList());
+
+ commissionDetail.setCommissionDateList(commissionDateList);
+
+ return R.ok(commissionDetail);
}
@@ -906,7 +898,8 @@
.limit(daysBetween + 1)
.collect(Collectors.toList());
}
-
+
+
/**
* 上传图片
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java
index 3839d5e..32bb927 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserPointController.java
@@ -134,7 +134,11 @@
@GetMapping("/user/list")
@ApiOperation(value = "积分管理-用户积分明细(必传用户id)", tags = "后台")
public R<Page<UserPoint>> userlist(UserPoint userPoint) {
- Page<UserPoint> page = userPointService.lambdaQuery().eq(UserPoint::getAppUserId, userPoint.getAppUserId()).orderByDesc(UserPoint::getCreateTime).page(Page.of(userPoint.getPageNum(), userPoint.getPageSize()));
+ Page<UserPoint> page = userPointService.lambdaQuery()
+ .eq(UserPoint::getType, userPoint.getType())
+ .eq(UserPoint::getAppUserId, userPoint.getAppUserId())
+ .orderByDesc(UserPoint::getCreateTime)
+ .page(Page.of(userPoint.getPageNum(), userPoint.getPageSize()));
for (UserPoint record : page.getRecords()) {
int i = record.getHistoricalPoint() - record.getBalance();
if (i>0){
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/dto/WithQuery.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/dto/WithQuery.java
index 5acba8a..60acc1f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/dto/WithQuery.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/dto/WithQuery.java
@@ -8,7 +8,7 @@
@Data
public class WithQuery {
@ApiModelProperty("用户名称")
- private String name;
+ private String userName;
@ApiModelProperty("电话")
private String phone;
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 9af80f7..f1db46f 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
@@ -30,8 +30,8 @@
tbcr.change_type,
tbcr.create_time,
tbcr.change_amount,
- tbcr.beforeAmount,
- tbcr.afterAmount
+ tbcr.before_amount,
+ tbcr.after_amount
FROM
t_balance_change_record tbcr
LEFT JOIN t_app_user tau ON tbcr.app_user_id = tau.id
diff --git a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml
index 7f913d7..6991416 100644
--- a/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml
+++ b/ruoyi-service/ruoyi-account/src/main/resources/mapper/account/WithdrawalRequestsMapper.xml
@@ -26,8 +26,8 @@
<if test="withQuery.phone != null and withQuery.phone != ''">
AND t2.phone LIKE concat('%',#{withQuery.phone},'%')
</if>
- <if test="withQuery.name != null and withQuery.name != ''">
- AND t2.phone LIKE concat('%',#{withQuery.name},'%')
+ <if test="withQuery.userName != null and withQuery.userName != ''">
+ AND t2.name LIKE concat('%',#{withQuery.userName},'%')
</if>
order by t1.create_time desc
</select>
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 6e38450..4ac605c 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -14,6 +14,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.uuid.QRCodeGenerator;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.enums.OrderStatus;
@@ -41,6 +42,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
@@ -215,6 +217,14 @@
Long id = data.get(0).getId();
orderDetailVO.setTechnicianSubscribeId(id.toString());
}
+ }
+ // 生成核销码BASE64
+ try {
+ String base64 = QRCodeGenerator.generateQRCodeBase64(order.getOrderNumber(), 124, 124);
+ orderDetailVO.setWriteOffCode(base64);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new ServiceException("生成核销码失败");
}
return orderDetailVO;
}
@@ -439,11 +449,12 @@
appUser.setBalance(balance.add(paymentAmount).setScale(2, RoundingMode.HALF_EVEN));
appUser.setShopAmount(appUser.getShopAmount().subtract(paymentAmount).setScale(2, RoundingMode.HALF_EVEN));
//查询最后一次的消费订单
- Order order1 = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getAppUserId, order.getAppUserId()).eq(Order::getPayStatus, 2).eq(Order::getDelFlag, 0).in(Order::getOrderStatus, Arrays.asList(2, 3, 4, 8)).ne(Order::getId, order.getId()).last(" order by create_time desc limit 0, 1"));
+ Order order1 = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getAppUserId, order.getAppUserId()).eq(Order::getPayStatus, 2)
+ .eq(Order::getDelFlag, 0).in(Order::getOrderStatus, Arrays.asList(1, 2, 3, 4, 8)).ne(Order::getId, order.getId()).last(" order by create_time desc limit 0, 1"));
if(null != order1){
appUser.setLastShopTime(order1.getCreateTime());
}else{
- appUser.setLastShopTime(LocalDateTime.MIN);
+ appUser.setLastShopTime(null);
}
//构建账户余额流水明细
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderInfoVo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderInfoVo.java
index 348da92..88aa5b8 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderInfoVo.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderInfoVo.java
@@ -71,5 +71,7 @@
private String afterSaleTime;
@ApiModelProperty("活动名称")
private String activityName;
+ @ApiModelProperty("核销码BASE64")
+ private String writeOffCode;
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java
index 61cc917..9a6fa18 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java
@@ -158,6 +158,7 @@
if (StringUtils.isNotEmpty(goodsEvaluate.getPhone())&&StringUtils.isNotEmpty(goodsEvaluate.getUserName())){
// 取交集
usersNameList.retainAll(usersPhoneList);
+ if (usersNameList.isEmpty())usersNameList.add(-1L);
}else{
usersNameList.addAll(usersPhoneList);
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java
index b9a0f91..0cbb3c5 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java
@@ -200,6 +200,7 @@
.gt(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 0, OrderActivityInfo::getStartTime, LocalDateTime.now())
.ge(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 1, OrderActivityInfo::getEndTime, LocalDateTime.now())
.lt(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 1, OrderActivityInfo::getStartTime, LocalDateTime.now())
+ .lt(orderActivityInfo.getStatus() != null && orderActivityInfo.getStatus() == 2, OrderActivityInfo::getEndTime, LocalDateTime.now())
.eq(orderActivityInfo.getIsShelf() != null, OrderActivityInfo::getIsShelf, orderActivityInfo.getIsShelf()).orderByDesc(OrderActivityInfo::getCreateTime)
.orderByDesc(OrderActivityInfo::getCreateTime))
;
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 63a0b98..82218b8 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
@@ -26,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.util.Collection;
import java.util.List;
import java.util.List;
@@ -178,7 +179,7 @@
@RequestParam(value = "date") LocalDateTime date){
List<ShopBalanceStatement> list = shopBalanceStatementService.list(new LambdaQueryWrapper<ShopBalanceStatement>()
.eq(ShopBalanceStatement::getType, type)
- .in(ShopBalanceStatement::getCreateTime, date));
+ .between(ShopBalanceStatement::getCreateTime, date.with(LocalTime.MIN), date.with(LocalTime.MAX)));
return R.ok(list);
}
}
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
index de666db..c27318c 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -709,5 +709,21 @@
return R.ok(list);
}
+
+ @GetMapping("/getShopStatistics")
+ public R<Map<String, BigDecimal> > getShopStatistics(){
+ List<Shop> shopList = shopService.list();
+ BigDecimal serverGiveawayMoney = BigDecimal.ZERO;
+ BigDecimal lowerLevelGiveawayMoney = BigDecimal.ZERO;
+ for (Shop shop : shopList) {
+ serverGiveawayMoney = serverGiveawayMoney.add(shop.getServerGiveawayMoney());
+ lowerLevelGiveawayMoney = lowerLevelGiveawayMoney.add(shop.getLowerLevelGiveawayMoney());
+ }
+ Map<String, BigDecimal> map = new HashMap<>();
+ map.put("serverGiveawayMoney", serverGiveawayMoney);
+ map.put("lowerLevelGiveawayMoney", lowerLevelGiveawayMoney);
+ return R.ok(map);
+ }
+
}
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 fe74705..32aafb7 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
@@ -111,7 +111,9 @@
}else {
Technician byId = technicianService.getById(technician.getId());
if (byId.getPhone()!=technician.getPhone()){
- List<Technician> list = technicianService.lambdaQuery().eq(Technician::getPhone, technician.getPhone()).eq(Technician::getShopId, sysUser.getObjectId()).list();
+ List<Technician> list = technicianService.lambdaQuery()
+ .eq(Technician::getPhone, technician.getPhone())
+ .ne(Technician::getId, byId.getId()).list();
if (!list.isEmpty()) {
return R.fail("当前号码已经添加");
}
--
Gitblit v1.7.1