Browse Source

修复库存问题

master
cgx 6 months ago
parent
commit
868aed8752
6 changed files with 65 additions and 11 deletions
  1. +1
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java
  2. +14
    -5
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/controller/TbProductOrderController.java
  3. +3
    -0
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/ITbProductOrderService.java
  4. +42
    -1
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/impl/TbProductOrderServiceImpl.java
  5. +4
    -4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java
  6. +1
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java

+ 1
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/product/controller/TbProductController.java View File

@ -52,7 +52,7 @@ public class TbProductController extends JeecgController<TbProduct, ITbProductSe
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<TbProduct> queryWrapper = QueryGenerator.initQueryWrapper(tbProduct, req.getParameterMap()); QueryWrapper<TbProduct> queryWrapper = QueryGenerator.initQueryWrapper(tbProduct, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
queryWrapper.eq("del_flag",0).orderByDesc("create_time");
Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize); Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize);
IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper); IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);


+ 14
- 5
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/controller/TbProductOrderController.java View File

@ -1,8 +1,12 @@
package org.jeecg.modules.productOrder.controller; package org.jeecg.modules.productOrder.controller;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 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.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.productOrder.entity.TbProductOrder; import org.jeecg.modules.productOrder.entity.TbProductOrder;
@ -53,7 +57,7 @@ public class TbProductOrderController extends JeecgController<TbProductOrder, IT
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<TbProductOrder> queryWrapper = QueryGenerator.initQueryWrapper(tbProductOrder, req.getParameterMap()); QueryWrapper<TbProductOrder> queryWrapper = QueryGenerator.initQueryWrapper(tbProductOrder, req.getParameterMap());
Page<TbProductOrder> page = new Page<TbProductOrder>(pageNo, pageSize); Page<TbProductOrder> page = new Page<TbProductOrder>(pageNo, pageSize);
queryWrapper.orderByDesc("create_time");
queryWrapper.eq("del_flag",0).orderByDesc("create_time");
IPage<TbProductOrder> pageList = tbProductOrderService.page(page, queryWrapper); IPage<TbProductOrder> pageList = tbProductOrderService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);
} }
@ -82,8 +86,7 @@ public class TbProductOrderController extends JeecgController<TbProductOrder, IT
@ApiOperation(value="订单表-编辑", notes="订单表-编辑") @ApiOperation(value="订单表-编辑", notes="订单表-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody TbProductOrder tbProductOrder) { public Result<String> edit(@RequestBody TbProductOrder tbProductOrder) {
tbProductOrderService.updateById(tbProductOrder);
return Result.OK("编辑成功!");
return tbProductOrderService.updateOrder(tbProductOrder);
} }
/** /**
@ -96,7 +99,9 @@ public class TbProductOrderController extends JeecgController<TbProductOrder, IT
@ApiOperation(value="订单表-通过id删除", notes="订单表-通过id删除") @ApiOperation(value="订单表-通过id删除", notes="订单表-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) { public Result<String> 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("删除成功!"); return Result.OK("删除成功!");
} }
@ -110,7 +115,11 @@ public class TbProductOrderController extends JeecgController<TbProductOrder, IT
@ApiOperation(value="订单表-批量删除", notes="订单表-批量删除") @ApiOperation(value="订单表-批量删除", notes="订单表-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.tbProductOrderService.removeByIds(Arrays.asList(ids.split(",")));
List<TbProductOrder> tbProductOrders = tbProductOrderService.listByIds(Arrays.asList(ids.split(",")));
for (TbProductOrder tbProductOrder : tbProductOrders) {
tbProductOrder.setDelFlag(1);
}
this.tbProductOrderService.updateBatchById(tbProductOrders);
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }


+ 3
- 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/ITbProductOrderService.java View File

@ -1,5 +1,6 @@
package org.jeecg.modules.productOrder.service; package org.jeecg.modules.productOrder.service;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.productOrder.entity.TbProductOrder; import org.jeecg.modules.productOrder.entity.TbProductOrder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -11,4 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface ITbProductOrderService extends IService<TbProductOrder> { public interface ITbProductOrderService extends IService<TbProductOrder> {
Result updateOrder(TbProductOrder tbProductOrder);
} }

+ 42
- 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/service/impl/TbProductOrderServiceImpl.java View File

@ -1,19 +1,60 @@
package org.jeecg.modules.productOrder.service.impl; 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.entity.TbProductOrder;
import org.jeecg.modules.productOrder.mapper.TbProductOrderMapper; import org.jeecg.modules.productOrder.mapper.TbProductOrderMapper;
import org.jeecg.modules.productOrder.service.ITbProductOrderService; import org.jeecg.modules.productOrder.service.ITbProductOrderService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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: 订单表 * @Description: 订单表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2024-10-20
* @Date: 2024-10-20
* @Version: V1.0 * @Version: V1.0
*/ */
@Log4j2
@Service @Service
public class TbProductOrderServiceImpl extends ServiceImpl<TbProductOrderMapper, TbProductOrder> implements ITbProductOrderService { public class TbProductOrderServiceImpl extends ServiceImpl<TbProductOrderMapper, TbProductOrder> 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("编辑成功!");
}
} }

+ 4
- 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java View File

@ -69,9 +69,9 @@ public class ProductController extends JeecgController<TbProduct, ProductService
@RequestParam(name = "productType") Integer productType, @RequestParam(name = "productType") Integer productType,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
log.info("产品报价分页列表参数{}", JSONObject.toJSONString(req.getParameterMap()));
log.info("产品报价分页列表参数 期货现货{}", productType);
QueryWrapper<TbProduct> queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); QueryWrapper<TbProduct> 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"); .orderByDesc("sort_num", "create_time");
Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize); Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize);
IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper); IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper);
@ -86,7 +86,7 @@ public class ProductController extends JeecgController<TbProduct, ProductService
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
QueryWrapper<TbProduct> queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); QueryWrapper<TbProduct> 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"); .orderByDesc("sort_num", "create_time");
Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize); Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize);
IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper); IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper);
@ -103,7 +103,7 @@ public class ProductController extends JeecgController<TbProduct, ProductService
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token);
QueryWrapper<TbProduct> queryWrapper = QueryGenerator.initQueryWrapper(new TbProduct(), req.getParameterMap()); QueryWrapper<TbProduct> 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<TbProduct> page = new Page<TbProduct>(pageNo, pageSize); Page<TbProduct> page = new Page<TbProduct>(pageNo, pageSize);
IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper); IPage<TbProduct> pageList = tbProductService.page(page, queryWrapper);
return Result.OK(pageList); return Result.OK(pageList);


+ 1
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java View File

@ -128,6 +128,7 @@ public class ProductServiceImpl extends ServiceImpl<TbProductMapper, TbProduct>
tbProductOrder.setCompanyName(one1.getCompanyName()); tbProductOrder.setCompanyName(one1.getCompanyName());
tbProductOrder.setBankName(one1.getBankNama()); tbProductOrder.setBankName(one1.getBankNama());
tbProductOrder.setProductType(product.getProductType()); tbProductOrder.setProductType(product.getProductType());
tbProductOrder.setAuditStatus(0);
tbProductOrder.setBankAccount(one1.getBankAccount()); tbProductOrder.setBankAccount(one1.getBankAccount());
jsonObject.put("bankAccount", one1.getBankAccount()); jsonObject.put("bankAccount", one1.getBankAccount());
jsonObject.put("companyName", one1.getCompanyName()); jsonObject.put("companyName", one1.getCompanyName());


Loading…
Cancel
Save