From aaddbab2abe0277eeab7f20730a10a96bc7040c3 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Wed, 21 May 2025 15:27:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=85=A7=E7=89=87=E6=89=93=E5=8D=B0=EF=BC=8C?= =?UTF-8?q?=E5=9F=BA=E7=A1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobile/AppPrinterController.java | 15 +++++++++++ .../com/ycwl/basic/mapper/PrinterMapper.java | 2 ++ .../service/pc/impl/OrderServiceImpl.java | 6 +++++ .../pc/impl/PriceConfigServiceImpl.java | 2 ++ .../basic/service/printer/PrinterService.java | 5 ++++ .../printer/impl/PrinterServiceImpl.java | 25 +++++++++++++++++++ src/main/resources/mapper/PrinterMapper.xml | 3 +++ 7 files changed, 58 insertions(+) diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java index 2633049..bdaf0b9 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java @@ -69,4 +69,19 @@ public class AppPrinterController { printerService.setPhotoCropped(JwtTokenUtil.getWorker().getUserId(), scenicId, id, url); return ApiResponse.success(url); } + @PostMapping("/setQuantity/{scenicId}/{id}") + public ApiResponse setQuantity(@PathVariable("scenicId") Long scenicId, @PathVariable("id") Long id, @RequestParam("quantity") Integer quantity) { + if (quantity == null) { + return ApiResponse.fail("请输入数量"); + } + if (quantity < 0) { + return ApiResponse.fail("数量不能小于0"); + } + printerService.setPhotoQuantity(JwtTokenUtil.getWorker().getUserId(), scenicId, id, quantity); + return ApiResponse.success(null); + } + @GetMapping("/price/{scenicId}") + public ApiResponse queryPrice(@PathVariable("scenicId") Long scenicId) { + return ApiResponse.success(printerService.queryPrice(JwtTokenUtil.getWorker().getUserId(), scenicId)); + } } diff --git a/src/main/java/com/ycwl/basic/mapper/PrinterMapper.java b/src/main/java/com/ycwl/basic/mapper/PrinterMapper.java index 15ff6e5..338afb5 100644 --- a/src/main/java/com/ycwl/basic/mapper/PrinterMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/PrinterMapper.java @@ -40,4 +40,6 @@ public interface PrinterMapper { MemberPrintResp getUserPhoto(Long memberId, Long scenicId, Long id); int setPhotoCropped(Long memberId, Long scenicId, Long id, String url); + + int setPhotoQuantity(Long memberId, Long scenicId, Long id, Integer quantity); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java index 343c5c6..d7e1c60 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java @@ -129,6 +129,12 @@ public class OrderServiceImpl implements OrderService { item.setOrderType("未知商品"); } } + } else if (Integer.valueOf(1).equals(item.getType())) { + item.setGoodsName("多项商品"); + item.setOrderType("打包购买"); + } else if (Integer.valueOf(3).equals(item.getType())) { + item.setGoodsName("打印照片"); + item.setOrderType("照片打印"); } }); PageInfo pageInfo = new PageInfo<>(list); diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java index 4d4bb45..c783c0e 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java @@ -51,6 +51,8 @@ public class PriceConfigServiceImpl extends ServiceImpl goodsNames = new ArrayList<>(); for (String s : item.getGoodsIds().split(",")) { diff --git a/src/main/java/com/ycwl/basic/service/printer/PrinterService.java b/src/main/java/com/ycwl/basic/service/printer/PrinterService.java index a7860f6..7dd09e5 100644 --- a/src/main/java/com/ycwl/basic/service/printer/PrinterService.java +++ b/src/main/java/com/ycwl/basic/service/printer/PrinterService.java @@ -1,5 +1,6 @@ package com.ycwl.basic.service.printer; +import com.ycwl.basic.model.mobile.order.PriceObj; import com.ycwl.basic.model.pc.printer.entity.PrinterEntity; import com.ycwl.basic.model.pc.printer.resp.MemberPrintResp; import com.ycwl.basic.model.pc.printer.resp.PrinterResp; @@ -38,4 +39,8 @@ public interface PrinterService { MemberPrintResp getUserPhoto(Long memberId, Long scenicId, Long id); int setPhotoCropped(Long memberId, Long scenicId, Long id, String url); + + int setPhotoQuantity(Long memberId, Long scenicId, Long id, Integer quantity); + + PriceObj queryPrice(Long memberId, Long scenicId); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java b/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java index 4dffbbf..7d85faa 100644 --- a/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java @@ -1,6 +1,8 @@ package com.ycwl.basic.service.printer.impl; import com.ycwl.basic.mapper.PrinterMapper; +import com.ycwl.basic.model.mobile.order.PriceObj; +import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity; import com.ycwl.basic.model.pc.printer.entity.PrintTaskEntity; import com.ycwl.basic.model.pc.printer.entity.PrinterEntity; import com.ycwl.basic.model.pc.printer.resp.MemberPrintResp; @@ -8,12 +10,14 @@ import com.ycwl.basic.model.pc.printer.resp.PrinterResp; import com.ycwl.basic.model.printer.req.PrinterSyncReq; import com.ycwl.basic.model.printer.req.WorkerAuthReqVo; import com.ycwl.basic.model.printer.resp.PrintTaskResp; +import com.ycwl.basic.repository.PriceRepository; import com.ycwl.basic.service.printer.PrinterService; import com.ycwl.basic.utils.ApiResponse; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.Collections; import java.util.List; @@ -21,6 +25,8 @@ import java.util.List; public class PrinterServiceImpl implements PrinterService { @Autowired private PrinterMapper printerMapper; + @Autowired + private PriceRepository priceRepository; @Override public List listByScenicId(Long scenicId) { @@ -146,4 +152,23 @@ public class PrinterServiceImpl implements PrinterService { public int setPhotoCropped(Long memberId, Long scenicId, Long id, String url) { return printerMapper.setPhotoCropped(memberId, scenicId, id, url); } + + @Override + public int setPhotoQuantity(Long memberId, Long scenicId, Long id, Integer quantity) { + return printerMapper.setPhotoQuantity(memberId, scenicId, id, quantity); + } + + @Override + public PriceObj queryPrice(Long memberId, Long scenicId) { + List userPhotoList = getUserPhotoList(memberId, scenicId); + // 判断几张 + PriceConfigEntity priceConfig = priceRepository.getPriceConfigByScenicTypeGoods(scenicId, 3, null); + PriceObj obj = new PriceObj(); + obj.setPrice(priceConfig.getPrice().multiply(BigDecimal.valueOf(userPhotoList.size()))); + obj.setSlashPrice(priceConfig.getSlashPrice().multiply(BigDecimal.valueOf(userPhotoList.size()))); + obj.setGoodsType(3); + obj.setFree(false); + obj.setScenicId(scenicId); + return obj; + } } \ No newline at end of file diff --git a/src/main/resources/mapper/PrinterMapper.xml b/src/main/resources/mapper/PrinterMapper.xml index e24eec4..0960cbf 100644 --- a/src/main/resources/mapper/PrinterMapper.xml +++ b/src/main/resources/mapper/PrinterMapper.xml @@ -118,6 +118,9 @@ UPDATE member_print SET crop_url = #{url}, update_time = NOW() WHERE id = #{id} + + UPDATE member_print SET quantity = #{quantity}, update_time = NOW() WHERE id = #{id} +