Browse Source

提交订单管理/物流/快递人员/公司维护等功能

cangku
Houpn 3 years ago
parent
commit
0642d54bb1
  1. 31
      hiver-core/src/main/java/cc/hiver/core/entity/OrderXd.java
  2. 14
      hiver-core/src/main/java/cc/hiver/core/entity/Worker.java
  3. 1
      hiver-core/src/main/java/cc/hiver/core/service/OrderService.java
  4. 13
      hiver-core/src/main/java/cc/hiver/core/serviceimpl/OrderServiceImpl.java
  5. 5
      hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java
  6. 339
      hiver-core/src/main/java/cc/hiver/core/vo/OrderVO.java
  7. 4
      hiver-modules/hiver-app/src/main/java/cc/hiver/app/controller/admin/LogiticsCompanyController.java
  8. 3
      hiver-modules/hiver-app/src/main/java/cc/hiver/app/entity/LogiticsCompany.java
  9. 6
      hiver-modules/hiver-app/src/main/java/cc/hiver/app/service/LogiticsCompanyService.java
  10. 44
      hiver-modules/hiver-app/src/main/java/cc/hiver/app/serviceimpl/LogiticsCompanyServiceImpl.java
  11. 39
      hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/OrderController.java

31
hiver-core/src/main/java/cc/hiver/core/entity/OrderXd.java

