Browse Source

提交订单工和抢单信息

cangku
Houpn 3 years ago
parent
commit
6085d30759
  1. 30
      hiver-core/src/main/java/cc/hiver/core/entity/Worker.java
  2. 5
      hiver-core/src/main/java/cc/hiver/core/service/WorkerService.java
  3. 42
      hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java
  4. 81
      hiver-core/src/main/java/cc/hiver/core/vo/WorkerQueryVO.java
  5. 20
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/OrderController.java
  6. 22
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java
  7. 12
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/OrderXd.java

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

@ -1,5 +1,6 @@
package cc.hiver.core.entity; package cc.hiver.core.entity;
import cc.hiver.core.common.utils.NameUtil;
import cc.hiver.core.common.utils.SnowFlakeUtil; import cc.hiver.core.common.utils.SnowFlakeUtil;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
@ -20,6 +21,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*; import javax.persistence.*;
import javax.validation.constraints.Pattern;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -163,4 +165,32 @@ public class Worker implements Serializable {
@Column(name = "fixed_amount") @Column(name = "fixed_amount")
private BigDecimal fixedAmount = new BigDecimal(0); private BigDecimal fixedAmount = new BigDecimal(0);
/**
* 登录账号
*/
@ApiModelProperty("登录账号")
@Column(name = "username")
@Pattern(regexp = NameUtil.regUsername, message = "登录账号不能包含中文、特殊字符 长度不能>16")
private String username;
/**
* 登录密码
*/
@ApiModelProperty("登录密码")
@Column(name = "password")
private String password;
@ApiModelProperty(value = "省")
@Column(name = "province")
private String province;
@ApiModelProperty(value = "市")
@Column(name = "city")
private String city;
@ApiModelProperty(value = "县区")
@Column(name = "area")
private String area;
} }

5
hiver-core/src/main/java/cc/hiver/core/service/WorkerService.java

@ -3,10 +3,13 @@ package cc.hiver.core.service;
import cc.hiver.core.base.HiverBaseService; import cc.hiver.core.base.HiverBaseService;
import cc.hiver.core.common.vo.SearchVo; import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.entity.Worker; import cc.hiver.core.entity.Worker;
import cc.hiver.core.vo.WorkerQueryVO;
import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheConfig;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import java.util.List;
/** /**
* 用户接口 * 用户接口
* *
@ -29,5 +32,5 @@ public interface WorkerService extends HiverBaseService<Worker, String> {
Worker findByWorkerId(String workerId); Worker findByWorkerId(String workerId);
List<Worker> findByCondition(WorkerQueryVO worker);
} }

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

@ -5,6 +5,7 @@ import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.dao.WorkerDao; import cc.hiver.core.dao.WorkerDao;
import cc.hiver.core.entity.Worker; import cc.hiver.core.entity.Worker;
import cc.hiver.core.service.WorkerService; import cc.hiver.core.service.WorkerService;
import cc.hiver.core.vo.WorkerQueryVO;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -104,4 +105,45 @@ public class WorkerServiceImpl implements WorkerService {
public Worker findByWorkerId(String orderId) { public Worker findByWorkerId(String orderId) {
return workerDao.findByWorkerId(orderId); return workerDao.findByWorkerId(orderId);
} }
@Override
public List<Worker> findByCondition(WorkerQueryVO worker) {
return workerDao.findAll(new Specification<Worker>() {
@Nullable
@Override
public Predicate toPredicate(Root<Worker> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<Integer> workerStatusField = root.get("workerStatus");
Path<String> signPersonField = root.get("signPerson");
Path<String> regionField = root.get("region");
List<Predicate> list = new ArrayList<>();
if (StrUtil.isNotBlank(worker.getSignPerson())) {
list.add(cb.equal(signPersonField, worker.getSignPerson()));
}
if (worker.getWorkerStatus() != null) {
list.add(cb.equal(workerStatusField, 1));
}
if (StrUtil.isNotBlank(worker.getRegion())) {
list.add(cb.equal(regionField, worker.getRegion()));
}
if (StrUtil.isNotBlank(worker.getRegion())) {
list.add(cb.equal(regionField, worker.getRegion()));
}
// 数据权限
Predicate[] arr = new Predicate[list.size()];
cq.where(list.toArray(arr));
return null;
}
});
}
} }

81
hiver-core/src/main/java/cc/hiver/core/vo/WorkerQueryVO.java

@ -0,0 +1,81 @@
package cc.hiver.core.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.validation.constraints.NotNull;
import java.util.Date;
@Data
@ApiModel("订单工查询接口")
public class WorkerQueryVO {
/**
* 抢单工编号
*/
@ApiModelProperty("抢单工编号")
private String workerId;
/**
* 抢单工名称
*/
@ApiModelProperty("抢单工名称")
private String workerName;
/**
* 抢单工简介
*/
@ApiModelProperty("抢单工简介")
private String workerDescribe;
/**
* 缴押金总额
*/
@ApiModelProperty("缴押金总额")
private Integer depoNum;
/**
* 押金余额
*/
@ApiModelProperty("押金余额")
private Integer depoBal;
/**
* 接单状态 1-可抢单 2-不可接单(押金不足状态) 3-已禁用(手工预置状态)
*/
@ApiModelProperty("接单状态 1-可抢单 2-不可接单(押金不足状态) 3-已禁用(手工预置状态)")
private Integer workerStatus;
/**
* 联系方式
*/
@ApiModelProperty("联系方式")
private String mobile;
/**
* 区域
*/
@ApiModelProperty("办公区域")
private String region;
/**
* 人员标识
*/
@ApiModelProperty("人员标识 1-扛包工 2-快递员")
private String signPerson;
/**
* 所属公司
*/
@ApiModelProperty("所属公司")
private String ownerCompany;
}

