Browse Source

提交充值记录信息

cangku
Houpn 3 years ago
parent
commit
4208409386
  1. 9
      hiver-core/src/main/java/cc/hiver/core/dao/RechargeDao.java
  2. 109
      hiver-core/src/main/java/cc/hiver/core/entity/Recharge.java
  3. 29
      hiver-core/src/main/java/cc/hiver/core/service/RechargeService.java
  4. 49
      hiver-core/src/main/java/cc/hiver/core/serviceimpl/OrderServiceImpl.java
  5. 90
      hiver-core/src/main/java/cc/hiver/core/serviceimpl/RechargeServiceImpl.java
  6. 47
      hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/RechargeController.java
  7. 30
      hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/WorkerController.java

9
hiver-core/src/main/java/cc/hiver/core/dao/RechargeDao.java

@ -0,0 +1,9 @@
package cc.hiver.core.dao;
import cc.hiver.core.base.HiverBaseDao;
import cc.hiver.core.entity.Courier;
import cc.hiver.core.entity.Recharge;
public interface RechargeDao extends HiverBaseDao<Recharge, String> {
}

109
hiver-core/src/main/java/cc/hiver/core/entity/Recharge.java

@ -0,0 +1,109 @@
package cc.hiver.core.entity;
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 java.io.Serializable;
import java.util.Date;
@Data
@Entity
@Accessors(chain = true)
@DynamicInsert
@DynamicUpdate
@Table(name = "t_recharge_log")
@TableName("t_recharge_log")
@ApiModel(value = "押金充值记录管理")
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"})
public class Recharge implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 充值记录编号
*/
@Id
@ApiModelProperty("充值编号")
@Column(name = "recharge_id", nullable = false)
private String rechargeId = "RZ"+SnowFlakeUtil.nextId().toString();
/**
* 被充值人名称
*/
@ApiModelProperty("充值名称")
@Column(name = "recharge_name")
private String rechargeName;
/**
* 被充值人编号
*/
@ApiModelProperty("被充值人编号")
@Column(name = "recharge_worker_id")
private String rechargeWorkerId;
/**
* 充值简介
*/
@ApiModelProperty("充值简介")
@Column(name = "recharge_describe")
private String rechargeDescribe;
/**
* 缴押金总额
*/
@Column(name = "recharge_num")
@ApiModelProperty("当次缴纳")
private Integer rechargeNum = 0;
@ApiModelProperty("充值创建人")
@CreatedBy
@TableField(fill = FieldFill.INSERT)
private String createBy;
@CreatedDate
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("充值创建时间")
private Date createTime;
@ApiModelProperty("充值修改人")
@LastModifiedBy
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
@LastModifiedDate
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "充值修改时间")
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 联系方式
*/
@Column(name = "mobile")
@ApiModelProperty("联系方式")
private String mobile;
}

29
hiver-core/src/main/java/cc/hiver/core/service/RechargeService.java

@ -0,0 +1,29 @@
package cc.hiver.core.service;
import cc.hiver.core.base.HiverBaseService;
import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.entity.Courier;
import cc.hiver.core.entity.Recharge;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
/**
* 用户接口
*
* @author Houpn
*/
@CacheConfig(cacheNames = "recharge")
public interface RechargeService extends HiverBaseService<Recharge, String> {
/**
* 多条件分页获取充值记录
*
* @param Recharge
* @param searchVo
* @param pageable
* @return
*/
Page<Recharge> findByCondition(Recharge recharge, SearchVo searchVo, Pageable pageable);
}

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