@ -32,7 +32,7 @@ import java.util.Date;
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "t_order")
@Table(name = "t_order",uniqueConstraints=@UniqueConstraint(columnNames={"order_by_worker"}))
@TableName("t_order")
@ApiModel(value = "下单")
@EntityListeners(AuditingEntityListener.class)
@ -116,6 +116,13 @@ public class OrderXd implements Serializable {
@Column(name = "order_by_worker")
private String orderByWorker;
/**
* 抢单工编号
*/
@ApiModelProperty("快递员编号")
@Column(name = "order_by_courier")
private String orderByCourier;
/**
* 被抢单时间
*/
@ -163,8 +170,28 @@ public class OrderXd implements Serializable {
* 关联订单工
*/
@ManyToOne(targetEntity = Worker.class)
@JoinColumn(name="order_by_worker",insertable=false, updatable=false)
@JoinColumn(name="order_by_worker",referencedColumnName = "worker_id",foreignKey=@ForeignKey(ConstraintMode.NO_CONSTRAINT),insertable=false, updatable=false)
private Worker worker;
/**
* 关联快递员
*//*
@ManyToOne(targetEntity = Courier.class)
@JoinColumn(name="order_by_courier",referencedColumnName = "courier_id",foreignKey=@ForeignKey(ConstraintMode.NO_CONSTRAINT), insertable=false, updatable=false)
private Courier courier;*/
/**
* 运送公司
*/
@ApiModelProperty("运送公司")
@Column(name = "transCompany")
private String transCompany;
/**
* 乐观锁
*/
@Version
@ApiModelProperty("version")
private Long version;
}

14
hiver-core/src/main/java/cc/hiver/core/entity/Worker.java

@ -127,4 +127,18 @@ public class Worker implements Serializable {
@ApiModelProperty("办公区域")
private String region;
/**
* 人员标识
*/
@ApiModelProperty("人员标识 1-扛包工 2-快递员")
@Column(name = "signPerson")
private String signPerson;
/**
* 所属公司
*/
@ApiModelProperty("所属公司")
@Column(name = "ownerCompany")
private String ownerCompany;
}

1
hiver-core/src/main/java/cc/hiver/core/service/OrderService.java

@ -33,5 +33,4 @@ public interface OrderService extends HiverBaseService<OrderXd, String> {
Page<OrderXd> findAllByCondition(OrderXd order, SearchVo searchVo, Pageable pageable);
}

13
hiver-core/src/main/java/cc/hiver/core/serviceimpl/OrderServiceImpl.java

@ -4,8 +4,11 @@ import cc.hiver.core.common.utils.SecurityUtil;
import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.dao.OrderDao;
import cc.hiver.core.entity.Courier;
import cc.hiver.core.entity.OrderXd;
import cc.hiver.core.entity.Worker;
import cc.hiver.core.service.OrderService;
import cc.hiver.core.vo.OrderVO;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
@ -109,6 +112,8 @@ public class OrderServiceImpl implements OrderService {
@Nullable
@Override
public Predicate toPredicate(Root<OrderXd> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Join<Order,Worker> joinWorker = root.join("worker",JoinType.LEFT);
Path<String> orderIdField = root.get("orderId");
Path<String> orderLogisticsField = root.get("orderLogistics");
Path<String> kdOrderIdField = root.get("kdOrderId");
@ -122,6 +127,11 @@ public class OrderServiceImpl implements OrderService {
List<Predicate> list = new ArrayList<>();
//左关联--查询扛包工
if (StrUtil.isNotBlank(order.getOrderByWorker())) {
list.add((cb.equal(joinWorker.get("workerId"),orderByWorkerField)));
}
//区域条件
if (StrUtil.isNotBlank(order.getRegion())) {
list.add(cb.equal(regionField,order.getRegion()));
@ -176,7 +186,6 @@ public class OrderServiceImpl implements OrderService {
}, pageable);
}
@Override
public List<OrderXd> findByCondition(OrderXd order) {
return orderDao.findAll(new Specification<OrderXd>() {
@ -205,7 +214,7 @@ public class OrderServiceImpl implements OrderService {
//订单工编号应该为空
if(StrUtil.isNotBlank(order.getOrderByWorker())){
list.add(cb.equal(orderLogisticsField,order.getOrderLogistics()));
list.add(cb.equal(orderByWorkerField,order.getOrderByWorker()));
}else{
list.add(cb.or(cb.isNull(orderByWorkerField),cb.equal(orderByWorkerField,order.getOrderByWorker())));
}

5
hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java

@ -52,6 +52,8 @@ public class WorkerServiceImpl implements WorkerService {
Path<Integer> workerStatusField = root.get("workerStatus");
Path<String> mobileField = root.get("mobile");
Path<Date> createTimeField = root.get("createTime");
Path<Date> signPersonField = root.get("signPerson");
List<Predicate> list = new ArrayList<>();
@ -59,6 +61,9 @@ public class WorkerServiceImpl implements WorkerService {
list.add(cb.equal(workerIdField, worker.getWorkerId()));
}
if (StrUtil.isNotBlank(worker.getSignPerson())) {
list.add(cb.equal(signPersonField, worker.getSignPerson()));
}
// 模糊搜素
if (StrUtil.isNotBlank(worker.getWorkerName())) {
list.add(cb.like(workerNameField, '%' + worker.getWorkerName() + '%'));

339
hiver-core/src/main/java/cc/hiver/core/vo/OrderVO.java

@ -1,16 +1,29 @@
package cc.hiver.core.vo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.Column;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
@Data
@ApiModel("保存 ")
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("实体类")
public class OrderVO implements Serializable {
private static final long serialVersionUID = 1L;
@ -18,7 +31,6 @@ public class OrderVO implements Serializable {
/**
* 订单号默认前缀为XD
*/
@NotNull(message = "orderId can not null")
@ApiModelProperty("订单号,默认前缀为XD")
private String orderId;
@ -85,6 +97,12 @@ public class OrderVO implements Serializable {
@ApiModelProperty("抢单工编号")
private String orderByWorker;
/**
* 快递员编号
*/
@ApiModelProperty("快递员编号")
private String orderByCourier;
/**
* 被抢单时间
@ -92,4 +110,321 @@ public class OrderVO implements Serializable {
@ApiModelProperty("被抢单时间")
private Date orderByWorkertime;
/**
* 订单的手机号
*/
@ApiModelProperty("订单手机号")
private String mobile;
/**
* 快递员手机号
*/
@ApiModelProperty("快递员手机号")
private String kdMobile;
/**
* 扛包工手机号
*/
@ApiModelProperty("扛包工手机号")
private String kbMobile;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("订单创建时间")
private Date createTime;
@ApiModelProperty("订单创建人")
private String createBy;
@ApiModelProperty("订单修改人")
private String updateBy;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "订单修改时间")
private Date updateTime;
/**
* 订单区域
*/
@ApiModelProperty("订单所属区域")
private String region;
/**
* 快递员所属区域
*/
@ApiModelProperty("快递员所属区域")
private String kdRegion;
/**
* 扛包工所属区域
*/
@ApiModelProperty("扛包工所属区域")
private String kbRegion;
@ApiModelProperty("抢单工名称")
private String workerName;
@ApiModelProperty("快递员名称")
private String courierName;
@ApiModelProperty("快递所属公司")
private String kdCompany;
@ApiModelProperty("扛包所属公司")
private String kbCompany;
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public String getOrderAddress() {
return orderAddress;
}
public void setOrderAddress(String orderAddress) {
this.orderAddress = orderAddress;
}
public String getOrderLogistics() {
return orderLogistics;
}
public void setOrderLogistics(String orderLogistics) {
this.orderLogistics = orderLogistics;
}
public String getOrderDescribe() {
return orderDescribe;
}
public void setOrderDescribe(String orderDescribe) {
this.orderDescribe = orderDescribe;
}
public Integer getOrderNum() {
return orderNum;
}
public void setOrderNum(Integer orderNum) {
this.orderNum = orderNum;
}
public String getKdOrderId() {
return kdOrderId;
}
public void setKdOrderId(String kdOrderId) {
this.kdOrderId = kdOrderId;
}
public Boolean getTimeout() {
return timeout;
}
public void setTimeout(Boolean timeout) {
this.timeout = timeout;
}
public Integer getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(Integer orderStatus) {
this.orderStatus = orderStatus;
}
public Integer getOrderBkge() {
return orderBkge;
}
public void setOrderBkge(Integer orderBkge) {
this.orderBkge = orderBkge;
}
public String getOrderByWorker() {
return orderByWorker;
}
public void setOrderByWorker(String orderByWorker) {
this.orderByWorker = orderByWorker;
}
public String getOrderByCourier() {
return orderByCourier;
}
public void setOrderByCourier(String orderByCourier) {
this.orderByCourier = orderByCourier;
}
public Date getOrderByWorkertime() {
return orderByWorkertime;
}
public void setOrderByWorkertime(Date orderByWorkertime) {
this.orderByWorkertime = orderByWorkertime;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getKdMobile() {
return kdMobile;
}
public void setKdMobile(String kdMobile) {
this.kdMobile = kdMobile;
}
public String getKbMobile() {
return kbMobile;
}
public void setKbMobile(String kbMobile) {
this.kbMobile = kbMobile;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getKdRegion() {
return kdRegion;
}
public void setKdRegion(String kdRegion) {
this.kdRegion = kdRegion;
}
public String getKbRegion() {
return kbRegion;
}
public void setKbRegion(String kbRegion) {
this.kbRegion = kbRegion;
}
public String getWorkerName() {
return workerName;
}
public void setWorkerName(String workerName) {
this.workerName = workerName;
}
public String getCourierName() {
return courierName;
}
public void setCourierName(String courierName) {
this.courierName = courierName;
}
public String getKdCompany() {
return kdCompany;
}
public void setKdCompany(String kdCompany) {
this.kdCompany = kdCompany;
}
public String getKbCompany() {
return kbCompany;
}
public void setKbCompany(String kbCompany) {
this.kbCompany = kbCompany;
}
@Override
public String toString() {
return "OrderVO{" +
"orderId='" + orderId + '\'' +
", orderAddress='" + orderAddress + '\'' +
", orderLogistics='" + orderLogistics + '\'' +
", orderDescribe='" + orderDescribe + '\'' +
", orderNum=" + orderNum +
", kdOrderId='" + kdOrderId + '\'' +
", timeout=" + timeout +
", orderStatus=" + orderStatus +
", orderBkge=" + orderBkge +
", orderByWorker='" + orderByWorker + '\'' +
", orderByCourier='" + orderByCourier + '\'' +
", orderByWorkertime=" + orderByWorkertime +
", mobile='" + mobile + '\'' +
", kdMobile='" + kdMobile + '\'' +
", kbMobile='" + kbMobile + '\'' +
", createTime=" + createTime +
", createBy='" + createBy + '\'' +
", updateBy='" + updateBy + '\'' +
", updateTime=" + updateTime +
", region='" + region + '\'' +
", kdRegion='" + kdRegion + '\'' +
", kbRegion='" + kbRegion + '\'' +
", workerName='" + workerName + '\'' +
", courierName='" + courierName + '\'' +
", kdCompany='" + kdCompany + '\'' +
", kbCompany='" + kbCompany + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
OrderVO orderVO = (OrderVO) o;
return Objects.equals(orderId, orderVO.orderId) && Objects.equals(orderAddress, orderVO.orderAddress) && Objects.equals(orderLogistics, orderVO.orderLogistics) && Objects.equals(orderDescribe, orderVO.orderDescribe) && Objects.equals(orderNum, orderVO.orderNum) && Objects.equals(kdOrderId, orderVO.kdOrderId) && Objects.equals(timeout, orderVO.timeout) && Objects.equals(orderStatus, orderVO.orderStatus) && Objects.equals(orderBkge, orderVO.orderBkge) && Objects.equals(orderByWorker, orderVO.orderByWorker) && Objects.equals(orderByCourier, orderVO.orderByCourier) && Objects.equals(orderByWorkertime, orderVO.orderByWorkertime) && Objects.equals(mobile, orderVO.mobile) && Objects.equals(kdMobile, orderVO.kdMobile) && Objects.equals(kbMobile, orderVO.kbMobile) && Objects.equals(createTime, orderVO.createTime) && Objects.equals(createBy, orderVO.createBy) && Objects.equals(updateBy, orderVO.updateBy) && Objects.equals(updateTime, orderVO.updateTime) && Objects.equals(region, orderVO.region) && Objects.equals(kdRegion, orderVO.kdRegion) && Objects.equals(kbRegion, orderVO.kbRegion) && Objects.equals(workerName, orderVO.workerName) && Objects.equals(courierName, orderVO.courierName) && Objects.equals(kdCompany, orderVO.kdCompany) && Objects.equals(kbCompany, orderVO.kbCompany);
}
@Override
public int hashCode() {
return Objects.hash(orderId, orderAddress, orderLogistics, orderDescribe, orderNum, kdOrderId, timeout, orderStatus, orderBkge, orderByWorker, orderByCourier, orderByWorkertime, mobile, kdMobile, kbMobile, createTime, createBy, updateBy, updateTime, region, kdRegion, kbRegion, workerName, courierName, kdCompany, kbCompany);
}
}

4
hiver-modules/hiver-app/src/main/java/cc/hiver/app/controller/admin/LogiticsCompanyController.java

@ -45,8 +45,8 @@ public class LogiticsCompanyController {
@RequestMapping(value = "/getAll", method = RequestMethod.GET)
@ApiOperation(value = "获取全部数据")
public Result<List<LogiticsCompany>> getAll() {
List<LogiticsCompany> list = companyService.getAll();
public Result<List<LogiticsCompany>> getAll(LogiticsCompany company) {
List<LogiticsCompany> list = companyService.findByCondition(company);
return new ResultUtil<List<LogiticsCompany>>().setData(list);
}

3
hiver-modules/hiver-app/src/main/java/cc/hiver/app/entity/LogiticsCompany.java

@ -65,4 +65,7 @@ public class LogiticsCompany extends HiverBaseEntity {
@ApiModelProperty(value = "办公区域")
private String region;
@ApiModelProperty(value = "公司标签")
private String signCompany;
}

6
hiver-modules/hiver-app/src/main/java/cc/hiver/app/service/LogiticsCompanyService.java

@ -18,9 +18,12 @@ package cc.hiver.app.service;
import cc.hiver.app.entity.Company;
import cc.hiver.app.entity.LogiticsCompany;
import cc.hiver.core.base.HiverBaseService;
import cc.hiver.core.entity.OrderXd;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* @author Yazhi Li
*/
@ -41,4 +44,7 @@ public interface LogiticsCompanyService extends HiverBaseService<LogiticsCompany
* @return
*/
LogiticsCompany findByCompanyName(String companyName);
List<LogiticsCompany> findByCondition(LogiticsCompany logiticsCompany);
}

44
hiver-modules/hiver-app/src/main/java/cc/hiver/app/serviceimpl/LogiticsCompanyServiceImpl.java

@ -22,6 +22,7 @@ import cc.hiver.app.entity.LogiticsCompany;
import cc.hiver.app.service.CompanyService;
import cc.hiver.app.service.LogiticsCompanyService;
import cc.hiver.core.base.HiverBaseDao;
import cc.hiver.core.entity.OrderXd;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -58,11 +59,16 @@ public class LogiticsCompanyServiceImpl implements LogiticsCompanyService {
@Override
public Predicate toPredicate(Root<LogiticsCompany> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<String> companyNameField = root.get("companyName");
Path<String> signCompanyField = root.get("signCompany");
Path<String> contactsField = root.get("contacts");
Path<String> mobileField = root.get("mobile");
List<Predicate> list = new ArrayList<>();
if (StrUtil.isNotBlank(company.getSignCompany())) {
list.add(cb.equal(signCompanyField, company.getSignCompany() ));
}
if (StrUtil.isNotBlank(company.getCompanyName())) {
list.add(cb.like(companyNameField, '%' + company.getCompanyName() + '%'));
}
@ -86,4 +92,42 @@ public class LogiticsCompanyServiceImpl implements LogiticsCompanyService {
public LogiticsCompany findByCompanyName(String companyName) {
return companyDao.findByCompanyName(companyName);
}
@Override
public List<LogiticsCompany> findByCondition(LogiticsCompany company) {
return companyDao.findAll(new Specification<LogiticsCompany>() {
@Nullable
@Override
public Predicate toPredicate(Root<LogiticsCompany> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<String> companyNameField = root.get("companyName");
Path<String> signCompanyField = root.get("signCompany");
Path<String> contactsField = root.get("contacts");
Path<String> mobileField = root.get("mobile");
List<Predicate> list = new ArrayList<>();
if (StrUtil.isNotBlank(company.getSignCompany())) {
list.add(cb.equal(signCompanyField, company.getSignCompany() ));
}
if (StrUtil.isNotBlank(company.getCompanyName())) {
list.add(cb.like(companyNameField, '%' + company.getCompanyName() + '%'));
}
if (StrUtil.isNotBlank(company.getContacts())) {
list.add(cb.like(contactsField, '%' + company.getContacts() + '%'));
}
if (StrUtil.isNotBlank(company.getMobile())) {
list.add(cb.like(mobileField, '%' + company.getMobile() + '%'));
}
Predicate[] arr = new Predicate[list.size()];
cq.where(list.toArray(arr));
return null;
}
});
}
}

39
hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/OrderController.java

@ -1,5 +1,6 @@
package cc.hiver.base.controller.manage;
import cc.hiver.core.common.exception.HiverException;
import cc.hiver.core.common.redis.RedisTemplateHelper;
import cc.hiver.core.common.utils.*;
import cc.hiver.core.common.vo.PageVo;
@ -8,6 +9,7 @@ import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.dao.mapper.DeleteMapper;
import cc.hiver.core.entity.*;
import cc.hiver.core.service.*;
import cn.hutool.core.date.DateTime;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -15,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.dao.OptimisticLockingFailureException;
import org.springframework.data.domain.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@ -119,14 +122,28 @@ public class OrderController {
* 抢单过程需要进行分布式锁ID进行锁定用于抢单上述一是为了保证数据的最终一致性
*
*/
@RequestMapping(value = "/rush/order/{orderId}", method = RequestMethod.POST)
@RequestMapping(value = "/rush/order", method = RequestMethod.POST)
@ApiOperation(value = "抢单接口", notes = "需要通过下单编号获取订单信息后进行绑定")
//@ClearAndReloadCache(name = ORDER)
public Result rush(OrderXd u) {
orderService.update(u);
return ResultUtil.success("抢单成功");
try {
OrderXd orderxd = orderService.findByOrderId(u.getOrderId());
if (orderxd != null && orderxd.getOrderStatus()==1) {
orderxd.setOrderByWorkertime(new DateTime());
// 更新订单状态为已抢单
orderxd.setOrderStatus(2);
orderService.save(orderxd);
return ResultUtil.success("抢单成功");
} else {
// 处理抢单失败的情况
throw new CommonException("抢单失败,订单状态已被修改");
}
} catch (OptimisticLockingFailureException ex) {
// 处理乐观锁失败的情况
throw new CommonException("抢单失败,订单已被其他用户抢先抢单");
}
}
/**
@ -135,20 +152,16 @@ public class OrderController {
* 2.当前解绑操作暂定为 超时后手工解绑创建订单人享有解绑权限解绑后订单可重新进行抢单但是否需要标注将原接单人不可见
*
*/
@RequestMapping(value = "/unbind/order/{orderId}", method = RequestMethod.POST)
@RequestMapping(value = "/unbind/order/{id}", method = RequestMethod.POST)
@ApiOperation(value = "解绑订单接口", notes = "需要通过下单编号获取订单信息后进行解绑")
//@ClearAndReloadCache(name = ORDER)
public Result revoke(OrderXd u,
@ApiParam("订单唯一id标识") @PathVariable String orderId) {
public Result revoke(@ApiParam("订单唯一id标识") @PathVariable String id) {
OrderXd o = orderService.findById(orderId);
o.setOrderByWorker("");
OrderXd o = orderService.findByOrderId(id);
o.setOrderByWorker(null);
o.setOrderByWorkertime(null);
o.setWorker(null);
orderService.update(o);
o.setOrderStatus(1);
return ResultUtil.success("解绑成功");
}

Loading…
Cancel
Save