diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java index 66a9c6a..d39a1d5 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java @@ -52,7 +52,7 @@ public class TbProductController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(tbProduct, req.getParameterMap()); - queryWrapper.orderByDesc("create_time"); + queryWrapper.eq("del_flag",0).orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = tbProductService.page(page, queryWrapper); return Result.OK(pageList); diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/controller/TbProductOrderController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/controller/TbProductOrderController.java index 5556d37..ba103ed 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/controller/TbProductOrderController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/controller/TbProductOrderController.java @@ -1,8 +1,12 @@ package org.jeecg.modules.productOrder.controller; import java.util.Arrays; +import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.productOrder.entity.TbProductOrder; @@ -53,7 +57,7 @@ public class TbProductOrderController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(tbProductOrder, req.getParameterMap()); Page page = new Page(pageNo, pageSize); - queryWrapper.orderByDesc("create_time"); + queryWrapper.eq("del_flag",0).orderByDesc("create_time"); IPage pageList = tbProductOrderService.page(page, queryWrapper); return Result.OK(pageList); } @@ -82,8 +86,7 @@ public class TbProductOrderController extends JeecgController edit(@RequestBody TbProductOrder tbProductOrder) { - tbProductOrderService.updateById(tbProductOrder); - return Result.OK("编辑成功!"); + return tbProductOrderService.updateOrder(tbProductOrder); } /** @@ -96,7 +99,9 @@ public class TbProductOrderController extends JeecgController delete(@RequestParam(name="id",required=true) String id) { - tbProductOrderService.removeById(id); + TbProductOrder byId = tbProductOrderService.getById(id); + byId.setDelFlag(1); + tbProductOrderService.updateById(byId); return Result.OK("删除成功!"); } @@ -110,7 +115,11 @@ public class TbProductOrderController extends JeecgController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.tbProductOrderService.removeByIds(Arrays.asList(ids.split(","))); + List tbProductOrders = tbProductOrderService.listByIds(Arrays.asList(ids.split(","))); + for (TbProductOrder tbProductOrder : tbProductOrders) { + tbProductOrder.setDelFlag(1); + } + this.tbProductOrderService.updateBatchById(tbProductOrders); return Result.OK("批量删除成功!"); } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/ITbProductOrderService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/ITbProductOrderService.java index cde3472..ba3fcea 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/ITbProductOrderService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/ITbProductOrderService.java @@ -1,5 +1,6 @@ package org.jeecg.modules.productOrder.service; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.productOrder.entity.TbProductOrder; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,4 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ITbProductOrderService extends IService { + Result updateOrder(TbProductOrder tbProductOrder); + } diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/impl/TbProductOrderServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/impl/TbProductOrderServiceImpl.java index 03e4daf..810ccee 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/impl/TbProductOrderServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/impl/TbProductOrderServiceImpl.java @@ -1,19 +1,60 @@ package org.jeecg.modules.productOrder.service.impl; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.log4j.Log4j2; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.product.entity.TbProduct; +import org.jeecg.modules.product.service.ITbProductService; import org.jeecg.modules.productOrder.entity.TbProductOrder; import org.jeecg.modules.productOrder.mapper.TbProductOrderMapper; import org.jeecg.modules.productOrder.service.ITbProductOrderService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Resource; +import java.math.BigDecimal; /** * @Description: 订单表 * @Author: jeecg-boot - * @Date: 2024-10-20 + * @Date: 2024-10-20 * @Version: V1.0 */ +@Log4j2 @Service public class TbProductOrderServiceImpl extends ServiceImpl implements ITbProductOrderService { + @Resource + private ITbProductService tbProductService; + + @Transactional + @Override + public Result updateOrder(TbProductOrder tbProductOrder) { + TbProductOrder byId = this.getById(tbProductOrder.getId()); + + if (byId.getAuditStatus() != tbProductOrder.getAuditStatus()) { + if (byId.getAuditStatus() == 1) { + return Result.error("已审核通过的订单不能重复审核"); + } + log.info("修改审核状态{}", JSONObject.toJSONString(tbProductOrder)); + //修改库存 + if (byId.getAuditStatus() == 0 && tbProductOrder.getAuditStatus() == 1) { + //审核状态 0审核中 1 审核通过 2审核未通过 + TbProduct product = tbProductService.getById(byId.getProductId()); + BigDecimal subtract = new BigDecimal(product.getNum()).subtract(new BigDecimal(byId.getNum())); + if (subtract.intValue()<0){ + return Result.error("该报价库存剩余"+product.getNum()+",库存不足"); + } + log.info("修改库存状态,原库存{},减少库存{},剩余库存{}", product.getNum(), byId.getNum(), subtract); + product.setNum(subtract.intValue()); + tbProductService.updateById(product); + } + + } + this.updateById(tbProductOrder); + return Result.OK("编辑成功!"); + } } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java index f40182a..c0347a7 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java @@ -69,9 +69,9 @@ public class ProductController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); - queryWrapper.eq("audit_status", 1).eq("product_type", productType) + queryWrapper.eq("audit_status", 1).eq("product_type", productType).eq("del_flag",0) .orderByDesc("sort_num", "create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = tbProductService.page(page, queryWrapper); @@ -86,7 +86,7 @@ public class ProductController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); - queryWrapper.eq("show_status", 0).eq("audit_status", 1) + queryWrapper.eq("show_status", 0).eq("audit_status", 1).eq("del_flag",0) .orderByDesc("sort_num", "create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = tbProductService.page(page, queryWrapper); @@ -103,7 +103,7 @@ public class ProductController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); - queryWrapper.eq("user_id", hanHaiMember.getId()).orderByDesc("create_time"); + queryWrapper.eq("user_id", hanHaiMember.getId()).eq("del_flag",0).orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = tbProductService.page(page, queryWrapper); return Result.OK(pageList); diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java index f636b4c..c7d80a6 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java @@ -128,6 +128,7 @@ public class ProductServiceImpl extends ServiceImpl tbProductOrder.setCompanyName(one1.getCompanyName()); tbProductOrder.setBankName(one1.getBankNama()); tbProductOrder.setProductType(product.getProductType()); + tbProductOrder.setAuditStatus(0); tbProductOrder.setBankAccount(one1.getBankAccount()); jsonObject.put("bankAccount", one1.getBankAccount()); jsonObject.put("companyName", one1.getCompanyName());