Browse Source

补充订单逻辑

master
cgx 5 months ago
parent
commit
760edc5194
6 changed files with 111 additions and 22 deletions
  1. +8
    -4
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/entity/TbProductOrder.java
  2. +17
    -1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/alUser/controller/ProductController.java
  3. +0
    -10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/ProductOrderReq.java
  4. +40
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/UpdateOrderReq.java
  5. +2
    -0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/ProductService.java
  6. +44
    -7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/impl/ProductServiceImpl.java

+ 8
- 4
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/entity/TbProductOrder.java View File

@ -110,20 +110,24 @@ public class TbProductOrder implements Serializable {
@Excel(name = "排序", width = 15)
@ApiModelProperty(value = "排序")
private java.lang.Integer sortNum;
/**订单状态 0 未确认 1已确认 2已取消 3已付保证金 4 已退款 5已提货*/
@Excel(name = "订单状态 0 未确认 1已确认 2已取消 3已付保证金 4 已退款 5已提货", width = 15)
@ApiModelProperty(value = "订单状态 0 未确认 1已确认 2已取消 3已付保证金 4 已退款 5已提货")
private java.lang.Integer orderFlag;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/


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

@ -13,6 +13,7 @@ import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.postBean.CustomsReq;
import org.jeecg.modules.postBean.ProductOrderReq;
import org.jeecg.modules.postBean.UpdateOrderReq;
import org.jeecg.modules.product.entity.ProductReq;
import org.jeecg.modules.product.entity.TbProduct;
import org.jeecg.modules.product.service.ProductService;
@ -153,10 +154,25 @@ public class ProductController extends JeecgController<TbProduct, ProductService
if (ValidateTool.isNull(productOrderReq)){
return Result.error("参数不能为空!");
}
if (ValidateTool.isNull(productOrderReq.getNum())){
return Result.error("请选择数量");
}
if (ValidateTool.isNull(productOrderReq.getProductId())){
return Result.error("请选择产品");
}
Result result = tbProductService.addProductOrder(productOrderReq, token);
return result;
}
@ApiOperation(value="确认/取消订单", notes="确认/取消订单")
@PostMapping(value = "/updateOrder")
public Result<String> updateOrder(@RequestBody UpdateOrderReq updateOrderReq, @RequestHeader("X-Access-Token") String token) {
Result result = tbProductService.updateOrder(updateOrderReq, token);
return result;
}
}

+ 0
- 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/ProductOrderReq.java View File

@ -47,22 +47,12 @@ public class ProductOrderReq implements Serializable {
@Excel(name = "地址id", width = 15)
@ApiModelProperty(value = "地址id")
private String addressId;
/**单价*/
@Excel(name = "单价", width = 15)
@ApiModelProperty(value = "单价")
private BigDecimal price;
/**保证金*/
@Excel(name = "保证金", width = 15)
@ApiModelProperty(value = "保证金")
private BigDecimal deposit;
/**暂定数量、*/
@Excel(name = "暂定数量、", width = 15)
@ApiModelProperty(value = "暂定数量、")
private Integer num;
/**提货时间*/
@Excel(name = "提货时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")


+ 40
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/UpdateOrderReq.java View File

@ -0,0 +1,40 @@
package org.jeecg.modules.postBean;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 订单表
* @Author: jeecg-boot
* @Date: 2024-10-20
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="确认/取消订单", description="确认/取消订单")
public class UpdateOrderReq implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String orderId;
/**0 确认订单 1取消订单、*/
@ApiModelProperty(value = "0 确认订单 1取消订单")
private Integer type;
}

+ 2
- 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/ProductService.java View File

@ -3,6 +3,7 @@ package org.jeecg.modules.product.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.postBean.ProductOrderReq;
import org.jeecg.modules.postBean.UpdateOrderReq;
import org.jeecg.modules.product.entity.ProductReq;
import org.jeecg.modules.product.entity.TbProduct;
@ -18,6 +19,7 @@ public interface ProductService extends IService<TbProduct> {
Result addProductOrder(ProductOrderReq productReq, String token);
Result updateOrder(UpdateOrderReq updateOrderReq, String token);
}

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