@ -110,28 +110,35 @@ public class OrderServiceImpl implements OrderService {
@Override
public Predicate toPredicate(Root<OrderXd> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<String> orderIdField = root.get("orderId");
Path<String> norderLogisticsField = root.get("orderLogistics");
Path<String> orderLogisticsField = root.get("orderLogistics");
Path<String> kdOrderIdField = root.get("kdOrderId");
Path<String> timeoutField = root.get("timeout");
Path<Integer> orderStatusdField = root.get("orderStatus");
Path<String> orderByWorkerField = root.get("orderByWorker");
//抢单时间
Path<Date> createTimeField = root.get("orderByWorkertime");
Path<String> regionField = root.get("region");
List<Predicate> list = new ArrayList<>();
if (StrUtil.isNotBlank(order.getOrderId())) {
list.add(cb.equal(orderIdField, order.getOrderId()));
//区域条件
if (StrUtil.isNotBlank(order.getRegion())) {
list.add(cb.equal(regionField,order.getRegion()));
}
// 精确搜索
//物流方式限制
if (StrUtil.isNotBlank(order.getOrderLogistics())) {
list.add(cb.equal(norderLogisticsField, order.getOrderLogistics()));
}
if (StrUtil.isNotBlank(order.getKdOrderId())) {
list.add(cb.like(kdOrderIdField, order.getKdOrderId()));
list.add(cb.equal(orderLogisticsField,order.getOrderLogistics()));
}
//订单工编号应该为空
/*if(StrUtil.isNotBlank(order.getOrderByWorker())){
list.add(cb.equal(orderLogisticsField,order.getOrderLogistics()));
}else{
list.add(cb.or(cb.isNull(orderByWorkerField),cb.equal(orderByWorkerField,order.getOrderByWorker())));
}*/
if (StrUtil.isNotBlank(order.getTimeout())) {
list.add(cb.equal(timeoutField, order.getTimeout()));
}
@ -141,8 +148,17 @@ public class OrderServiceImpl implements OrderService {
list.add(cb.equal(orderStatusdField, order.getOrderStatus()));
}
if (StrUtil.isNotBlank(order.getOrderByWorker())) {
list.add(cb.equal(orderByWorkerField, order.getOrderByWorker()));
if (StrUtil.isNotBlank(order.getOrderId())) {
list.add(cb.equal(orderIdField, order.getOrderId()));
}
if (StrUtil.isNotBlank(order.getKdOrderId())) {
list.add(cb.like(kdOrderIdField, order.getKdOrderId()));
}
if (StrUtil.isNotBlank(order.getTimeout())) {
list.add(cb.equal(timeoutField, order.getTimeout()));
}
// 创建时间
if (StrUtil.isNotBlank(searchVo.getStartDate()) && StrUtil.isNotBlank(searchVo.getEndDate())) {
@ -168,7 +184,7 @@ public class OrderServiceImpl implements OrderService {
@Override
public Predicate toPredicate(Root<OrderXd> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<String> orderIdField = root.get("orderId");
Path<String> norderLogisticsField = root.get("orderLogistics");
Path<String> orderLogisticsField = root.get("orderLogistics");
Path<String> kdOrderIdField = root.get("kdOrderId");
Path<String> timeoutField = root.get("timeout");
Path<Integer> orderStatusdField = root.get("orderStatus");
@ -184,12 +200,15 @@ public class OrderServiceImpl implements OrderService {
}
//物流方式限制
if (StrUtil.isNotBlank(order.getOrderLogistics())) {
list.add(cb.equal(norderLogisticsField,order.getOrderLogistics()));
list.add(cb.equal(orderLogisticsField,order.getOrderLogistics()));
}
//订单工编号应该为空
list.add(cb.or(cb.isNull(orderByWorkerField),cb.equal(orderByWorkerField,order.getOrderByWorker())));
if(StrUtil.isNotBlank(order.getOrderByWorker())){
list.add(cb.equal(orderLogisticsField,order.getOrderLogistics()));
}else{
list.add(cb.or(cb.isNull(orderByWorkerField),cb.equal(orderByWorkerField,order.getOrderByWorker())));
}
if (StrUtil.isNotBlank(order.getTimeout())) {
list.add(cb.equal(timeoutField, order.getTimeout()));

90
hiver-core/src/main/java/cc/hiver/core/serviceimpl/RechargeServiceImpl.java

@ -0,0 +1,90 @@
package cc.hiver.core.serviceimpl;
import cc.hiver.core.common.utils.SecurityUtil;
import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.dao.RechargeDao;
import cc.hiver.core.entity.Recharge;
import cc.hiver.core.service.RechargeService;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 用户接口实现
*
* @author houpn
*/
@Slf4j
@Service
@Transactional
public class RechargeServiceImpl implements RechargeService {
@Autowired
private RechargeDao rechargeDao;
@Autowired
private SecurityUtil securityUtil;
@Override
public RechargeDao getRepository() {
return rechargeDao;
}
@Override
public Page<Recharge> findByCondition(Recharge recharge, SearchVo searchVo, Pageable pageable) {
return rechargeDao.findAll(new Specification<Recharge>() {
@Nullable
@Override
public Predicate toPredicate(Root<Recharge> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<String> rechargeIdField = root.get("rechargeId");
Path<String> rechargeWorkerIdField = root.get("rechargeWorkerId");
Path<String> rechargeNameField = root.get("rechargeName");
Path<String> mobileField = root.get("mobile");
Path<Date> createTimeField = root.get("createTime");
List<Predicate> list = new ArrayList<>();
/*if (StrUtil.isNotBlank(recharge.getRechargeId())) {
list.add(cb.equal(rechargeIdField, recharge.getRechargeId()));
}*/
if (StrUtil.isNotBlank(recharge.getRechargeWorkerId())) {
list.add(cb.equal(rechargeWorkerIdField, recharge.getRechargeWorkerId()));
}
// 模糊搜素
if (StrUtil.isNotBlank(recharge.getRechargeName())) {
list.add(cb.like(rechargeNameField, '%' + recharge.getRechargeName() + '%'));
}
// 模糊搜素
if (StrUtil.isNotBlank(recharge.getMobile())) {
list.add(cb.like(mobileField, '%' + recharge.getMobile() + '%'));
}
// 创建时间
if (StrUtil.isNotBlank(searchVo.getStartDate()) && StrUtil.isNotBlank(searchVo.getEndDate())) {
Date start = DateUtil.parse(searchVo.getStartDate());
Date end = DateUtil.parse(searchVo.getEndDate());
list.add(cb.between(createTimeField, start, DateUtil.endOfDay(end)));
}
// 数据权限
Predicate[] arr = new Predicate[list.size()];
cq.where(list.toArray(arr));
return null;
}
}, pageable);
}
}

47
hiver-modules/hiver-base/src/main/java/cc/hiver/base/controller/manage/RechargeController.java

@ -0,0 +1,47 @@
package cc.hiver.base.controller.manage;
import cc.hiver.core.common.utils.PageUtil;
import cc.hiver.core.common.utils.ResultUtil;
import cc.hiver.core.common.vo.PageVo;
import cc.hiver.core.common.vo.Result;
import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.entity.Recharge;
import cc.hiver.core.service.RechargeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.data.domain.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
/**
* 充值记录管理接口
*
* @author houpn
*/
@Slf4j
@RestController
@Api(tags = "充值记录管理接口")
@RequestMapping("/hiver/recharge")
@Transactional
public class RechargeController {
public static final String recharge = "recharge::";
@Autowired
private RechargeService rechargeService;
@RequestMapping(value = "/getByCondition", method = RequestMethod.GET)
@ApiOperation(value = "多条件分页获取订单列表")
public Result<Page<Recharge>> getByCondition(Recharge recharge,
SearchVo searchVo,
PageVo pageVo) {
Page<Recharge> page = rechargeService.findByCondition(recharge, searchVo, PageUtil.initPage(pageVo));
return new ResultUtil<Page<Recharge>>().setData(page);
}
}

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

@ -11,7 +11,9 @@ import cc.hiver.core.common.vo.Result;
import cc.hiver.core.common.vo.SearchVo;
import cc.hiver.core.dao.mapper.DeleteMapper;
import cc.hiver.core.entity.Courier;
import cc.hiver.core.entity.Recharge;
import cc.hiver.core.entity.Worker;
import cc.hiver.core.service.RechargeService;
import cc.hiver.core.service.WorkerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -43,6 +45,8 @@ public class WorkerController {
@Autowired
private WorkerService workerService;
@Autowired
private RechargeService rechargeService;
@Autowired
private DeleteMapper deleteMapper;
@ -84,12 +88,27 @@ public class WorkerController {
public Result add(@Valid Worker u,
@RequestParam(required = false) String[] roleIds) {
//更新充值记录
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(u.getDepoBal() + u.getDepoNum());
u.setDepoNum(0);
workerService.save(u);
// 发送创建账号消息
//addMessage.addSendMessage(user.getId());
return ResultUtil.success("创建成功");
@ -102,6 +121,17 @@ public class WorkerController {
//修改抢单工信息时如涉及到充值押金情况,需要更新余额且重置应缴
if(u.getDepoNum()>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);
Worker worker = workerService.findById(u.getWorkerId());
u.setDepoBal(worker.getDepoBal() + u.getDepoNum());
u.setDepoNum(0);

Loading…
Cancel
Save