From fa8d33cb9e9f83c74a8405942d3f820edcd49ff9 Mon Sep 17 00:00:00 2001 From: hans <2216464999@qq.com> Date: Sat, 20 Sep 2025 15:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=8A=E9=BA=A6=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 4 +- .../system/BSellerSortController.java | 21 +++++++ .../dromara/system/domain/BSellerSort.java | 5 ++ .../system/domain/bo/BSellerSortBo.java | 14 +++-- .../system/domain/vo/BSellerSortVo.java | 18 ++++-- .../org/dromara/system/domain/vo/OrderVo.java | 1 + .../system/service/IBSellerSortService.java | 15 ++++- .../service/impl/BSellerSortServiceImpl.java | 56 ++++++++++++++++--- 8 files changed, 116 insertions(+), 18 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 884a57c51..e3c437f74 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -24,9 +24,9 @@ captcha: # 是否启用验证码校验 enable: true # 验证码类型 math 数组计算 char 字符验证 - type: MATH + type: math # line 线段干扰 circle 圆圈干扰 shear 扭曲干扰 - category: CIRCLE + category: circle # 数字验证码位数 numberLength: 1 # 字符验证码长度 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/BSellerSortController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/BSellerSortController.java index a8b81f490..55c547939 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/BSellerSortController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/BSellerSortController.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.system.domain.vo.BSellerVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -67,6 +68,17 @@ public class BSellerSortController extends BaseController { @PathVariable Long id) { return R.ok(bSellerSortService.queryById(id)); } + /** + * 获取上麦顺序详细信息 + * + * @param payDate 上麦日期 + */ + @SaCheckPermission("system:sellerSort:query") + @GetMapping("/queryByPayDate/{payDate}") + public R queryByPayDate(@NotNull(message = "日期不能为空") + @PathVariable String payDate) { + return R.ok(bSellerSortService.queryByPayDate(payDate)); + } /** * 新增上麦顺序 @@ -102,4 +114,13 @@ public class BSellerSortController extends BaseController { @PathVariable Long[] ids) { return toAjax(bSellerSortService.deleteWithValidByIds(List.of(ids), true)); } + + /** + * 查询上麦顺序列表 + */ + @SaCheckPermission("system:seller:list") + @GetMapping("/sellerList") + public R> sellerList() { + return R.ok(bSellerSortService.querySellerList()) ; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/BSellerSort.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/BSellerSort.java index d9fc9b14a..33aeea239 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/BSellerSort.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/BSellerSort.java @@ -34,6 +34,11 @@ public class BSellerSort extends TenantEntity { */ private Long sellerId; + /** + * 卖家名称 + */ + private String sellerNickName; + /** * 上麦时间 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/BSellerSortBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/BSellerSortBo.java index 0452ec82f..58a6912e7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/BSellerSortBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/BSellerSortBo.java @@ -23,26 +23,32 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class BSellerSortBo extends BaseEntity { /** - * + * */ private Long id; /** * 卖家id */ - @NotNull(message = "卖家id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long sellerId; + /** + * 卖家的ids信息 + */ + private String sellerIds; + + /** + * 卖家名称 + */ + private String sellerNickName; /** * 上麦时间 */ - @NotNull(message = "上麦时间不能为空", groups = { AddGroup.class, EditGroup.class }) private Date payDate; /** * 顺序 */ - @NotNull(message = "顺序不能为空", groups = { AddGroup.class, EditGroup.class }) private Long sort; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/BSellerSortVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/BSellerSortVo.java index 4690e6007..3cc90e8d7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/BSellerSortVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/BSellerSortVo.java @@ -1,18 +1,17 @@ package org.dromara.system.domain.vo; import java.util.Date; + +import cn.idev.excel.annotation.format.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; import org.dromara.system.domain.BSellerSort; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; @@ -31,7 +30,7 @@ public class BSellerSortVo implements Serializable { private static final long serialVersionUID = 1L; /** - * + * */ @ExcelProperty(value = "") private Long id; @@ -41,11 +40,22 @@ public class BSellerSortVo implements Serializable { */ @ExcelProperty(value = "卖家id") private Long sellerId; + /** + * 卖家id + */ + private String sellerIds; + + /** + * 卖家名称 + */ + @ExcelProperty(value = "卖家名称") + private String sellerNickName; /** * 上麦时间 */ @ExcelProperty(value = "上麦时间") + @JsonFormat(pattern = "yyyy-MM-dd") private Date payDate; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/OrderVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/OrderVo.java index a5b0c2dff..5a705abfc 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/OrderVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/OrderVo.java @@ -156,6 +156,7 @@ public class OrderVo implements Serializable { */ @ExcelProperty(value = "购买日期") @DateTimeFormat("yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") private Date buyData; /** * 购买时间 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IBSellerSortService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IBSellerSortService.java index 0e4633084..15655a668 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IBSellerSortService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IBSellerSortService.java @@ -4,6 +4,7 @@ import org.dromara.system.domain.vo.BSellerSortVo; import org.dromara.system.domain.bo.BSellerSortBo; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.system.domain.vo.BSellerVo; import java.util.Collection; import java.util.List; @@ -23,6 +24,13 @@ public interface IBSellerSortService { * @return 上麦顺序 */ BSellerSortVo queryById(Long id); + /** + * 查询上麦顺序 + * + * @param payDate 售卖日期 + * @return 上麦顺序 + */ + BSellerSortVo queryByPayDate(String payDate); /** * 分页查询上麦顺序列表 @@ -40,7 +48,12 @@ public interface IBSellerSortService { * @return 上麦顺序列表 */ List queryList(BSellerSortBo bo); - + /** + * 查询所有卖家信息 + * + * @return 卖家信息列表 + */ + List querySellerList(); /** * 新增上麦顺序 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/BSellerSortServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/BSellerSortServiceImpl.java index e53ab959a..f427bcc1d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/BSellerSortServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/BSellerSortServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +10,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.system.domain.vo.BSellerVo; +import org.dromara.system.mapper.BSellerMapper; import org.springframework.stereotype.Service; import org.dromara.system.domain.bo.BSellerSortBo; import org.dromara.system.domain.vo.BSellerSortVo; @@ -16,6 +19,7 @@ import org.dromara.system.domain.BSellerSort; import org.dromara.system.mapper.BSellerSortMapper; import org.dromara.system.service.IBSellerSortService; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -32,6 +36,7 @@ import java.util.Collection; public class BSellerSortServiceImpl implements IBSellerSortService { private final BSellerSortMapper baseMapper; + private final BSellerMapper sellerMapper; /** * 查询上麦顺序 @@ -44,6 +49,25 @@ public class BSellerSortServiceImpl implements IBSellerSortService { return baseMapper.selectVoById(id); } + @Override + public BSellerSortVo queryByPayDate(String payDate) { + BSellerSortVo bSellerSortVo =new BSellerSortVo(); + QueryWrapper objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("pay_date",payDate); + objectQueryWrapper.orderByAsc("sort"); + List bSellerSortVos = baseMapper.selectVoList(objectQueryWrapper); + StringBuilder sellerIds= new StringBuilder(); + for(int i=0;i querySellerList() { + List bSellerVos = sellerMapper.selectVoList(); + for (BSellerVo bSellerVo : bSellerVos) { + bSellerVo.setNickName(bSellerVo.getNickName()+ (StringUtils.isNotBlank(bSellerVo.getPhone())? " "+bSellerVo.getPhone():"")); + } + return bSellerVos; + } + private LambdaQueryWrapper buildQueryWrapper(BSellerSortBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.orderByAsc(BSellerSort::getId); + lqw.orderByDesc(BSellerSort::getPayDate); lqw.eq(bo.getSellerId() != null, BSellerSort::getSellerId, bo.getSellerId()); + lqw.like(StringUtils.isNotBlank(bo.getSellerNickName()), BSellerSort::getSellerNickName, bo.getSellerNickName()); lqw.eq(bo.getPayDate() != null, BSellerSort::getPayDate, bo.getPayDate()); lqw.eq(bo.getSort() != null, BSellerSort::getSort, bo.getSort()); return lqw; @@ -88,13 +122,21 @@ public class BSellerSortServiceImpl implements IBSellerSortService { */ @Override public Boolean insertByBo(BSellerSortBo bo) { - BSellerSort add = MapstructUtils.convert(bo, BSellerSort.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); + QueryWrapper objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("pay_date",bo.getPayDate()); + baseMapper.delete(objectQueryWrapper); + String[] split = bo.getSellerIds().split(","); + List saveList = new ArrayList<>(); + for (int j = 0; j < split.length; j++) { + BSellerSort add = new BSellerSort(); + add.setPayDate(bo.getPayDate()); + add.setSort((long) (j+1)); + BSellerVo bSellerVo = sellerMapper.selectVoById(split[j]); + add.setSellerId(bSellerVo.getId()); + add.setSellerNickName(bSellerVo.getNickName()); + saveList.add(add); } - return flag; + return baseMapper.insertBatch(saveList); } /**