@ -3,11 +3,13 @@ package org.jeecg.modules.product.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.jeecg.common.api.vo.Result;
import org.jeecg.config.shiro.ShiroRealm;
import org.jeecg.modules.hanHaiMember.entity.HanHaiMember;
import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService;
import org.jeecg.modules.postBean.ProductOrderReq;
import org.jeecg.modules.postBean.UpdateOrderReq;
import org.jeecg.modules.product.entity.ProductReq;
import org.jeecg.modules.product.entity.TbProduct;
import org.jeecg.modules.product.mapper.TbProductMapper;
@ -25,6 +27,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
* @Description: 产品报价表
@ -71,11 +74,11 @@ public class ProductServiceImpl extends ServiceImpl<TbProductMapper, TbProduct>
HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token);
QueryWrapper<TbProduct> productQueryWrapper = new QueryWrapper<>();
productQueryWrapper.eq("id", productReq.getProductId());
TbProduct one = tbProductService.getOne(productQueryWrapper);
if (ValidateTool.isNull(one)){
TbProduct product = tbProductService.getOne(productQueryWrapper);
if (ValidateTool.isNull(product)){
return Result.error("订单信息错误");
}
if (one.getAuditStatus()!=1 || one.getShowStatus()!=0){
if (product.getAuditStatus()!=1 || product.getShowStatus()!=0){
return Result.error("订单状态异常,请刷新");
}
QueryWrapper<TbUserRole> objectQueryWrapper = new QueryWrapper<>();
@ -83,19 +86,53 @@ public class ProductServiceImpl extends ServiceImpl<TbProductMapper, TbProduct>
TbUserRole one2 = tbUserRoleService.getOne(objectQueryWrapper);
TbProductOrder tbProductOrder = new TbProductOrder();
BeanUtils.copyProperties(productReq, tbProductOrder);
tbProductOrder.setBuyUserId(one.getBuyUserId());
if (ValidateTool.isNull(productReq.getNum())){
return Result.error("请选择数量");
}
if (productReq.getNum()>product.getNum()){
return Result.error("产品数量不足");
}
// 总价
BigDecimal multiply = new BigDecimal(productReq.getNum()).multiply(product.getPrice());
tbProductOrder.setId(IdWorker.getIdStr());
tbProductOrder.setDeposit(multiply.multiply(new BigDecimal("0.1")));
tbProductOrder.setAddress(product.getAddress());
tbProductOrder.setAddressId(product.getAddressId());
tbProductOrder.setBuyUserId(hanHaiMember.getId());
tbProductOrder.setProductId(productReq.getProductId());
tbProductOrder.setUserName(one2.getCompanyName());
tbProductOrder.setPhone(one.getPhone());
tbProductOrder.setPhone(one2.getPhone());
tbProductOrder.setPic(product.getPic());
tbProductOrder.setPrice(product.getPrice());
tbProductOrder.setTakeTime(productReq.getTakeTime());
LambdaQueryWrapper<TbUserRole> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
objectLambdaQueryWrapper.eq(TbUserRole::getUserId,one.getUserId()).
objectLambdaQueryWrapper.eq(TbUserRole::getUserId,product.getUserId()).
eq(TbUserRole::getRole,1).eq(TbUserRole::getAuditStatus,1);
TbUserRole one1 = tbUserRoleService.getOne(objectLambdaQueryWrapper);
JSONObject jsonObject = new JSONObject();
tbProductOrder.setCompanyName(one1.getCompanyName());
jsonObject.put("bankAccount",one1.getBankAccount());
jsonObject.put("companyName",one1.getCompanyName());
jsonObject.put("bankNama",one1.getBankNama());
jsonObject.put("bankName",one1.getBankNama());
jsonObject.put("orderId",tbProductOrder.getId());
tbProductOrderService.save(tbProductOrder);
return Result.OK(jsonObject);
}
@Transactional
@Override
public Result updateOrder(UpdateOrderReq updateOrderReq, String token) {
TbProductOrder order = tbProductOrderService.getById(updateOrderReq.getOrderId());
if (ValidateTool.isNull(order)){
return Result.error("订单信息错误");
}
if (updateOrderReq.getType()==0){
order.setOrderFlag(1);
}
if (updateOrderReq.getType()==1){
order.setOrderFlag(2);
}
tbProductOrderService.updateById(order);
return Result.OK();
}
}

Loading…
Cancel
Save