Browse Source

Merge branch 'dev-new-houpn' into dev

cangku
Houpn 3 years ago
parent
commit
21f70574e6
  1. 18
      hiver-core/src/main/java/cc/hiver/core/common/utils/BeanUtils.java
  2. 2
      hiver-core/src/main/java/cc/hiver/core/entity/Worker.java
  3. 161
      hiver-core/src/main/java/cc/hiver/core/vo/WorkerAppVO.java
  4. 7
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/LogiticsCompanyController.java
  5. 30
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/WorkerController.java

18
hiver-core/src/main/java/cc/hiver/core/common/utils/BeanUtils.java

@ -15,9 +15,14 @@ limitations under the License.
*/ */
package cc.hiver.core.common.utils; package cc.hiver.core.common.utils;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -117,4 +122,17 @@ public class BeanUtils {
public static boolean isMethodPropEquals(String m1, String m2) { public static boolean isMethodPropEquals(String m1, String m2) {
return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX)); return m1.substring(BEAN_METHOD_PROP_INDEX).equals(m2.substring(BEAN_METHOD_PROP_INDEX));
} }
public static String[] getNullPropertyNames(Object source) {
final BeanWrapper src = new BeanWrapperImpl(source);
java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors();
Set<String> emptyNames = new HashSet<>();
for (java.beans.PropertyDescriptor pd : pds) {
Object srcValue = src.getPropertyValue(pd.getName());
if (srcValue == null || srcValue == "") emptyNames.add(pd.getName());
}
String[] result = new String[emptyNames.size()];
return emptyNames.toArray(result);
}
} }

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

@ -170,7 +170,7 @@ public class Worker implements Serializable {
*/ */
@ApiModelProperty("登录账号") @ApiModelProperty("登录账号")
@Column(name = "username") @Column(name = "username")
@Pattern(regexp = NameUtil.regUsername, message = "登录账号不能包含中文、特殊字符 长度不能>16") //@Pattern(regexp = NameUtil.regUsername, message = "登录账号不能包含中文、特殊字符 长度不能>16")
private String username; private String username;
/** /**

161
hiver-core/src/main/java/cc/hiver/core/vo/WorkerAppVO.java

@ -0,0 +1,161 @@
package cc.hiver.core.vo;
import cc.hiver.core.common.utils.NameUtil;
import cc.hiver.core.common.utils.SnowFlakeUtil;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ApiModel(value = "抢单工管理")
public class WorkerAppVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 抢单工编号
*/
@ApiModelProperty("抢单工编号")
private String workerId = "W"+SnowFlakeUtil.nextId().toString();
/**
* 抢单工名称
*/
@ApiModelProperty("抢单工名称")
private String workerName;
/**
* 抢单工简介
*/
@ApiModelProperty("抢单工简介")
private String workerDescribe;
/**
* 缴押金总额
*/
@ApiModelProperty("缴押金总额")
private BigDecimal depoNum = new BigDecimal(0);
/**
* 押金余额
*/
@ApiModelProperty("押金余额")
private BigDecimal depoBal = new BigDecimal(0);
/**
* 接单状态 1-可抢单 2-不可接单(押金不足状态) 3-已禁用(手工预置状态)
*/
@ApiModelProperty("接单状态 1-可抢单 2-不可接单(押金不足状态) 3-已禁用(手工预置状态)")
private Integer workerStatus;
@ApiModelProperty("订单工创建人")
private String createBy;
@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 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 mobile;
/**
* 订单与抢单工映射关系
*
* 多端中的列键值外键指向一端 一对多的单向关联我们还是推荐使用一张中间表来建立关系
*/
/*@OneToMany(targetEntity = Order.class,mappedBy = "orderByWorker",cascade = CascadeType.ALL,fetch = FetchType.EAGER)
private List<Order> order;*/
/**
* 区域
*/
@ApiModelProperty("办公区域")
private String region;
/**
* 人员标识
*/
@ApiModelProperty("人员标识 1-扛包工 2-快递员")
private String signPerson;
/**
* 所属公司
*/
@ApiModelProperty("所属公司")
private String ownerCompany;
/**
* 描述
*/
@ApiModelProperty("人员运送内容标准")
private String remark;
/**
* 描述
*/
@ApiModelProperty("记录扛包工推送机器id")
private String clientId;
/**
* 扛包扣减固定金额
*/
@ApiModelProperty("扛包扣减固定金额")
private BigDecimal fixedAmount = new BigDecimal(0);
/**
* 登录账号
*/
@ApiModelProperty("登录账号")
private String username;
/**
* 登录密码
*/
@ApiModelProperty("登录密码")
private String password;
@ApiModelProperty(value = "省")
private String province;
@ApiModelProperty(value = "市")
private String city;
@ApiModelProperty(value = "县区")
private String area;
}