20
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/OrderController.java

@ -92,23 +92,16 @@ public class OrderController {
@RequestMapping(value = "/admin/add", method = RequestMethod.POST) @RequestMapping(value = "/admin/add", method = RequestMethod.POST)
@ApiOperation(value = "创建订单") @ApiOperation(value = "创建订单")
public Result add(@Valid OrderXd u, public Result add(@Valid OrderXd u) {
@RequestParam(required = false) String[] roleIds) {
orderService.save(u); orderService.save(u);
// 发送创建账号消息 // 发送创建账号消息
//addMessage.addSendMessage(user.getId());
return ResultUtil.success("创建成功"); return ResultUtil.success("创建成功");
} }
@RequestMapping(value = "/admin/edit", method = RequestMethod.POST) @RequestMapping(value = "/admin/edit", method = RequestMethod.POST)
@ApiOperation(value = "修改订单", notes = "需要通过下单编号获取订单信息") @ApiOperation(value = "修改订单", notes = "需要通过下单编号获取订单信息")
public Result edit(OrderXd u, public Result edit(OrderXd u) {
@RequestParam(required = false) String[] roleIds) {
orderService.update(u); orderService.update(u);
return ResultUtil.success("修改成功"); return ResultUtil.success("修改成功");
} }
@ -140,11 +133,10 @@ public class OrderController {
orderxd.setOrderByWorker(u.getOrderByWorker()); orderxd.setOrderByWorker(u.getOrderByWorker());
// 更新订单状态为已抢单 // 更新订单状态为已抢单
orderxd.setOrderStatus(2); orderxd.setOrderStatus(2);
orderService.save(orderxd); orderService.update(orderxd);
return ResultUtil.success("抢单成功"); return ResultUtil.success("抢单成功");
}else { }else {
// 处理抢单失败的情况 return ResultUtil.error("该笔订单状态有误,请核实!");
throw new HiverException("抢单失败,订单状态已被修改");
} }
} catch (OptimisticLockingFailureException ex) { } catch (OptimisticLockingFailureException ex) {
// 处理乐观锁失败的情况 // 处理乐观锁失败的情况
@ -164,12 +156,16 @@ public class OrderController {
public Result revoke(@ApiParam("订单唯一id标识") @PathVariable String id) { public Result revoke(@ApiParam("订单唯一id标识") @PathVariable String id) {
OrderXd o = orderService.findByOrderId(id); OrderXd o = orderService.findByOrderId(id);
if (o != null && (o.getOrderStatus()==2)) {
o.setOrderByWorker(null); o.setOrderByWorker(null);
o.setOrderByWorkertime(null); o.setOrderByWorkertime(null);
o.setWorker(null); o.setWorker(null);
o.setOrderStatus(1); o.setOrderStatus(1);
orderService.update(o); orderService.update(o);
return ResultUtil.success("解绑成功"); return ResultUtil.success("解绑成功");
}else{
return ResultUtil.error("该笔订单已进入运送阶段,无法取消绑定!");
}
} }

22
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java

@ -8,6 +8,7 @@ import cc.hiver.mall.common.constant.WorkerConstant;
import cc.hiver.core.common.vo.PageVo; import cc.hiver.core.common.vo.PageVo;
import cc.hiver.core.common.vo.Result; import cc.hiver.core.common.vo.Result;
import cc.hiver.core.common.vo.SearchVo; import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.vo.WorkerQueryVO;
import cc.hiver.mall.entity.Recharge; import cc.hiver.mall.entity.Recharge;
import cc.hiver.mall.service.RechargeService; import cc.hiver.mall.service.RechargeService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* 订单工管理接口 * 订单工管理接口
@ -51,6 +53,13 @@ public class WorkerController {
} }
@RequestMapping(value = "/getByCondition", method = RequestMethod.GET)
@ApiOperation(value = "多条件获取订单列表-小程序")
public Result<List<Worker>> getByCondition(@RequestBody WorkerQueryVO worker) {
List<Worker> workerList = workerService.findByCondition(worker);
return new ResultUtil<List<Worker>>().setData(workerList);
}
@RequestMapping(value = "/delByIds", method = RequestMethod.POST) @RequestMapping(value = "/delByIds", method = RequestMethod.POST)
@ApiOperation(value = "批量通过ids删除") @ApiOperation(value = "批量通过ids删除")
@ -63,8 +72,7 @@ public class WorkerController {
@RequestMapping(value = "/admin/add", method = RequestMethod.POST) @RequestMapping(value = "/admin/add", method = RequestMethod.POST)
@ApiOperation(value = "创建抢单工") @ApiOperation(value = "创建抢单工")
public Result add(@Valid Worker u, public Result add(@Valid Worker u) {
@RequestParam(required = false) String[] roleIds) {
//更新充值记录 //更新充值记录
Recharge recharge = new Recharge(); Recharge recharge = new Recharge();
@ -80,22 +88,14 @@ public class WorkerController {
//更新余额,重置当次应缴 //更新余额,重置当次应缴
u.setDepoBal(u.getDepoBal().add(u.getDepoNum())); u.setDepoBal(u.getDepoBal().add(u.getDepoNum()));
u.setDepoNum(new BigDecimal(0)); u.setDepoNum(new BigDecimal(0));
workerService.save(u); workerService.save(u);
// 发送创建账号消息
//addMessage.addSendMessage(user.getId());
return ResultUtil.success("创建成功"); return ResultUtil.success("创建成功");
} }
@RequestMapping(value = "/admin/edit", method = RequestMethod.POST) @RequestMapping(value = "/admin/edit", method = RequestMethod.POST)
@ApiOperation(value = "修改抢单工信息", notes = "需要通过下单编号获取订单信息") @ApiOperation(value = "修改抢单工信息", notes = "需要通过下单编号获取订单信息")
public Result edit(Worker u, public Result edit(@RequestBody Worker u) {
@RequestParam(required = false) String[] roleIds) {
//修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴 //修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴
if(u.getDepoNum() != null && u.getDepoNum().compareTo(BigDecimal.ZERO)>0){ if(u.getDepoNum() != null && u.getDepoNum().compareTo(BigDecimal.ZERO)>0){

12
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/entity/OrderXd.java

@ -193,4 +193,16 @@ public class OrderXd implements Serializable {
@ApiModelProperty("version") @ApiModelProperty("version")
private Long version; private Long version;
@ApiModelProperty(value = "省")
@Column(name = "province")
private String province;
@ApiModelProperty(value = "市")
@Column(name = "city")
private String city;
@ApiModelProperty(value = "县区")
@Column(name = "area")
private String area;
} }

Loading…
Cancel
Save