From 760edc51945d14e1c28977a81eeb4f37364da280 Mon Sep 17 00:00:00 2001 From: cgx <2606784146@qq.com> Date: Mon, 28 Oct 2024 16:07:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E8=AE=A2=E5=8D=95=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../productOrder/entity/TbProductOrder.java | 12 +++-- .../alUser/controller/ProductController.java | 18 +++++++- .../jeecg/modules/postBean/ProductOrderReq.java | 10 ----- .../org/jeecg/modules/postBean/UpdateOrderReq.java | 40 +++++++++++++++++ .../modules/product/service/ProductService.java | 2 + .../product/service/impl/ProductServiceImpl.java | 51 +++++++++++++++++++--- 6 files changed, 111 insertions(+), 22 deletions(-) create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/UpdateOrderReq.java diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/entity/TbProductOrder.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/entity/TbProductOrder.java index 21da303..40082cd 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/entity/TbProductOrder.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/productOrder/entity/TbProductOrder.java @@ -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; /**所属部门*/ 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 2d59a4c..d444c1d 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 @@ -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 updateOrder(@RequestBody UpdateOrderReq updateOrderReq, @RequestHeader("X-Access-Token") String token) { + + Result result = tbProductService.updateOrder(updateOrderReq, token); + return result; + } + + + } diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/ProductOrderReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/ProductOrderReq.java index a3ffec7..8f2fa1e 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/ProductOrderReq.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/ProductOrderReq.java @@ -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") diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/UpdateOrderReq.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/UpdateOrderReq.java new file mode 100644 index 0000000..c5fc1a7 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/postBean/UpdateOrderReq.java @@ -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; + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/ProductService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/ProductService.java index a5cec64..73f6a1f 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/ProductService.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/service/ProductService.java @@ -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 { Result addProductOrder(ProductOrderReq productReq, String token); + Result updateOrder(UpdateOrderReq updateOrderReq, String token); } 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 bb08c58..69ea1f1 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 @@ -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 HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); QueryWrapper 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 objectQueryWrapper = new QueryWrapper<>(); @@ -83,19 +86,53 @@ public class ProductServiceImpl extends ServiceImpl 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 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(); + } }