7
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/LogiticsCompanyController.java

@ -48,6 +48,13 @@ public class LogiticsCompanyController {
return new ResultUtil<List<LogiticsCompany>>().setData(list); return new ResultUtil<List<LogiticsCompany>>().setData(list);
} }
@RequestMapping(value = "/getBackAll", method = RequestMethod.GET)
@ApiOperation(value = "获取全部数据")
public Result<List<LogiticsCompany>> getBackAll(LogiticsCompany company) {
List<LogiticsCompany> list = companyService.findByCondition(company);
return new ResultUtil<List<LogiticsCompany>>().setData(list);
}
@RequestMapping(value = "/add", method = RequestMethod.POST) @RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "添加") @ApiOperation(value = "添加")

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

@ -8,6 +8,7 @@ import cc.hiver.core.service.WorkerService;
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.WorkerAppVO;
import cc.hiver.core.vo.WorkerQueryVO; 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;
@ -95,7 +96,7 @@ public class WorkerController {
@RequestMapping(value = "/admin/edit", method = RequestMethod.POST) @RequestMapping(value = "/admin/edit", method = RequestMethod.POST)
@ApiOperation(value = "修改抢单工信息", notes = "需要通过下单编号获取订单信息") @ApiOperation(value = "修改抢单工信息", notes = "需要通过下单编号获取订单信息")
public Result edit(@RequestBody Worker u) { public Result edit(Worker u) {
//修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴 //修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴
if(u.getDepoNum() != null && u.getDepoNum().compareTo(BigDecimal.ZERO)>0){ if(u.getDepoNum() != null && u.getDepoNum().compareTo(BigDecimal.ZERO)>0){
@ -118,6 +119,33 @@ public class WorkerController {
return ResultUtil.success("修改成功"); return ResultUtil.success("修改成功");
} }
@RequestMapping(value = "/admin/editApp", method = RequestMethod.POST)
@ApiOperation(value = "修改抢单工信息-APP", notes = "需要通过下单编号获取订单信息")
public Result editApp(WorkerAppVO u) {
//修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴
Worker worker = workerService.get(u.getWorkerId());
if(u.getDepoNum() != null && u.getDepoNum().compareTo(BigDecimal.ZERO)>0){
Recharge recharge = new Recharge();
recharge.setRechargeName(u.getWorkerName());
recharge.setRechargeDescribe(u.getWorkerDescribe());
recharge.setRechargeWorkerId(u.getWorkerId());
recharge.setRechargeNum(u.getDepoNum());
recharge.setMobile(u.getMobile());
rechargeService.save(recharge);
u.setDepoBal(worker.getDepoBal().add(u.getDepoNum()));
u.setDepoNum(new BigDecimal(0));
}
// 将SourceEntity的非空属性复制到TargetEntity中
org.springframework.beans.BeanUtils.copyProperties(u, worker, BeanUtils.getNullPropertyNames(u));
workerService.update(worker);
return ResultUtil.success("修改成功");
}
@RequestMapping(value = "/admin/disable/{workerId}", method = RequestMethod.POST) @RequestMapping(value = "/admin/disable/{workerId}", method = RequestMethod.POST)
@ApiOperation(value = "后台人工禁用抢单工") @ApiOperation(value = "后台人工禁用抢单工")
public Result disable(@ApiParam("用户唯一id标识") @PathVariable String workerId) { public Result disable(@ApiParam("用户唯一id标识") @PathVariable String workerId) {

Loading…
Cancel
Save