From 2ca427f808bbc7987c07566cd8ff90fdeac2268a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9B=E5=8F=89=E9=97=AA=E9=97=AA?= <18322780655@163.com> Date: Tue, 27 Aug 2024 17:33:10 +0800 Subject: [PATCH 01/20] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E3=80=81=E4=BC=9A=E5=91=98=E9=80=80=E6=AC=BE=E3=80=81=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E5=85=85=E5=80=BC=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashier/service/impl/shopimpl/TbShopUserServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java index 2b7ed3d7..e0f7c24e 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopUserServiceImpl.java @@ -234,8 +234,8 @@ public class TbShopUserServiceImpl implements TbShopUserService { flow.setBizCode("inMoney".equals(type)?"inMoneyIn":"consumeIn"); tbShopUser.setAmount(tbShopUser.getAmount().add(amount)); }else if("out".equals(operationType)){ - flow.setBizName("inMoney".equals(type)?"充值退款":"消费"); - flow.setBizCode("inMoney".equals(type)?"inMoneyOut":"consumeOut"); + flow.setBizName("inMoneyOut".equals(type)?"充值退款":"消费"); + flow.setBizCode("inMoneyOut".equals(type)?"inMoneyOut":"consumeOut"); flow.setType("-"); tbShopUser.setAmount(tbShopUser.getAmount().subtract(amount)); }else { From 489b3597d6f54b439252f59ec5205595aa049b02 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 27 Aug 2024 17:57:13 +0800 Subject: [PATCH 02/20] =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=20=E5=88=9D=E5=A7=8B=E5=8C=96=E5=9B=9B?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shop/TbShopExtendController.java | 9 +++- .../cashier/mybatis/entity/TbShopExtend.java | 31 ++++++++++++++ .../service/impl/TbShopExtendServiceImpl.java | 42 ++++++++++++++++++- 3 files changed, 79 insertions(+), 3 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopExtendController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopExtendController.java index 2b96b75f..529e9b40 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopExtendController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/shop/TbShopExtendController.java @@ -1,7 +1,9 @@ package cn.ysk.cashier.controller.shop; +import cn.ysk.cashier.exception.BadRequestException; import cn.ysk.cashier.mybatis.entity.TbShopExtend; import cn.ysk.cashier.mybatis.service.TbShopExtendService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.ApiOperation; import org.springframework.http.HttpStatus; @@ -51,8 +53,11 @@ public class TbShopExtendController { @PutMapping @ApiOperation("通过id修改") public ResponseEntity update(@RequestBody TbShopExtend tbShopExtend) { - tbShopExtend.setUpdateTime(new Date()); - tbShopExtendService.updateById(tbShopExtend); + if (tbShopExtend.getId() != null) { + tbShopExtendService.updateById(tbShopExtend); + } else { + tbShopExtendService.saveInfo(tbShopExtend); + } return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java index b5596151..a62e1c00 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java @@ -3,6 +3,7 @@ package cn.ysk.cashier.mybatis.entity; import java.util.Date; import com.baomidou.mybatisplus.extension.activerecord.Model; +import org.apache.commons.lang3.StringUtils; /** @@ -93,5 +94,35 @@ public class TbShopExtend extends Model { public void setCreateTime(Date createTime) { this.createTime = createTime; } + + + /** + * index_bg:店铺首页背景图 + * my_bg: 我的页面背景图 + * member_bg:会员卡页面背景图 + * shopinfo_bg:商品列表顶部背景图 + * @param autokey + */ + public void initAutoKey(String autokey,Integer shopId) { + if (StringUtils.isBlank(name)) { + switch (autokey) { + case "index_bg": + this.name = "店铺首页背景图"; + break; + case "my_bg": + this.name = "我的页面背景图"; + break; + case "member_bg": + this.name = "会员卡页面背景图"; + break; + case "shopinfo_bg": + this.name = "商品列表顶部背景图"; + break; + } + } + this.type="img"; + this.shopId=shopId; + this.autokey = autokey; + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopExtendServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopExtendServiceImpl.java index 08b31b82..208ebc25 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopExtendServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/service/impl/TbShopExtendServiceImpl.java @@ -13,7 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired; import cn.ysk.cashier.utils.PageUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 店铺扩展信息(TbShopExtend)表服务实现类 @@ -40,6 +41,7 @@ public class TbShopExtendServiceImpl extends ServiceImpl ipage = tbShopExtendmapper.selectPage(page, wrapper); + checkAndInitialize(ipage,criteria.getShopId()); return PageUtil.toPage(ipage.getRecords(), ipage.getTotal()); } @@ -53,5 +55,43 @@ public class TbShopExtendServiceImpl extends ServiceImpl checkAndInitialize(Page ipage, Integer shopId) { + List newRecords = new ArrayList<>(); + List requiredAutokeys = Arrays.asList("index_bg", "my_bg", "member_bg", "shopinfo_bg"); + + if (ipage == null || ipage.getRecords() == null || ipage.getRecords().isEmpty()) { + // ipage 为空,直接创建包含四种类型数据的新 Page 对象 + for (String key : requiredAutokeys) { + TbShopExtend newRecord = new TbShopExtend(); + newRecord.initAutoKey(key, shopId); + newRecords.add(newRecord); + } + return new Page(1, newRecords.size(), newRecords.size()) // pageNum, pageSize, total + .setRecords(newRecords); + } else { + // ipage 不为空,补充缺失的数据 + List shopExtends = ipage.getRecords(); + Set existingAutokeys = shopExtends.stream() + .map(TbShopExtend::getAutokey) + .collect(Collectors.toSet()); + + List missingAutokeys = requiredAutokeys.stream() + .filter(key -> !existingAutokeys.contains(key)) + .collect(Collectors.toList()); + + for (String key : missingAutokeys) { + TbShopExtend newRecord = new TbShopExtend(); + newRecord.initAutoKey(key, shopId); + newRecords.add(newRecord); + } + + // 更新现有记录并将新记录添加到原来的列表中 + shopExtends.addAll(newRecords); + + return new Page(ipage.getCurrent(), ipage.getSize(), ipage.getTotal() + newRecords.size()) + .setRecords(shopExtends); + } + } } From 221ad5a8d4cae084166d9efbf8b0358594dd4458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9B=E5=8F=89=E9=97=AA=E9=97=AA?= <18322780655@163.com> Date: Wed, 28 Aug 2024 14:09:56 +0800 Subject: [PATCH 03/20] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E3=80=81=E4=BC=9A=E5=91=98=E9=80=80=E6=AC=BE=E3=80=81=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E5=85=85=E5=80=BC=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eladmin-system/src/main/resources/logback.xml | 120 ++++++++---------- 1 file changed, 56 insertions(+), 64 deletions(-) diff --git a/eladmin-system/src/main/resources/logback.xml b/eladmin-system/src/main/resources/logback.xml index 9a6232e3..ddd11093 100644 --- a/eladmin-system/src/main/resources/logback.xml +++ b/eladmin-system/src/main/resources/logback.xml @@ -1,73 +1,65 @@ - - - - - - - - - - - - - - - - - - - - ${currentLoggerPattern} + + elAdmin + + + + + + + + ${log.pattern} + ${log.charset} + + + + + ${user.dir}/logback.log + + + ${user.dir}/logs/cashierAdmin/%d{yyyy-MM-dd}.log.gz + + 15 + + + + ${p_file} + ${log.charset} - - - - ${currentLoggerFilePath}/${currentLoggerFileName}.all.log - - ${currentLoggerPattern} - - - - ${currentLoggerFilePath}/${currentLoggerFileName}.all.%d{yyyy-MM-dd}.log - 5 - - - - - - - ${currentLoggerFilePath}/${currentLoggerFileName}.error.log - - ${currentLoggerPattern} - - - - ${currentLoggerFilePath}/${currentLoggerFileName}.error.%d{yyyy-MM-dd}.log - 20 - - - - ERROR - ACCEPT - DENY - - - - - - - - + + + + - - + + + + + - + - + + + - + + + + + + + + + + + + + + + + + \ No newline at end of file From fcff40f72bf0571db5a83438840998602d613721 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Aug 2024 15:44:33 +0800 Subject: [PATCH 04/20] =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=20=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/mybatis/entity/TbShopExtend.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java index a62e1c00..60543697 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/entity/TbShopExtend.java @@ -25,6 +25,7 @@ public class TbShopExtend extends Model { private String autokey; //值 private String value; + private String detail; //更新时间 private Date updateTime; //创建时间 @@ -96,6 +97,14 @@ public class TbShopExtend extends Model { } + public String getDetail() { + return detail; + } + + public void setDetail(String detail) { + this.detail = detail; + } + /** * index_bg:店铺首页背景图 * my_bg: 我的页面背景图 @@ -108,15 +117,19 @@ public class TbShopExtend extends Model { switch (autokey) { case "index_bg": this.name = "店铺首页背景图"; + this.detail="建议尺寸: 375*600 "; break; case "my_bg": this.name = "我的页面背景图"; + this.detail="建议尺寸: 375*200"; break; case "member_bg": this.name = "会员卡页面背景图"; + this.detail="建议尺寸: 315*152"; break; case "shopinfo_bg": this.name = "商品列表顶部背景图"; + this.detail="建议尺寸: 375*120"; break; } } From 09c6cd178af6b312c994f46c771c6905d9d66780 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Aug 2024 15:45:21 +0800 Subject: [PATCH 05/20] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=94=9F=E6=88=90=20?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=B6=88=E8=80=97=E8=AE=B0=E5=BD=95=20?= =?UTF-8?q?=E5=B9=B6=E8=AE=B0=E5=BD=95=E9=94=80=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/dto/product/StockCountDTO.java | 3 +++ .../cashier/mybatis/mapper/TbProducSkutMapper.java | 6 +++--- .../repository/order/StockCountRepository.java | 12 ++++-------- .../productimpl/TbProductStockDetailServiceImpl.java | 5 +++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/product/StockCountDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/product/StockCountDTO.java index c27b489d..5be9981c 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/product/StockCountDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/product/StockCountDTO.java @@ -9,12 +9,15 @@ import javax.persistence.Id; public class StockCountDTO { private String shopId; @Id + private Long skuId; private Long proId; private String proName; private Integer isStock; private String skuName; private String unitName; + // 消耗数 private Integer stockCount; + // 当前库存 private Integer stockNumber; private String specSnap; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java index c1ce4ec6..4974cbde 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/TbProducSkutMapper.java @@ -2,13 +2,10 @@ package cn.ysk.cashier.mybatis.mapper; import cn.ysk.cashier.pojo.product.TbProductSku; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; -import java.util.List; public interface TbProducSkutMapper extends BaseMapper { @@ -22,6 +19,9 @@ public interface TbProducSkutMapper extends BaseMapper { @Update("update tb_product_sku set stock_number=stock_number+#{addNum} WHERE id=#{skuId}") int incrStock(@Param("skuId") Integer skuId, @Param("addNum") Integer addNum); + @Update("update tb_product_sku set real_sales_number=real_sales_number+#{num} WHERE id=#{skuId}") + int incrRealSalesNumber(@Param("skuId") Integer skuId, @Param("num") Integer num); + @Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} >= 0") int decrStock(String id, int num); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java index ce71131c..dc40d460 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/StockCountRepository.java @@ -34,9 +34,10 @@ public interface StockCountRepository extends JpaRepository countStock( @Param("startTime") String startTime, @Param("endTime") String endTime); @Query(value = "SELECT\n" + - "pro.shop_id AS shop_id,\n" + - "pro.id AS pro_id,\n" + + "info.shop_id AS shop_id,\n" + + "info.product_id AS pro_id,\n" + "info.product_name AS pro_name,\n" + + "info.product_sku_id AS sku_id,\n" + "pro.is_stock,\n" + "info.product_sku_name AS sku_name,\n" + "unit.NAME AS unit_name,\n" + @@ -57,11 +58,6 @@ public interface StockCountRepository extends JpaRepository countStockById(Integer orderId); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java index 3c7ac737..f8de8b33 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java @@ -17,7 +17,7 @@ package cn.ysk.cashier.service.impl.productimpl; import cn.hutool.core.util.StrUtil; import cn.ysk.cashier.dto.product.StockCountDTO; -import cn.ysk.cashier.dto.rabbit.StockRecordMsg; +import cn.ysk.cashier.mybatis.mapper.TbProducSkutMapper; import cn.ysk.cashier.pojo.order.TbOrderInfo; import cn.ysk.cashier.pojo.product.TbProductStockDetail; import cn.ysk.cashier.repository.order.StockCountRepository; @@ -60,6 +60,7 @@ public class TbProductStockDetailServiceImpl implements TbProductStockDetailServ private final StockCountRepository stockCountRepository; private final EntityManager entityManager; private final TbOrderInfoRepository tbOrderInfoRepository; + private final TbProducSkutMapper skutMapper; @Override @@ -203,7 +204,7 @@ public class TbProductStockDetailServiceImpl implements TbProductStockDetailServ productStockDetail.setSubType(-1); tbProductStockDetailRepository.save(productStockDetail); } - + skutMapper.incrRealSalesNumber(s.getSkuId().intValue(),s.getStockCount()); }); } From 17fc23497516722f4e69ae2d61899565edef42dc Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Aug 2024 15:45:46 +0800 Subject: [PATCH 06/20] =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=92=8C=20=E7=89=88=E6=9C=AC=E6=96=87=E4=BB=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TbVersionController.java | 8 ++++ .../java/cn/ysk/cashier/dto/TbVersionDto.java | 7 ++- .../cashier/dto/TbVersionQueryCriteria.java | 4 +- .../java/cn/ysk/cashier/pojo/TbVersion.java | 11 ++++- .../repository/TbVersionRepository.java | 12 +++++ .../ysk/cashier/service/TbVersionService.java | 2 + .../service/impl/TbVersionServiceImpl.java | 45 ++++++++++--------- .../cn/ysk/cashier/rest/QiniuController.java | 9 ++++ .../cn/ysk/cashier/service/QiNiuService.java | 2 + .../service/impl/QiNiuServiceImpl.java | 16 +++++++ .../service/AbstractCloudStorageService.java | 20 +++++++++ .../service/AliyunCloudStorageService.java | 5 +++ .../service/HuaweiCloudStorageService.java | 5 +++ .../service/QcloudCloudStorageService.java | 5 +++ .../service/QiniuCloudStorageService.java | 5 +++ 15 files changed, 129 insertions(+), 27 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java index 8ddffb0f..cfd2f7af 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java @@ -40,6 +40,14 @@ public class TbVersionController { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + @PutMapping("upSel") + @ApiOperation("修改当前选中") + public ResponseEntity updateSel(@Validated @RequestBody TbVersion resources){ + tbVersionService.updateSel(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @DeleteMapping @ApiOperation("删除版本") public ResponseEntity deleteTbVersion(@RequestBody Integer[] ids) { diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionDto.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionDto.java index b304f05d..e72ccf13 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionDto.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionDto.java @@ -14,7 +14,7 @@ public class TbVersionDto implements Serializable { private Integer id; - /** LDBL_APP;WX; */ + /** PC;APP; */ private String source; /** ios;android; */ @@ -22,9 +22,12 @@ public class TbVersionDto implements Serializable { /** 版本号 */ private String version; + /** 下载地址 */ + private String url; - /** 0:不更新;1:更新 */ + /** 是否强制更新 0:否 1:是 */ private Integer isUp; + private Integer sel; /** 更新提示内容 */ private String message; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionQueryCriteria.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionQueryCriteria.java index 850440c3..269951bd 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionQueryCriteria.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/TbVersionQueryCriteria.java @@ -12,7 +12,7 @@ import lombok.Data; public class TbVersionQueryCriteria{ @Query - /** LDBL-APP;WX; */ + /** PC;APP; */ private String source; @Query /** ios;android; */ @@ -21,7 +21,7 @@ public class TbVersionQueryCriteria{ /** 版本号 */ private String version; @Query - /** 0:不更新;1:更新 */ + /** 是否强制更新 0:否 1:是*/ private Integer isUp; private Integer pageSize; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/TbVersion.java b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/TbVersion.java index fe8a9129..e33cf56d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/pojo/TbVersion.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/pojo/TbVersion.java @@ -19,7 +19,7 @@ public class TbVersion implements Serializable { private Integer id; @Column(name = "`source`") - @ApiModelProperty(value = "LDBL-APP;WX;") + @ApiModelProperty(value = "PC;APP;") private String source; @Column(name = "`type`") @@ -30,10 +30,17 @@ public class TbVersion implements Serializable { @ApiModelProperty(value = "版本号") private String version; + @Column(name = "`url`") + @ApiModelProperty(value = "下载地址") + private String url; + @Column(name = "`is_up`") - @ApiModelProperty(value = "0:不更新;1:更新") + @ApiModelProperty(value = "是否强制更新 0:否 1:是") private Integer isUp; + @ApiModelProperty(value = "选中 0:否 1:是") + private Integer sel; + @Column(name = "`message`") @ApiModelProperty(value = "更新提示内容") private String message; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbVersionRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbVersionRepository.java index be3fc867..c65cf39d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbVersionRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbVersionRepository.java @@ -4,6 +4,7 @@ import cn.ysk.cashier.pojo.TbVersion; import org.apache.ibatis.annotations.Param; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; /** @@ -15,4 +16,15 @@ public interface TbVersionRepository extends JpaRepository, @Query("SELECT count(1) FROM TbVersion WHERE source = :source AND type =:type AND version =:version") int isExist(@Param("source") String source, @Param("type") String type, @Param("version") String version); + + @Query("SELECT count(1) FROM TbVersion WHERE source = :source AND version =:version") + int isExist(@Param("source") String source, @Param("version") String version); + + @Modifying + @Query("update TbVersion version set version.sel=CASE" + + " WHEN version.source=:source AND version.id=:id THEN 1 " + + " WHEN version.source=:source AND version.id!=:id THEN 0 " + + " ELSE version.sel END " + + " WHERE version.source = :source") + int updateSelBySource(@Param("source") String source, @Param("id") Integer id); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java index ef297bfe..decc3ddc 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java @@ -52,6 +52,8 @@ public interface TbVersionService { */ void update(TbVersion resources); + void updateSel(TbVersion resources); + /** * 多选删除 * @param ids / diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java index d53a7d91..4d1db8a9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java @@ -7,10 +7,7 @@ import cn.ysk.cashier.mapper.TbVersionMapper; import cn.ysk.cashier.pojo.TbVersion; import cn.ysk.cashier.repository.TbVersionRepository; import cn.ysk.cashier.service.TbVersionService; -import cn.ysk.cashier.utils.PageUtil; -import cn.ysk.cashier.utils.QueryHelp; -import cn.ysk.cashier.utils.RedisUtils; -import cn.ysk.cashier.utils.ValidationUtil; +import cn.ysk.cashier.utils.*; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; @@ -61,17 +58,17 @@ public class TbVersionServiceImpl implements TbVersionService { @Override @Transactional(rollbackFor = Exception.class) public TbVersionDto create(TbVersion resources) { - int exist = tbVersionRepository.isExist(resources.getSource(), resources.getType(), resources.getVersion()); + int exist = tbVersionRepository.isExist(resources.getSource(), resources.getVersion()); if (exist > 0) { throw new BadRequestException("该版本已存在。"); } resources.setCreatedAt(Instant.now().toEpochMilli()); TbVersionDto dto = tbVersionMapper.toDto(tbVersionRepository.save(resources)); - if (dto.getIsUp() == 1) { - //产品标识:型号:版本 - //LDBL_APP_VERSION:ios:version 存在即需要强制更新 - redisUtils.set(dto.getSource() + "_VERSION:" + dto.getType() + ":" + dto.getVersion(), dto.getMessage()); - } +// if (dto.getIsUp() == 1) { +// //产品标识:型号:版本 +// //VERSION:PC::version 存在即需要强制更新 +// redisUtils.set(CacheKey.VERSION + dto.getSource() + ":" + dto.getVersion(), dto); +// } return dto; } @@ -80,17 +77,23 @@ public class TbVersionServiceImpl implements TbVersionService { public void update(TbVersion resources) { TbVersion tbVersion = tbVersionRepository.findById(resources.getId()).orElseGet(TbVersion::new); ValidationUtil.isNull(tbVersion.getId(), "TbVersion", "id", resources.getId()); - redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion()); +// redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion()); tbVersion.copy(resources); tbVersion.setUpdatedAt(Instant.now().toEpochMilli()); tbVersionRepository.save(tbVersion); - if (resources.getIsUp() == 1) { - //产品标识:型号:版本 - //LDBL_APP_VERSION:ios:version 存在即需要强制更新 - redisUtils.set(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion(), tbVersion.getMessage()); - } else { - redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion()); - } +// if (resources.getIsUp() == 1) { +// //产品标识:型号:版本 +// //LDBL_APP_VERSION:ios:version 存在即需要强制更新 +// redisUtils.set(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion(), tbVersion.getMessage()); +// } else { +// redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion()); +// } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateSel(TbVersion resources) { + tbVersionRepository.updateSelBySource(resources.getSource(),resources.getId()); } @Override @@ -99,9 +102,9 @@ public class TbVersionServiceImpl implements TbVersionService { TbVersion tbVersion = tbVersionRepository.findById(id).orElseGet(TbVersion::new); ValidationUtil.isNull(tbVersion.getId(), "TbVersion", "id", id); tbVersionRepository.deleteById(id); - if (tbVersion.getIsUp() == 1) { - redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion()); - } +// if (tbVersion.getIsUp() == 1) { +// redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion()); +// } } } diff --git a/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java b/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java index 48db46a1..5fa72bba 100644 --- a/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java +++ b/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java @@ -89,6 +89,15 @@ public class QiniuController { return new ResponseEntity<>(map,HttpStatus.OK); } + @ApiOperation("上传PC版本文件") + @AnonymousPostMapping("uploadVersionFile") + public ResponseEntity uploadVersionFile(@RequestParam MultipartFile file,@RequestParam String name){ + String url = qiNiuService.uploadVersionFile(file,qiNiuService.findCloud(),name); + Map map = new HashMap<>(1); + map.put("data",url); + return new ResponseEntity<>(map,HttpStatus.OK); + } + // @Log("上传文件") @ApiOperation("上传文件") diff --git a/eladmin-tools/src/main/java/cn/ysk/cashier/service/QiNiuService.java b/eladmin-tools/src/main/java/cn/ysk/cashier/service/QiNiuService.java index 3cecf955..f255cba4 100644 --- a/eladmin-tools/src/main/java/cn/ysk/cashier/service/QiNiuService.java +++ b/eladmin-tools/src/main/java/cn/ysk/cashier/service/QiNiuService.java @@ -63,6 +63,8 @@ public interface QiNiuService { */ List queryAll(QiniuQueryCriteria criteria); + String uploadVersionFile(MultipartFile file, CloudStorageConfig qiniuConfig,String fileName); + /** * 上传文件 * @param file 文件 diff --git a/eladmin-tools/src/main/java/cn/ysk/cashier/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/cn/ysk/cashier/service/impl/QiNiuServiceImpl.java index a6598e14..96de3e58 100644 --- a/eladmin-tools/src/main/java/cn/ysk/cashier/service/impl/QiNiuServiceImpl.java +++ b/eladmin-tools/src/main/java/cn/ysk/cashier/service/impl/QiNiuServiceImpl.java @@ -115,6 +115,22 @@ public class QiNiuServiceImpl implements QiNiuService { return qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)); } + @Override + @Transactional(rollbackFor = Exception.class) + public String uploadVersionFile(MultipartFile file, CloudStorageConfig qiniuConfig,String fileName) { + if(qiniuConfig== null){ + throw new BadRequestException("请先添加相应配置,再操作"); + } + // 构造一个带指定Zone对象的配置类 + try { + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + + return OSSFactory.build(qiniuConfig).uploadFileName(file.getBytes(), extension,fileName); + } catch (Exception e) { + throw new BadRequestException(e.getMessage()); + } + } + @Override @Transactional(rollbackFor = Exception.class) public QiniuContent upload(MultipartFile file, CloudStorageConfig qiniuConfig) { diff --git a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AbstractCloudStorageService.java b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AbstractCloudStorageService.java index 341456e2..0e308f30 100644 --- a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AbstractCloudStorageService.java +++ b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AbstractCloudStorageService.java @@ -43,6 +43,25 @@ public abstract class AbstractCloudStorageService { return path + "." + suffix; } + /** + * 文件路径 + * @param prefix 前缀 + * @param fileName 文件名 + * @param suffix 后缀 + * @return 返回上传路径 + */ + public String getPath(String prefix,String suffix, String fileName) { + //文件路径 +// String path = DateUtils.getDays() + "/" + fileName; + String path = "version/" + fileName; + + if(StringUtils.isNotBlank(prefix)){ + path = prefix + "/" + path; + } + + return path + "." + suffix; + } + /** * 文件上传 * @param data 文件字节数组 @@ -58,6 +77,7 @@ public abstract class AbstractCloudStorageService { * @return 返回http地址 */ public abstract String uploadSuffix(byte[] data, String suffix) throws Exception; + public abstract String uploadFileName(byte[] data, String suffix,String fileName) throws Exception; /** * 文件上传 diff --git a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AliyunCloudStorageService.java b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AliyunCloudStorageService.java index a4de4454..17a58159 100644 --- a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AliyunCloudStorageService.java +++ b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/AliyunCloudStorageService.java @@ -49,6 +49,11 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService { return upload(data, getPath(config.getPrefix(), suffix)); } + @Override + public String uploadFileName(byte[] data, String suffix,String fileName) throws Exception { + return upload(data, getPath(config.getPrefix(), suffix,fileName)); + } + @Override public String uploadSuffix(InputStream inputStream, String suffix) throws Exception { return upload(inputStream, getPath(config.getPrefix(), suffix)); diff --git a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/HuaweiCloudStorageService.java b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/HuaweiCloudStorageService.java index 06b315a4..0d9c03d6 100644 --- a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/HuaweiCloudStorageService.java +++ b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/HuaweiCloudStorageService.java @@ -35,6 +35,11 @@ public class HuaweiCloudStorageService extends AbstractCloudStorageService { return config.getUrl() + "/" + path; } + @Override + public String uploadFileName(byte[] data, String suffix,String fileName) throws Exception { + return upload(data, getPath(config.getPrefix(), suffix,fileName)); + } + @Override public String uploadSuffix(InputStream inputStream, String suffix) throws Exception { return upload(inputStream, getPath(config.getPrefix(), suffix)); diff --git a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QcloudCloudStorageService.java b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QcloudCloudStorageService.java index a42f2ab1..07377b32 100644 --- a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QcloudCloudStorageService.java +++ b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QcloudCloudStorageService.java @@ -82,4 +82,9 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) throws Exception { return upload(inputStream, getPath(config.getPrefix(), suffix)); } + + @Override + public String uploadFileName(byte[] data, String suffix,String fileName) throws Exception { + return upload(data, getPath(config.getPrefix(), suffix,fileName)); + } } \ No newline at end of file diff --git a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QiniuCloudStorageService.java b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QiniuCloudStorageService.java index 2817a857..55379b1d 100644 --- a/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QiniuCloudStorageService.java +++ b/oss-service/src/main/java/com/dianguang/cloud/ossservice/service/QiniuCloudStorageService.java @@ -75,4 +75,9 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService { public String uploadSuffix(InputStream inputStream, String suffix) throws Exception { return upload(inputStream, getPath(config.getPrefix(), suffix)); } + + @Override + public String uploadFileName(byte[] data, String suffix,String fileName) throws Exception { + return upload(data, getPath(config.getPrefix(), suffix,fileName)); + } } From 979a3a6ade031ce67409a9867b38304f73640c1b Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Aug 2024 16:21:55 +0800 Subject: [PATCH 07/20] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/ysk/cashier/controller/TbVersionController.java | 3 +++ .../src/main/java/cn/ysk/cashier/rest/QiniuController.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java index cfd2f7af..7eb2f419 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java @@ -28,12 +28,14 @@ public class TbVersionController { } @PostMapping + @Log("版本管理 新增") @ApiOperation("新增版本") public ResponseEntity createTbVersion(@Validated @RequestBody TbVersion resources){ return new ResponseEntity<>(tbVersionService.create(resources),HttpStatus.CREATED); } @PutMapping + @Log("版本管理 修改") @ApiOperation("修改版本") public ResponseEntity updateTbVersion(@Validated @RequestBody TbVersion resources){ tbVersionService.update(resources); @@ -41,6 +43,7 @@ public class TbVersionController { } @PutMapping("upSel") + @Log("版本管理 修改选中") @ApiOperation("修改当前选中") public ResponseEntity updateSel(@Validated @RequestBody TbVersion resources){ tbVersionService.updateSel(resources); diff --git a/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java b/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java index 5fa72bba..b18a5979 100644 --- a/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java +++ b/eladmin-tools/src/main/java/cn/ysk/cashier/rest/QiniuController.java @@ -77,7 +77,7 @@ public class QiniuController { return new ResponseEntity<>(qiNiuService.queryAll(criteria,pageable),HttpStatus.OK); } -// @Log("上传文件") + @Log("上传版本文件") @ApiOperation("上传文件") @AnonymousPostMapping public ResponseEntity uploadQiNiu(@RequestParam MultipartFile file){ From 59843ce046c35ee33683376e1e81acd293250e6d Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Aug 2024 17:32:07 +0800 Subject: [PATCH 08/20] =?UTF-8?q?=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=20cr?= =?UTF-8?q?eateOrder=20=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/ysk/cashier/dto/shoptable/CreateOrderDTO.java | 2 +- .../src/main/java/cn/ysk/cashier/dto/shoptable/PendingDTO.java | 2 +- .../cashier/service/impl/shopimpl/TbShopTableServiceImpl.java | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/CreateOrderDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/CreateOrderDTO.java index 9b447ab4..ee6a793f 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/CreateOrderDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/CreateOrderDTO.java @@ -13,7 +13,7 @@ public class CreateOrderDTO { @NotNull private Integer shopId; @NotEmpty - private Long tableId; + private String tableId; private String note; private boolean postPay; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PendingDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PendingDTO.java index ab3f920a..5285b3e0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PendingDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PendingDTO.java @@ -11,7 +11,7 @@ public class PendingDTO { private String masterId; @NotNull private Integer shopId; - private Long tableId; + private String tableId; private Integer vipUserId; @NotNull private Boolean isPending; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 405651ab..2bdb63b9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -914,6 +914,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { pushConsMsg(orderInfo, cashierCarts); mpShopTableMapper.update(null, new LambdaUpdateWrapper() + .eq(TbShopTable::getShopId, createOrderDTO.getShopId()) .eq(TbShopTable::getQrcode, createOrderDTO.getTableId()) .set(TbShopTable::getStatus, TableStateEnum.USING.getState())); From dc176f6e4677b0102b3e90cd3b74334b2c3d3a62 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 28 Aug 2024 18:04:57 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=20?= =?UTF-8?q?=E5=95=86=E5=93=81=E5=88=97=E8=A1=A8=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/productimpl/TbProductServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java index 90de31c1..75de7129 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java @@ -727,7 +727,7 @@ public class TbProductServiceImpl implements TbProductService { } com.baomidou.mybatisplus.extension.plugins.pagination.Page tbProductPage = productMapper.selectPage(page1, queryWrapper); - tbProductPage.getRecords().stream().parallel().forEach(item -> { + tbProductPage.getRecords().forEach(item -> { TbProductSkuResult skuResult = productSkuResultRepository.findById(item.getId()).orElse(null); List tbProductSkus = producSkutMapper.selectList(new LambdaQueryWrapper().eq(TbProductSku::getIsDel, 0) .eq(TbProductSku::getIsPauseSale, 0) @@ -811,4 +811,8 @@ public class TbProductServiceImpl implements TbProductService { current.remove(current.size() - 1); // 回溯 } } + + public static void main(String[] args) { + + } } From 0fe0722893e6245e5608af008b49648416bd88e4 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 11:27:51 +0800 Subject: [PATCH 10/20] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=20?= =?UTF-8?q?=E6=8C=82=E8=B5=B7=E8=AE=A2=E5=8D=95=E5=A2=9E=E5=8A=A0masterId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/product/TbPlaceController.java | 2 +- .../impl/shopimpl/TbShopTableServiceImpl.java | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java index ce3bea56..df5936f4 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/product/TbPlaceController.java @@ -143,7 +143,7 @@ public class TbPlaceController { public ResponseEntity createOrder( @RequestBody CreateOrderDTO createOrderDTO ) { - return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, true)); + return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, !createOrderDTO.isPostPay())); } @AnonymousAccess diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 2bdb63b9..abae1be0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -901,13 +901,16 @@ public class TbShopTableServiceImpl implements TbShopTableService { if (isFirst) { // 后付费,不增加当前台桌取餐号 if (createOrderDTO.isPostPay()) { -// addGlobalCode(day, "pc", String.valueOf(createOrderDTO.getShopId())); - String key = "SHOP:CODE:USER:pc" + ":" + createOrderDTO.getShopId() + ":" + day + ":" + orderInfo.getTableId(); - redisTemplate.delete(key); - } else { + addGlobalCode(day, "pc", String.valueOf(createOrderDTO.getShopId())); +// String key = "SHOP:CODE:USER:pc" + ":" + createOrderDTO.getShopId() + ":" + day + ":" + orderInfo.getTableId(); +// redisTemplate.delete(key); + } + + if (!createOrderDTO.isPostPay() || addMaterId){ String key = "SHOP:CODE:USER:pc" + ":" + createOrderDTO.getShopId() + ":" + day + ":" + orderInfo.getTableId(); redisTemplate.delete(key); } + } // 推送耗材信息 @@ -1021,6 +1024,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { rabbitMsgUtils.printTicket(String.valueOf(orderId)); } + return orderInfoMapper.selectById(orderId); } @@ -1097,9 +1101,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { // 打印消息 rabbitMsgUtils.sendOrderCollectMsg(jsonObject); - if (StrUtil.isBlank(orderInfo.getUseType()) || orderInfo.getUseType().equals("afterPay")) { - rabbitMsgUtils.printTicket(String.valueOf(orderInfo.getId())); - } + rabbitMsgUtils.printTicket(String.valueOf(orderInfo.getId())); // 发送库存记录mq消息 JSONObject mqData = new JSONObject(); From 417451f43291ba2025a7428f8625e00b09d0432b Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 13:45:49 +0800 Subject: [PATCH 11/20] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E4=BD=99=E9=A2=9D=E6=94=AF=E4=BB=98=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index 6af0e008..8942c365 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -329,7 +329,7 @@ public class TbPayServiceImpl implements TbPayService { userFlow.setBalance(shopUser.getAmount()); userFlow.setShopUserId(shopUser.getId()); userFlow.setBizCode("vipCardCash"); - userFlow.setBizName("代客下单会员余额支付"); + userFlow.setBizName("余额支付"); userFlow.setCreateTime(DateUtil.date()); userFlow.setType("-"); shopUserFlowMapper.insert(userFlow); From 297ccc0233c01efc3f2cd213890d90a45ba86cf9 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 14:13:19 +0800 Subject: [PATCH 12/20] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E6=8A=98=E6=89=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/ysk/cashier/dto/shoptable/PayDTO.java | 5 +++++ .../cn/ysk/cashier/service/TbPayService.java | 3 ++- .../service/impl/TbPayServiceImpl.java | 20 +++++++++++++++---- .../impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java index 06c11ba7..3d8bf73e 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java @@ -2,6 +2,8 @@ package cn.ysk.cashier.dto.shoptable; import lombok.Data; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -13,4 +15,7 @@ public class PayDTO { private Integer orderId; @NotEmpty private String payType; + @Min(0) + @Max(1) + private Double discount; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java index 44bdd047..a1f90984 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java @@ -4,12 +4,13 @@ import cn.ysk.cashier.dto.ScanPayDTO; import cn.ysk.cashier.dto.shoptable.PayDTO; import cn.ysk.cashier.pojo.order.TbOrderInfo; +import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; public interface TbPayService { void scanPay(ScanPayDTO scanPayDTO); - TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId); + TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount); TbOrderInfo cashPay(PayDTO payDTO); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index 8942c365..55430f49 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -21,13 +21,15 @@ import cn.ysk.cashier.repository.shop.TbMerchantThirdApplyRepository; import cn.ysk.cashier.service.TbPayService; import cn.ysk.cashier.utils.RabbitMsgUtils; import cn.ysk.cashier.utils.SnowFlakeUtil; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Service; +import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; @Service @@ -297,7 +299,7 @@ public class TbPayServiceImpl implements TbPayService { private final TbShopUserFlowMapper shopUserFlowMapper; @Override - public TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId) { + public TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount) { TbOrderInfo orderInfo = orderInfoMapper.selectById(orderId); @@ -334,7 +336,12 @@ public class TbPayServiceImpl implements TbPayService { userFlow.setType("-"); shopUserFlowMapper.insert(userFlow); - orderInfo.setPayAmount(orderInfo.getOrderAmount()); + orderInfo.setPayAmount(discount == null ? orderInfo.getOrderAmount() : orderInfo.getOrderAmount().multiply(BigDecimal.valueOf(discount)).setScale(2, RoundingMode.UP)); + if (discount != null && discount != 1) { + orderInfo.setDiscountAmount(orderInfo.getOrderAmount().subtract(orderInfo.getPayAmount())); + orderInfo.setDiscountRatio(BigDecimal.valueOf(discount)); + } + orderInfo.setPayType("cash"); orderInfo.setStatus("closed"); orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo())); @@ -373,7 +380,12 @@ public class TbPayServiceImpl implements TbPayService { // return Result.fail(CodeEnum.PAYTYPENOEXIST); // } - orderInfo.setPayAmount(orderInfo.getOrderAmount()); + orderInfo.setPayAmount(payDTO.getDiscount() == null ? orderInfo.getOrderAmount() : orderInfo.getOrderAmount() + .multiply(BigDecimal.valueOf(payDTO.getDiscount())).setScale(2, RoundingMode.UP)); + if (payDTO.getDiscount() != null && payDTO.getDiscount() != 1) { + orderInfo.setDiscountAmount(orderInfo.getOrderAmount().subtract(orderInfo.getPayAmount())); + orderInfo.setDiscountRatio(BigDecimal.valueOf(payDTO.getDiscount())); + } orderInfo.setPayType("cash"); orderInfo.setStatus("closed"); orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo())); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index abae1be0..2059d1e0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1083,7 +1083,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbOrderInfo orderInfo = null; switch (payDTO.getPayType()) { case "vipPay": - orderInfo = tbPayServiceImpl.vipPay(payDTO.getShopId(), payDTO.getOrderId()); + orderInfo = tbPayServiceImpl.vipPay(payDTO.getShopId(), payDTO.getOrderId(), payDTO.getDiscount()); break; case "cash": orderInfo = tbPayServiceImpl.cashPay(payDTO); From 71bc9360745a1913eccdc36feb73f089746bca81 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 17:57:56 +0800 Subject: [PATCH 13/20] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E6=8A=98=E6=89=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index 55430f49..45a0b56d 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -321,7 +321,9 @@ public class TbPayServiceImpl implements TbPayService { throw new BadRequestException("用户不存在或已被禁用"); } - long flag = shopUserMapper.decrBalance(Integer.valueOf(orderInfo.getUserId()), orderInfo.getOrderAmount()); + BigDecimal payMount = discount == null ? orderInfo.getOrderAmount() : orderInfo.getOrderAmount().multiply(BigDecimal.valueOf(discount)).setScale(2, RoundingMode.UP); + + long flag = shopUserMapper.decrBalance(Integer.valueOf(orderInfo.getUserId()), payMount); if (flag < 1) { throw new BadRequestException("余额不足或扣除余额失败"); } @@ -336,7 +338,7 @@ public class TbPayServiceImpl implements TbPayService { userFlow.setType("-"); shopUserFlowMapper.insert(userFlow); - orderInfo.setPayAmount(discount == null ? orderInfo.getOrderAmount() : orderInfo.getOrderAmount().multiply(BigDecimal.valueOf(discount)).setScale(2, RoundingMode.UP)); + orderInfo.setPayAmount(payMount); if (discount != null && discount != 1) { orderInfo.setDiscountAmount(orderInfo.getOrderAmount().subtract(orderInfo.getPayAmount())); orderInfo.setDiscountRatio(BigDecimal.valueOf(discount)); From a68b7ee99193ec6cbdb3e9df1a09c94216cec037 Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 17:59:16 +0800 Subject: [PATCH 14/20] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E6=8A=98=E6=89=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index 45a0b56d..b80dc6b6 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -329,7 +329,7 @@ public class TbPayServiceImpl implements TbPayService { } TbShopUserFlow userFlow = new TbShopUserFlow(); - userFlow.setAmount(orderInfo.getOrderAmount()); + userFlow.setAmount(payMount); userFlow.setBalance(shopUser.getAmount()); userFlow.setShopUserId(shopUser.getId()); userFlow.setBizCode("vipCardCash"); From 52410b73f143bee14336f19e46afe1134328b0be Mon Sep 17 00:00:00 2001 From: SongZhang <2064194730@qq.com> Date: Thu, 29 Aug 2024 18:26:22 +0800 Subject: [PATCH 15/20] =?UTF-8?q?1.=E4=BB=A3=E5=AE=A2=E4=B8=8B=E5=8D=95=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=B8=8B=E5=8D=95=E4=BF=AE=E6=94=B9=E4=BC=9A?= =?UTF-8?q?=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java | 1 + .../src/main/java/cn/ysk/cashier/service/TbPayService.java | 3 +-- .../java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java | 6 ++++-- .../service/impl/shopimpl/TbShopTableServiceImpl.java | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java index 3d8bf73e..769fba10 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/dto/shoptable/PayDTO.java @@ -18,4 +18,5 @@ public class PayDTO { @Min(0) @Max(1) private Double discount; + private Integer vipUserId; } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java index a1f90984..314f3f91 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbPayService.java @@ -4,13 +4,12 @@ import cn.ysk.cashier.dto.ScanPayDTO; import cn.ysk.cashier.dto.shoptable.PayDTO; import cn.ysk.cashier.pojo.order.TbOrderInfo; -import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; public interface TbPayService { void scanPay(ScanPayDTO scanPayDTO); - TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount); + TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount, Integer vipUserId); TbOrderInfo cashPay(PayDTO payDTO); } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java index b80dc6b6..0a0dfdcf 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbPayServiceImpl.java @@ -26,7 +26,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Service; -import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.math.RoundingMode; @@ -299,7 +298,7 @@ public class TbPayServiceImpl implements TbPayService { private final TbShopUserFlowMapper shopUserFlowMapper; @Override - public TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount) { + public TbOrderInfo vipPay(@NotNull Integer shopId, @NotNull Integer orderId, Double discount, Integer vipUserId) { TbOrderInfo orderInfo = orderInfoMapper.selectById(orderId); @@ -311,6 +310,9 @@ public class TbPayServiceImpl implements TbPayService { throw new BadRequestException("订单非未支付状态"); } + if (vipUserId != null) { + orderInfo.setUserId(String.valueOf(vipUserId)); + } // 扣减会员余额 TbShopUser shopUser = shopUserMapper.selectOne(new LambdaUpdateWrapper() diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 2059d1e0..74a809d1 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1083,7 +1083,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbOrderInfo orderInfo = null; switch (payDTO.getPayType()) { case "vipPay": - orderInfo = tbPayServiceImpl.vipPay(payDTO.getShopId(), payDTO.getOrderId(), payDTO.getDiscount()); + orderInfo = tbPayServiceImpl.vipPay(payDTO.getShopId(), payDTO.getOrderId(), payDTO.getDiscount(), payDTO.getVipUserId()); break; case "cash": orderInfo = tbPayServiceImpl.cashPay(payDTO); From 9ea2ecf552a64891ddc27e75481eb9eea7cb9380 Mon Sep 17 00:00:00 2001 From: yijiegong Date: Fri, 30 Aug 2024 11:26:23 +0800 Subject: [PATCH 16/20] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=95=B0=E9=87=8Fbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/ysk/cashier/mybatis/mapper/ShopUserMapper.java | 2 +- .../cashier/service/impl/shopimpl/TbShopUserServiceImpl.java | 2 +- .../src/main/java/cn/ysk/cashier/vo/ShopUserInfoVo.java | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/ShopUserMapper.java b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/ShopUserMapper.java index 44efefb9..5c789e38 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/ShopUserMapper.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/mybatis/mapper/ShopUserMapper.java @@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Select; public interface ShopUserMapper extends BaseMapper { @Select("