提交 8c9a8138 作者: 张小凤

RepoCash

上级 80e94c37
package com.mmc.payment.common;
import org.springframework.beans.BeanUtils;
import java.util.Objects;
/**
* @Author small
* @Date 2023/5/30 10:21
* @Version 1.0
*/
public class BeanCopyUtils {
public static <T> T properties(Object source, T target) {
if (Objects.isNull(source)) {
return target;
}
BeanUtils.copyProperties(source, target);
return target;
}
public static <T> T properties(Object source, Class<T> target) {
T t = null;
try {
t = target.newInstance();
if (Objects.isNull(source)) {
return t;
}
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
BeanUtils.copyProperties(source, t);
return t;
}
}
package com.mmc.payment.common;
/**
* @Author small
* @Date 2023/5/29 16:18
* @Version 1.0
*/
public enum FlyerAccountType {
YK(0, "游客"), PT(1, "普通用户"), GR(2, "个人飞手"), JG(3, "飞手机构");
FlyerAccountType(Integer code, String status) {
this.code = code;
this.status = status;
}
private Integer code;
private String status;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
package com.mmc.payment.common;
/**
* @Author small
* @Date 2023/5/30 10:47
* @Version 1.0
*/
public enum PortTypeEnum {
ADMIN_ACCOUNTS(0, "后台管理账号"), CLIENTS_AND_APPLETS(100, "客户端和小程序");
private Integer code;
private String name;
PortTypeEnum(Integer code, String name) {
this.code = code;
this.name = name;
}
public void setCode(Integer code) {
this.code = code;
}
public Integer getCode() {
return this.code;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
......@@ -397,7 +397,9 @@ public enum ResultEnum implements BaseErrorInfoInterface {
ALREADY_DIVIDE_ERROR("2011", "订单已分成"),
DIVIDE_OBJ_NOT_EXIST("2012", "先点击确认添加分成对象"),
THE_REQUEST_IS_NOT_AUTHENTICATED("2013","请求未经过鉴权"),
THE_TOKEN_IS_INVALID("2014","token失效") ;;
THE_TOKEN_IS_INVALID("2014","token失效"),
FAILED_TO_CHARGE_MONEY("2015","只有后台账号才能给小程序客户端充值") ,
NO_WALLET_FUNCTION("2016","后台账号无钱包功能") ;
/**
* 错误码
......
......@@ -3,11 +3,15 @@ package com.mmc.payment.controller;
import com.mmc.payment.common.BaseController;
import com.mmc.payment.common.ResultBody;
import com.mmc.payment.config.RepeatSubmit;
import com.mmc.payment.model.dto.CashTypeDTO;
import com.mmc.payment.model.dto.PayCashResultDTO;
import com.mmc.payment.model.dto.RepoCashDTO;
import com.mmc.payment.model.dto.RepoWalletDTO;
import com.mmc.payment.model.qo.RepoCashQO;
import com.mmc.payment.model.qo.UserCashQO;
import com.mmc.payment.model.vo.RepoCashVO;
import com.mmc.payment.model.vo.RepoOrderPayVO;
import com.mmc.payment.model.vo.WalletUsersVO;
import com.mmc.payment.service.RepoCashService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -29,70 +33,104 @@ import java.math.BigDecimal;
@RequestMapping("/repocash/")
public class RepoCashController extends BaseController {
@Autowired private RepoCashService repoCashService;
@Autowired private StringRedisTemplate stringRedisTemplate;
@ApiOperation(value = "web-订单支付")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = PayCashResultDTO.class)})
@PostMapping("orderPayment")
public PayCashResultDTO orderPayment(HttpServletRequest request, @RequestParam String orderNo) {
return repoCashService.orderPayment(this.getCurrentAccount(request), orderNo);
}
@ApiOperation(value = "支付订单-充值扣款")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = PayCashResultDTO.class)})
@ApiIgnore
@PostMapping("PayCashOrder")
public PayCashResultDTO feignPayCashOrder(@RequestBody RepoOrderPayVO orderPay) {
return repoCashService.payCashOrder(orderPay);
}
@ApiOperation(value = "当前用户剩余的余额")
@GetMapping("RemainingBalance")
public BigDecimal RemainingBalance(
@RequestParam(value = "repoAccountId", required = true) Integer repoAccountId) {
String s = stringRedisTemplate.opsForValue().get("R2023052814538712");
return repoCashService.RemainingBalance(repoAccountId);
}
@ApiOperation(value = "余额变更-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RepoCashDTO.class)})
@PostMapping("listPageCash")
public ResultBody listPageCash(@RequestBody RepoCashQO param) {
return ResultBody.success(repoCashService.listPageRepoCash(param));
}
@ApiOperation(value = "余额变更-修改备注")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("updateCashRemark")
public ResultBody updateCashRemark(@RequestParam Integer id, @RequestParam() String remark) {
repoCashService.updateCashRemark(id, remark);
return ResultBody.success();
}
@ApiOperation(value = "v1.0.1Yes-现金-充值")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@RepeatSubmit
@PostMapping("reqCash")
public ResultBody reqCash(HttpServletRequest request, @RequestBody RepoCashVO param) {
return repoCashService.reqCash(this.getCurrentAccount(request), param);
}
@ApiOperation(value = "v1.0.1-Yes现金-手动扣除")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@RepeatSubmit
@PostMapping("dedCash")
public ResultBody dedCash(HttpServletRequest request, @RequestBody RepoCashVO param) {
return repoCashService.dedCash(this.getCurrentAccount(request), param);
}
@ApiIgnore
@ApiOperation(value = "查询退款金额")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RepoCashDTO.class)})
@GetMapping("feignRefundInfo")
public RepoCashDTO feignRefundInfo(@RequestParam String refundNo) {
return repoCashService.getRefundInfo(refundNo);
}
@Autowired
private RepoCashService repoCashService;
@Autowired
private StringRedisTemplate stringRedisTemplate;
@ApiOperation(value = "现金管理列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RepoWalletDTO.class)})
@PostMapping("listPagePayManager")
public ResultBody<RepoWalletDTO> listPagePayManager(HttpServletRequest request, @RequestBody UserCashQO param) {
return ResultBody.success(repoCashService.listPagePayManager(this.getCurrentAccount(request), param));
}
@ApiOperation(value = "余额变更-分页-列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RepoCashDTO.class)})
@PostMapping("listPageCash")
public ResultBody<RepoCashDTO> listPageCash(HttpServletRequest request, @RequestBody RepoCashQO param) {
return ResultBody.success(repoCashService.listPageRepoCash(this.getCurrentAccount(request), param));
}
@ApiOperation(value = "现金类型")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RepoCashDTO.class)})
@PostMapping("cashType")
public ResultBody<CashTypeDTO> cashType() {
return repoCashService.cashType();
}
@ApiOperation(value = "v1.0.1-现金-充值/即扣款")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@RepeatSubmit
@PostMapping("reqCash")
public ResultBody reqCash(HttpServletRequest request, @RequestBody RepoCashVO param) {
return repoCashService.reqCash(this.getCurrentAccount(request), param);
}
@ApiOperation(value = "小程序用户生成时,用户钱包中用户同时生成————用于远程,前端不使用")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("walletUsers")
public ResultBody walletUsers(HttpServletRequest request, @RequestBody WalletUsersVO walletUsersVO) {
return repoCashService.walletUsers(this.getCurrentAccount(request), walletUsersVO);
}
@ApiIgnore
@ApiOperation(value = "web-订单支付")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = PayCashResultDTO.class)})
@PostMapping("orderPayment")
public PayCashResultDTO orderPayment(HttpServletRequest request, @RequestParam String orderNo) {
return repoCashService.orderPayment(this.getCurrentAccount(request), orderNo);
}
@ApiOperation(value = "支付订单-充值扣款")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = PayCashResultDTO.class)})
@ApiIgnore
@PostMapping("PayCashOrder")
public PayCashResultDTO feignPayCashOrder(@RequestBody RepoOrderPayVO orderPay) {
return repoCashService.payCashOrder(orderPay);
}
@ApiIgnore
@ApiOperation(value = "当前用户剩余的余额")
@GetMapping("RemainingBalance")
public BigDecimal RemainingBalance(
@RequestParam(value = "repoAccountId", required = true) Integer repoAccountId) {
String s = stringRedisTemplate.opsForValue().get("R2023052814538712");
return repoCashService.RemainingBalance(repoAccountId);
}
@ApiIgnore
@ApiOperation(value = "余额变更-修改备注")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("updateCashRemark")
public ResultBody updateCashRemark(@RequestParam Integer id, @RequestParam() String remark) {
repoCashService.updateCashRemark(id, remark);
return ResultBody.success();
}
@ApiIgnore
@ApiOperation(value = "v1.0.1-Yes现金-手动扣除")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@RepeatSubmit
@PostMapping("dedCash")
public ResultBody dedCash(HttpServletRequest request, @RequestBody RepoCashVO param) {
return repoCashService.dedCash(this.getCurrentAccount(request), param);
}
@ApiIgnore
@ApiOperation(value = "查询退款金额")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = RepoCashDTO.class)})
@GetMapping("feignRefundInfo")
public RepoCashDTO feignRefundInfo(@RequestParam String refundNo) {
return repoCashService.getRefundInfo(refundNo);
}
}
package com.mmc.payment.dao;
import com.mmc.payment.entity.CashTypeDO;
import com.mmc.payment.entity.RepoCashDO;
import com.mmc.payment.entity.RepoWalletDO;
import com.mmc.payment.model.qo.RepoCashQO;
import com.mmc.payment.model.qo.UserCashQO;
import com.mmc.payment.model.qo.WalletUsersQO;
import org.apache.ibatis.annotations.Mapper;
import java.math.BigDecimal;
......@@ -13,23 +16,35 @@ import java.util.List;
*/
@Mapper
public interface RepoCashDao {
RepoCashDO getRefundCashInfo(String refundNo);
RepoCashDO getRefundCashInfo(String refundNo);
void insertRepoCash(RepoCashDO rc);
void insertRepoCash(RepoCashDO rc);
void updateCashRemark(Integer id, String remark);
void updateCashRemark(Integer id, String remark);
List<RepoCashDO> listPagePFRepoCash(RepoCashQO param);
List<RepoCashDO> listPagePFRepoCash(RepoCashQO param);
int countPagePFRepoCash(RepoCashQO param);
int countPagePFRepoCash(RepoCashQO param);
RepoWalletDO getRepoWalletInfo(Integer repoAccountId);
RepoWalletDO getRepoWalletInfo(Integer repoAccountId);
void updateRepoWalletAmt(Integer repoAccountId, BigDecimal chageAmt);
void updateRepoWalletAmt(Integer repoAccountId, BigDecimal chageAmt);
BigDecimal RemainingBalance(Integer repoAccountId);
BigDecimal RemainingBalance(Integer repoAccountId);
void updateWalletAmt(Integer repoAccountId, BigDecimal addAmt, BigDecimal addPaid);
void updateWalletAmt(Integer repoAccountId, BigDecimal addAmt, BigDecimal addPaid);
void orderPayment(RepoCashDO repoCashDO);
void orderPayment(RepoCashDO repoCashDO);
int countPagePayManager(UserCashQO param);
List<RepoWalletDO> listPagePayManager(UserCashQO param);
List<RepoWalletDO> listWalletInfo(UserCashQO param);
void walletUsers(WalletUsersQO properties);
Integer findWalletUsers(WalletUsersQO properties);
List<CashTypeDO> cashType();
}
package com.mmc.payment.entity;
import com.mmc.payment.model.dto.CashTypeDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/30 19:59
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CashTypeDO implements Serializable {
private Integer id;
private String type;
public CashTypeDTO buildCashTypeDTO() {
return CashTypeDTO.builder().id(this.id)
.type(this.type).build();
}
}
package com.mmc.payment.entity;
import com.mmc.payment.common.FlyerAccountType;
import com.mmc.payment.model.dto.FlyerAccountDTO;
import com.mmc.payment.model.dto.FlyerInfoDTO;
import com.mmc.payment.model.dto.FlyerRcdTeamDTO;
import com.mmc.payment.model.vo.FlyerAccountVO;
import com.mmc.payment.model.vo.FlyerWorkStatusVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.StringUtils;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
/**
* @Author small
* @Date 2023/5/29 16:11
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FlyerAccountDO implements Serializable {
private static final long serialVersionUID = 6990172418648675316L;
private Integer id;
private String uid;
private String accountName;
private String phoneNum;
private Integer accountType;
private Integer realAuthStatus;
private Integer entAuthStatus;
private Integer workStatus;
private Integer serviceStatus;
private String openId;
private String unionId;
private String nickName;
private String resAddress;
private String headerImg;
private Double lon;
private Double lat;
private String ports;
private String remark;
private Integer deleted;
private Date createTime;
private Date updateTime;
private Integer sale;
private Integer white;
private Integer source;
private FlyerAccountDO rcdFlyer;
/**
* 辅助字段-start
*
* @return
*/
private String entName;
private Integer licStatus;
private FlyerEntInfoDO entInfo;
private Date rcdCreateTime;
private String rcdRemark;
private String flyerName;
private Integer protocolAuth;
private Integer electricAuth;
private Integer aviationAuth;
private Integer emergencyAuth;
private Integer superviseAuth;
private Integer universalAuth;
private Integer oilGasAuth;
private Integer demoAuth;
private Integer aviationOutAuth;
private Integer aviationInAuth;
private Integer commandAuth;
private Integer tmjAuth;
private String xeUserId;
public FlyerAccountDO(FlyerWorkStatusVO flyerWorkStatusVO) {
this.id=flyerWorkStatusVO.getId();
this.resAddress=flyerWorkStatusVO.getResAddress();
this.lon=flyerWorkStatusVO.getLon();
this.lat=flyerWorkStatusVO.getLat();
this.workStatus=flyerWorkStatusVO.getWorkStatus();
}
/**
* 辅助字段-end
*
* @return
*/
public FlyerAccountDTO builderFlyerAccountDTO(){
Integer white = 0;
if(rcdFlyer !=null && rcdFlyer.getSale() ==1){
white = 1;
}
return FlyerAccountDTO.builder().id(this.id).uid(this.uid).accountName(this.accountName).phoneNum(this.phoneNum).accountType(this.accountType)
.realAuthStatus(this.realAuthStatus).entAuthStatus(this.entAuthStatus).workStatus(this.workStatus)
.nickName(this.nickName).serviceStatus(this.serviceStatus).unionId(this.unionId)
.headerImg(this.headerImg).lon(this.lon).lat(this.lat).remark(this.remark).deleted(this.deleted).createTime(this.createTime)
.updateTime(this.updateTime).resAddress(this.resAddress).entName(this.entName).licStatus(this.licStatus)
.ports(StringUtils.isEmpty(this.ports) ? null
: new HashSet<String>(Arrays.asList(this.ports.split(","))))
.entInfo(this.entInfo == null ? null : this.entInfo.buildFlyerEntInfoDTO()).openId(this.openId)
.sale(this.sale)
.rcdFlyerAccountId(this.rcdFlyer == null ? null : this.rcdFlyer.getId())
.rcdUid(this.rcdFlyer == null ? null : this.rcdFlyer.getUid())
.rcdAccountName(this.rcdFlyer == null ? null : this.rcdFlyer.getAccountName())
.rcdNickName(this.rcdFlyer == null ? null : this.rcdFlyer.getNickName()).white(white).source(this.source).build();
}
public FlyerRcdTeamDTO builderFlyerRcdTeamDTO(){
return FlyerRcdTeamDTO.builder().FlyerAccountName(this.accountName).id(this.id).accountType(this.accountType)
.realAuthStatus(this.realAuthStatus).entAuthStatus(this.entAuthStatus).createTime(this.rcdCreateTime)
.phoneNum(this.phoneNum).nickName(this.nickName).remark(this.rcdRemark).uid(this.uid).build();
}
public FlyerAccountDO(FlyerAccountVO flyerAccountVO){
this.id=flyerAccountVO.getId();
this.uid=flyerAccountVO.getUid();
this.accountName=flyerAccountVO.getAccountName();
this.accountType=flyerAccountVO.getAccountType();
this.phoneNum=flyerAccountVO.getPhoneNum();
this.realAuthStatus=flyerAccountVO.getRealAuthStatus();
this.entAuthStatus=flyerAccountVO.getEntAuthStatus();
this.workStatus=flyerAccountVO.getWorkStatus();
this.nickName=flyerAccountVO.getNickName();
this.resAddress=flyerAccountVO.getResAddress();
this.headerImg=flyerAccountVO.getHeaderImg();
this.lon=flyerAccountVO.getLon();
this.lat=flyerAccountVO.getLat();
this.remark=flyerAccountVO.getRemark();
this.deleted=flyerAccountVO.getDeleted();
}
public FlyerInfoDTO buildFlyerInfoDTO(){
return FlyerInfoDTO.builder().id(this.id).flyerName(this.flyerName).licStatus(this.licStatus).phoneNum(this.phoneNum)
.protocolAuth(this.protocolAuth).electricAuth(this.electricAuth).aviationAuth(this.aviationAuth)
.emergencyAuth(this.emergencyAuth).superviseAuth(this.superviseAuth).universalAuth(this.universalAuth)
.oilGasAuth(this.oilGasAuth).demoAuth(this.demoAuth).aviationOutAuth(this.aviationOutAuth)
.aviationInAuth(this.aviationOutAuth).commandAuth(this.commandAuth).tmjAuth(this.tmjAuth).build();
}
/**
* 是否为飞手机构用户
*
* @return
*/
public boolean checkFlyerEnt() {
return (FlyerAccountType.JG.getCode().toString().equals(this.accountType.toString()));
}
/**
* 是否为飞手个人用户
*
* @return
*/
public boolean checkFlyer() {
return (FlyerAccountType.GR.getCode().toString().equals(this.accountType.toString()));
}
/**
* 是否为普通用户
*
* @return
*/
public boolean checkUsual() {
return (FlyerAccountType.PT.getCode().toString().equals(this.accountType.toString()));
}
}
package com.mmc.payment.entity;
import com.mmc.payment.model.dto.FlyerEntInfoDTO;
import com.mmc.payment.model.vo.EntFourValidateVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/29 16:12
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FlyerEntInfoDO implements Serializable {
private static final long serialVersionUID = -3400952137664644676L;
private Integer id;
private Integer flyerAccountId;
private String entName;
private Integer entCheckStatus;
private String entLegalPerson;
private String uscCode;
private String unLicImg;
private String bankName;
private String accountHolder;
private String bankAccount;
private String idNumber;
private String remark;
private Date createTime;
private Date updateTime;
/**
* 额外字段
*/
private Integer sumOfFlyer;
private Integer countOfAuthFlyer;
private String uid;
private String phoneNum;
private String resAddress;
private String nickName;
public FlyerEntInfoDTO buildFlyerEntInfoDTO(){
return FlyerEntInfoDTO.builder().id(this.id).uid(this.uid).phoneNum(this.phoneNum).resAddress(this.resAddress).nickName(this.nickName)
.flyerAccountId(this.flyerAccountId).entName(this.entName).entCheckStatus(this.entCheckStatus).entLegalPerson(this.entLegalPerson)
.uscCode(this.uscCode).unLicImg(this.unLicImg).bankName(this.bankName).accountHolder(this.accountHolder).bankAccount(this.bankAccount)
.idNumber(this.idNumber).remark(this.remark).createTime(this.createTime).updateTime(this.updateTime).sumOfFlyer(this.sumOfFlyer)
.countOfAuthFlyer(this.countOfAuthFlyer).build();
}
public FlyerEntInfoDO(EntFourValidateVO entFourValidateVO){
this.flyerAccountId=entFourValidateVO.getUserAccountId();
this.entLegalPerson=entFourValidateVO.getEntLegalPerson();
this.entName=entFourValidateVO.getEntName();
this.uscCode=entFourValidateVO.getUnifySocialCreditCode();
this.unLicImg=entFourValidateVO.getBusinessLicenseImg();
this.idNumber=entFourValidateVO.getIdNumber();
}
}
......@@ -27,6 +27,7 @@ public class RepoCashDO implements Serializable {
private Integer repoAccountId;
private String uid;
private String accountName;
private String userName;
private Integer orderInfoId;
private String orderNo;
private Integer skuInfoId;
......@@ -47,12 +48,21 @@ public class RepoCashDO implements Serializable {
private Integer updateUser;
private Date updateTime;
private String orderName;
private String type;
private BigDecimal cashFreeze;
public RepoCashDTO buildRepoCashDTO() {
return RepoCashDTO.builder().id(this.id).repoAccountId(this.repoAccountId).uid(this.uid)
.accountName(this.accountName).orderInfoId(this.orderInfoId).orderNo(this.orderNo)
.skuInfoId(this.skuInfoId).skuTitle(this.skuTitle).wareInfoId(this.wareInfoId).wareNo(this.wareNo)
.wareTitle(this.wareTitle).payNo(this.payNo).payMethod(this.payMethod).amtPaid(this.amtPaid)
.refundNo(this.refundNo).createUser(this.createUser)
.userName(this.userName)
.orderName(this.orderName)
.type(this.type)
.cashFreeze(this.cashFreeze)
.voucher(StringUtils.isBlank(this.voucher) ? null : Arrays.asList(this.voucher.split(",")))
.cashAmt(this.cashAmt).payTime(this.payTime).remark(this.remark).build();
}
......
......@@ -30,6 +30,11 @@ public class RepoWalletDO implements Serializable {
private String remark;
private Date updateTime;
private Date createTime;
private String phoneNum;
private String userName;
private String nickName;
private Integer portType;
private String uid;
public void initWallet(Integer repoAccountId) {
this.repoAccountId = repoAccountId;
......@@ -40,9 +45,17 @@ public class RepoWalletDO implements Serializable {
}
public RepoWalletDTO buildRepoWalletDTO() {
return RepoWalletDTO.builder().id(this.id).repoAccountId(this.repoAccountId).cashAmt(this.cashAmt)
.cashPaid(this.cashPaid).cashFreeze(this.cashFreeze).rcdRebateAmt(this.rcdRebateAmt).rebateWdl(this.rebateWdl)
.rebateFreeze(this.rebateFreeze).remark(this.remark).build();
return RepoWalletDTO.builder().id(this.id).
repoAccountId(this.repoAccountId).
cashAmt(this.cashAmt).
cashPaid(this.cashPaid).
cashFreeze(this.cashFreeze)
.userName(this.userName)
.uid(this.uid)
.nickName(this.nickName)
.phoneNum(this.phoneNum).
portType(this.portType).
remark(this.remark).build();
}
/* public RepoRebateSubDTO buildRepoRebateSubDTO(){
......
package com.mmc.payment.model.dto;
import com.mmc.payment.common.PortTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -39,4 +41,7 @@ public class BaseAccountDTO implements Serializable {
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "0后台管理账号 ; 100云享飞-客户端")
private Integer portType;
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/5/30 20:00
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CashTypeDTO {
private static final long serialVersionUID = -5663270547201316327L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "type")
private String type;
}
package com.mmc.payment.model.dto;
import com.mmc.payment.common.FlyerAccountType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* @Author small
* @Date 2023/5/29 16:14
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.FlyerAccountDTO", description = "飞手端用户DTO")
public class FlyerAccountDTO implements Serializable {
private static final long serialVersionUID = -5663270547201316327L;
@ApiModelProperty(value = "飞手端用户id")
private Integer id;
@ApiModelProperty(value = "飞手端用户uid")
private String uid;
@ApiModelProperty(value = "飞手端用户名称")
private String accountName;
@ApiModelProperty(value = "联系电话")
private String phoneNum;
@ApiModelProperty(value = "飞手端用户类型,(个人飞手,机构)")
private Integer accountType;
@ApiModelProperty(value = "实名认证状态")
private Integer realAuthStatus;
@ApiModelProperty(value = "企业认证状态")
private Integer entAuthStatus;
@ApiModelProperty(value = "工作状态")
private Integer workStatus;
@ApiModelProperty(value = "常驻城市")
private String resAddress;
@ApiModelProperty(value = "openId")
private String openId;
@ApiModelProperty(value = "unionId")
private String unionId;
@ApiModelProperty(value = "昵称")
private String nickName;
@ApiModelProperty(value = "头像url")
private String headerImg;
@ApiModelProperty(value = "经度")
private Double lon;
@ApiModelProperty(value = "纬度")
private Double lat;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "删除状态,0未删除,1删除")
private Integer deleted;
@ApiModelProperty(value = "企业名称")
private String entName;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "有无订单:0无,1有")
private Integer serviceStatus;
@ApiModelProperty(value = "距离订单距离-单位km")
private Double orderDist;
@ApiModelProperty(value = "服务中的订单名称")
private List<String> orderNames;
@ApiModelProperty(value = "飞手认证状态")
private Integer licStatus;
@ApiModelProperty(value = "机构信息")
private FlyerEntInfoDTO entInfo;
@ApiModelProperty(value = "抢单状态-0否-1是")
private Integer applyOrder;
@ApiModelProperty(value = "多端用户,USER_PORT(云享飞)-FLYER_PORT(云飞手)-REPO_PORT(云仓)")
private Set<String> ports;
@ApiModelProperty(value = "推荐人ID")
private Integer rcdFlyerAccountId;
@ApiModelProperty(value = "推荐人昵称")
private String rcdNickName;
@ApiModelProperty(value = "推荐人uid")
private String rcdUid;
@ApiModelProperty(value = "推荐人账号名称")
private String rcdAccountName;
@ApiModelProperty(value = "已推荐用户数")
private Integer rcdUserNumber;
@ApiModelProperty(value = "是否销售")
private Integer sale;
@ApiModelProperty(value = "是否白名单")
private Integer white;
@ApiModelProperty(value = "用户来源:0自然流,1海报,2抖音,3公众号,4社群,5招投标,默认0")
private Integer source;
@ApiModelProperty(value = "订单信息")
private FlyerOrderTaskDTO flyerOrderTask;
@ApiModelProperty(value = "场景认证信息")
private FlyerScenesAuthDTO flyerScenesAuth;
/**
* 是否为飞手机构用户
*
* @return
*/
public boolean checkFlyerEnt() {
return (FlyerAccountType.JG.getCode().toString().equals(this.accountType.toString()));
}
/**
* 是否为飞手个人用户
*
* @return
*/
public boolean checkFlyer() {
return (FlyerAccountType.GR.getCode().toString().equals(this.accountType.toString()));
}
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/29 16:12
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.FlyerEntInfoDTO", description = "飞手机构DTO")
public class FlyerEntInfoDTO implements Serializable {
private static final long serialVersionUID = -3064900348178903673L;
@ApiModelProperty(value = "机构id")
private Integer id;
@ApiModelProperty(value = "飞手端用户id")
private Integer flyerAccountId;
@ApiModelProperty(value = "机构名称")
private String entName;
@ApiModelProperty(value = "机构认证审批状态")
private Integer entCheckStatus;
@ApiModelProperty(value = "机构法人名称")
private String entLegalPerson;
@ApiModelProperty(value = "社会统一信用码")
private String uscCode;
@ApiModelProperty(value = "营业执照url")
private String unLicImg;
@ApiModelProperty(value = "开户银行")
private String bankName;
@ApiModelProperty(value = "账户名称")
private String accountHolder;
@ApiModelProperty(value = "银行账号")
private String bankAccount;
@ApiModelProperty(value = "法人身份证号")
private String idNumber;
@ApiModelProperty(value = "机构备注")
private String remark;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "飞手总数")
private Integer sumOfFlyer;
@ApiModelProperty(value = "认证飞手数")
private Integer countOfAuthFlyer;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "用户手机号")
private String phoneNum;
@ApiModelProperty(value = "常驻城市")
private String resAddress;
@ApiModelProperty(value = "昵称")
private String nickName;
}
package com.mmc.payment.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/29 16:17
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.FlyerInfoDTO", description = "飞手信息DTO")
public class FlyerInfoDTO implements Serializable {
private static final long serialVersionUID = -5443010919398186590L;
@ApiModelProperty(value = "飞手信息表id")
private Integer id;
@ApiModelProperty(value = "飞手信息表uid")
private String uid;
@ApiModelProperty(value = "飞手id,个人飞手必填,机构飞手为空")
private Integer flyerAccountId;
@ApiModelProperty(value = "机构id")
private Integer flyerEntId;
@ApiModelProperty(value = "飞手类型,0个人飞手,1机构飞手 2机构")
private Integer flyerType;
@ApiModelProperty(value = "飞手姓名")
private String flyerName;
@ApiModelProperty(value = "飞行执照认证状态")
private Integer licStatus;
@ApiModelProperty(value = "飞手执照名称")
private String licName;
@ApiModelProperty(value = "飞手执照编号")
private String licNumber;
@ApiModelProperty(value = "飞行执照url")
private String licImg;
@ApiModelProperty(value = "联系电话")
private String phoneNum;
@ApiModelProperty(value = "身份证号")
private String idNumber;
@ApiModelProperty(value = "性别")
private Integer sex;
@ApiModelProperty(value = "民族")
private String nation;
@ApiModelProperty(value = "出生日期")
private Date birthday;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "签发机关")
private String signOrg;
@ApiModelProperty(value = "有效开始时间")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date startDate;
@ApiModelProperty(value = "有效结束时间")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date endDate;
@ApiModelProperty(value = "身份证正面照url")
private String frontIdImg;
@ApiModelProperty(value = "身份证背面照url")
private String backIdImg;
@ApiModelProperty(value = "实名认证备注")
private String authRemark;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "实名状态")
private Integer realAuthStatus;
@ApiModelProperty(value = "常驻地址")
private String resAddress;
private String entName;
private Integer entCheckStatus;
@ApiModelProperty(value = "飞手审核原因")
private String licCheckReason;
@ApiModelProperty(value = "电子执照认证提交时间")
private Date licCreateTime;
@ApiModelProperty(value = "电子执照认证审核时间")
private Date licUpdateTime;
@ApiModelProperty(value = "商务礼仪认证")
private Integer protocolAuth;
@ApiModelProperty(value = "电力巡检认证状态,0未认证,1通过,2未通过")
private Integer electricAuth;
@ApiModelProperty(value = "航空测绘认证状态,0未认证,1通过,2未通过", hidden = true)
private Integer aviationAuth;
@ApiModelProperty(value = "应急保障认证状态,0未认证,1通过,2未通过", hidden = true)
private Integer emergencyAuth;
@ApiModelProperty(value = "value = 监察巡检认证状态,0未认证,1通过,2未通过", hidden = true)
private Integer superviseAuth;
@ApiModelProperty(value = "通用认证状态,0未认证,1通过,2未通过")
private Integer universalAuth;
@ApiModelProperty(value = "油气巡检认证状态,0未认证,1通过,2未通过")
private Integer oilGasAuth;
@ApiModelProperty(value = "演示认证状态,0未认证,1通过,2未通过")
private Integer demoAuth;
@ApiModelProperty(value = "航空测绘外业状态,0未认证,1通过,2未通过")
private Integer aviationOutAuth;
@ApiModelProperty(value = "航空测绘内业状态,0未认证,1通过,2未通过")
private Integer aviationInAuth;
@ApiModelProperty(value = "指挥车认证状态,0未认证,1通过,2未通过")
private Integer commandAuth;
@ApiModelProperty(value = "天目将软件认证状态,0未认证,1通过,2未通过")
private Integer tmjAuth;
@ApiModelProperty(value = "0:无订单状态(空闲) 1:有订单(作业中)")
private Integer serviceStatus;
@ApiModelProperty(value = "评分记录")
private FlyerRecordDTO record;
}
package com.mmc.payment.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/29 17:30
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class FlyerOrderTaskDTO implements Serializable {
private static final long serialVersionUID = 4288411060058354326L;
private Integer id;
private Integer orderId;
private Integer flyerAccountId;
private Integer orderType;
private Integer virtualTeamId;
private String orderName;
private String orderNo;
public FlyerOrderTaskDTO(OrderTaskDTO d) {
this.orderId = d.getId();
this.orderName = d.getOrderName();
this.orderNo = d.getOrderNo();
}
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/5/29 16:16
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
//@ApiModel(value = "com.mmc.csf.model.dto.FlyerRcdTeamDTO", description = "飞手推荐团队DTO")
public class FlyerRcdTeamDTO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "账户名称")
private String FlyerAccountName;
@ApiModelProperty(value = "uid")
private String uid;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "发展时间")
private Date createTime;
@ApiModelProperty(value = "昵称")
private String nickName;
@ApiModelProperty(value = "企业认证状态:0未认证1已认证")
private Integer entAuthStatus;
@ApiModelProperty(value = "实名认证:0未实名1已实名2未通过")
private Integer realAuthStatus;
@ApiModelProperty(value = "账户类型 0游客1普通用户2个人飞手3飞手机构")
private Integer accountType;
@ApiModelProperty(value = "备注")
private String remark;
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author small
* @Date 2023/5/29 17:29
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.flyer.dto.FlyerRecordDTO", description = "飞手记录DTO")
public class FlyerRecordDTO implements Serializable {
private static final long serialVersionUID = -188321537755558914L;
private Integer flyerAccountId;
@ApiModelProperty("订单数")
private Integer orderNum;
@ApiModelProperty("任务天数")
private Integer workDay;
@ApiModelProperty("综合评分")
private BigDecimal score;
@ApiModelProperty("差评数")
private Integer negtNum;
@ApiModelProperty("好评数")
private Integer praiseNum;
@ApiModelProperty("差评率")
private BigDecimal negtRate;
public void defaultValue() {
if (orderNum == null) {
orderNum = 0;
}
if (workDay == null) {
workDay = 0;
}
if (score == null) {
score = BigDecimal.ZERO;
}
if (negtNum == null) {
negtNum = 0;
}
if (praiseNum == null) {
praiseNum = 0;
}
}
public void compareNegtRate() {
this.negtRate = (BigDecimal.valueOf(negtNum).divide(BigDecimal.valueOf(negtNum + praiseNum))).setScale(2,
BigDecimal.ROUND_HALF_DOWN);
}
}
package com.mmc.payment.model.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/29 17:30
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class FlyerScenesAuthDTO implements Serializable {
private static final long serialVersionUID = 66032902942031710L;
@ApiModelProperty("飞手id")
private Integer id;
@ApiModelProperty(value = "商务礼仪认证")
private Integer protocolAuth;
@ApiModelProperty(value = "电力巡检认证状态,0未认证,1通过,2未通过")
private Integer electricAuth;
@ApiModelProperty(value = "航空测绘认证状态,0未认证,1通过,2未通过", hidden = true)
@JsonIgnore
private Integer aviationAuth;
@ApiModelProperty(value = "应急保障认证状态,0未认证,1通过,2未通过", hidden = true)
@JsonIgnore
private Integer emergencyAuth;
@ApiModelProperty(value = "value = 监察巡检认证状态,0未认证,1通过,2未通过", hidden = true)
@JsonIgnore
private Integer superviseAuth;
@ApiModelProperty(value = "通用认证状态,0未认证,1通过,2未通过")
private Integer universalAuth;
@ApiModelProperty(value = "油气巡检认证状态,0未认证,1通过,2未通过")
private Integer oilGasAuth;
@ApiModelProperty(value = "演示认证状态,0未认证,1通过,2未通过")
private Integer demoAuth;
@ApiModelProperty(value = "航空测绘外业状态,0未认证,1通过,2未通过")
private Integer aviationOutAuth;
@ApiModelProperty(value = "航空测绘内业状态,0未认证,1通过,2未通过")
private Integer aviationInAuth;
@ApiModelProperty(value = "指挥车认证状态,0未认证,1通过,2未通过")
private Integer commandAuth;
@ApiModelProperty(value = "天目将软件认证状态,0未认证,1通过,2未通过")
private Integer tmjAuth;
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author small
* @Date 2023/5/29 17:31
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderTaskDTO implements Serializable {
private static final long serialVersionUID = 6732943573766573605L;
@ApiModelProperty(value = "订单id")
private Integer id;
@ApiModelProperty(value = "主任务id")
private Integer parentId;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "订单专属运营id")
private Integer userOperateId;
@ApiModelProperty(value = "用户订单uid")
private String uid;
@ApiModelProperty(value = "订单编号")
private String orderNo;//单号
@ApiModelProperty(value = "订单名称")
private String orderName;//名称
@ApiModelProperty(value = "账单金额")
private BigDecimal orderAmt;//账单金额
@ApiModelProperty(value = "订单现金金额")
private BigDecimal orderCashAmt;
@ApiModelProperty(value = "订单信用金额")
private BigDecimal orderCreditAmt;
@ApiModelProperty(value = "任务状态")
private Integer orderStatus;//任务状态
@ApiModelProperty(value = "评价状态")
private Integer evaluateStatus;//评价状态
private String lastMsg1;//消息
private String lastMag2;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "备注")
private String basicInfo;//基本信息
@ApiModelProperty(value = "预计开始时间")
private String startTime;//开始时间
@ApiModelProperty(value = "预计结束时间")
private String endTime;//结束时间
@ApiModelProperty(value = "实际开始时间")
private String acStartTime;// 实际开始时间
@ApiModelProperty(value = "实际结束时间")
private String acEndTime;// 实际结束时间
@ApiModelProperty(value = "订单地址")
private String taskAddress;
private String image;
@ApiModelProperty(value = "服务id")
private Integer inspectionId;
@ApiModelProperty(value = "服务名称")
private String inspectionName;
@ApiModelProperty(value = "运营联系电话")
private String phoneNum;
@ApiModelProperty(value = "专属运营名称")
private String operateName;
@ApiModelProperty(value = "经度")
private BigDecimal lon;
@ApiModelProperty(value = "纬度")
private BigDecimal lat;
@ApiModelProperty(value = "用户名称")
private String userName;
@ApiModelProperty(value = "是否企业")
private Integer entUser;
@ApiModelProperty(value = "企业名称")
private String entName;
@ApiModelProperty(value = "是否实名")
private Integer realAuthStatus;
@ApiModelProperty(value = "昵称")
private String nickName;
@ApiModelProperty(value = "订单关闭原因")
private String shutReason;
@ApiModelProperty(value = "用户联系电话")
private String userPhoneNum;
@ApiModelProperty(value = "飞手Id")
private Integer flyerAccountId;
@ApiModelProperty(value = "平台工作人员设置的备注")
private String pfRemark;
@ApiModelProperty(value = "飞手端-推送-数据-0否-1是")
private Integer dummy;
@ApiModelProperty(value = "飞手UID")
private String flyerUid;
@ApiModelProperty(value = "飞手账号名")
private String flyerAccountName;
@ApiModelProperty(value = "抢单状态:0待接单,1抢单中")
private Integer applyStatus;
@ApiModelProperty(value = "预付款总金额")
private BigDecimal totalFreeze;
@ApiModelProperty(value = "结算总金额")
private BigDecimal totalPay;
@ApiModelProperty(value = "倒计时")
private Long countSconds;
@ApiModelProperty(value = "飞手基本信息")
private FlyerAccountDTO flyerAccount;
@ApiModelProperty(value = "飞手类型")
private Integer flyerType;
@ApiModelProperty(value = "飞手个数")
private Integer flyerNum;
@ApiModelProperty(value = "0:隐藏 1:显示")
private Integer display;
@ApiModelProperty(value = "飞手-结算-信息", hidden = true)
private TaskFlyerCostDTO taskFlyerCost;
@ApiModelProperty(value = "下期飞手入账时间")
private String nextFlyerIncomeDate;
@ApiModelProperty(value = "是否进行过催付款 0:未催 1:已催")
private Integer urge;
@ApiModelProperty(value = "订单类型")
private Integer orderType;
@ApiModelProperty(value = "确认需求备注")
private String cmdRemark;
@ApiModelProperty(value = "飞手可抢单开始时间")
private Date flyerStartTime;
@ApiModelProperty(value = "飞手可抢单结束时间")
private Date flyerEndTime;
@ApiModelProperty(value = "预估金额")
private BigDecimal estimatedAmount;
@ApiModelProperty(value = "申请id")
private Integer orderApplyId;
@ApiModelProperty(value = "用户下单附件预览效果")
private String userPreview;
@ApiModelProperty(value = "平台上传附件预览效果")
private String platformPreview;
@ApiModelProperty(value = "文案描述")
private String copywriting;
@ApiModelProperty(value = "子任务列表")
private List<OrderTaskDTO> children;
@ApiModelProperty(value = "子订单信息")
private List<OrderTaskSonDTO> son;
public void buildOperateUser(UserAccountDTO op) {
this.phoneNum = op.getPhoneNum();
this.operateName = op.getUserName();
this.userOperateId = op.getId();
}
public void buildWxUser(UserAccountDTO wx) {
this.userAccountId = wx.getId();
this.uid = wx.getUid();
this.nickName = wx.getNickName();
this.userName = wx.getUserName();
this.userPhoneNum = wx.getPhoneNum();
}
public FlyerOrderTaskDTO buildFlyerOrderTaskDTO(){
return FlyerOrderTaskDTO.builder().orderId(this.id).orderNo(this.orderNo).orderName(this.orderName).build();
}
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author small
* @Date 2023/5/29 17:32
* @Version 1.0
*/
@Data
@ApiModel(value="OrderTaskSonDTO", description="云享飞订单-子任务表")
@AllArgsConstructor
@NoArgsConstructor
public class OrderTaskSonDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@ApiModelProperty(value = "0为主任务")
private Integer parentId;
@ApiModelProperty(value = "客户ID")
private Integer userAccountId;
@ApiModelProperty(value = "运营人员ID(负责这个order的运营人员id")
private Integer userOperateId;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "订单名称")
private String orderName;
@ApiModelProperty(value = "订单总金额")
private BigDecimal orderAmt;
@ApiModelProperty(value = "订单金额中的现金金额")
private BigDecimal cashAmt;
@ApiModelProperty(value = "订单金额中的信用金额")
private BigDecimal creditAmt;
@ApiModelProperty(value = "任务飞行地址")
private String taskAddress;
@ApiModelProperty(value = "基本信息")
private String basicInfo;
@ApiModelProperty(value = "服务开始时间")
private LocalDateTime startTime;
@ApiModelProperty(value = "服务结束时间")
private LocalDateTime endTime;
@ApiModelProperty(value = "实际服务开始时间")
private LocalDateTime acStartTime;
@ApiModelProperty(value = "实际服务结束时间")
private LocalDateTime acEndTime;
@ApiModelProperty(value = "0下单初始化(待分配运营)-> 100已分配运营(待需求确认)-> 200已经需求确认(待订单确认)-> 300已订单确认(待预支付)-> 400已预支付(调度中)-> 500飞手已接单(待抵达现场)-> 525飞手已抵达(待开始作业)-> 550已开始作业(作业中)-> 575飞手已完成作业(待平台确认作业完成)-> 600平台已确认作业完成(待验收结算)-> 700验收通过-> 900订单关闭")
private Integer orderStatus;
@ApiModelProperty(value = "评价状态:0未评价 1已评价")
private Integer evaluateStatus;
private LocalDateTime createTime;
private LocalDateTime updateTime;
@ApiModelProperty(value = "服务项ID")
private Integer inspectionId;
@ApiModelProperty(value = "服务名称")
private String inspectionName;
@ApiModelProperty(value = "最近一次操作信息")
private String lastMsg;
@ApiModelProperty(value = "任务地址经度")
private BigDecimal lon;
@ApiModelProperty(value = "任务地址纬度")
private BigDecimal lat;
@ApiModelProperty(value = "订单关闭原因")
private String shutReason;
@ApiModelProperty(value = "是否营销数据(假数据):0:否 1:是")
private Boolean isDummy;
@ApiModelProperty(value = "平台备注")
private String pfRemark;
@ApiModelProperty(value = "飞手类型(0个人飞手 1飞手机构)")
private Integer flyerType;
@ApiModelProperty(value = "任务飞手人数")
private Integer flyerNum;
@ApiModelProperty(value = "0:隐藏 1:显示(隐藏后飞手端不显示,不参与抢单)")
private Integer display;
@ApiModelProperty(value = "飞手评价:0未评价 1已评价")
private Integer flyerEval;
@ApiModelProperty(value = "是否进行过催单 0:未通知 1:已通知")
private Integer isUrge;
@ApiModelProperty(value = "订单类型:0普通订单,1推荐订单,2加急单")
private Integer orderType;
@ApiModelProperty(value = "需求确认备注")
private String cmdRemark;
@ApiModelProperty(value = "飞手抢单开始时间")
private LocalDateTime flyerStartTime;
@ApiModelProperty(value = "飞手抢单结束时间")
private LocalDateTime flyerEndTime;
@ApiModelProperty(value = "推荐机构")
private Integer rcdCompanyId;
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -30,12 +29,16 @@ public class RepoCashDTO implements Serializable {
private Integer repoAccountId;
@ApiModelProperty(value = "用户UID", hidden = true)
private String uid;
@ApiModelProperty(value = "用户名", hidden = true)
@ApiModelProperty(value = "账号名称", hidden = true)
private String accountName;
@ApiModelProperty(value = "用户名称", hidden = true)
private String userName;
@ApiModelProperty(value = "订单ID", hidden = true)
private Integer orderInfoId;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "相关订单名称")
private String orderName;
@ApiModelProperty(value = "skuID", hidden = true)
private Integer skuInfoId;
@ApiModelProperty(value = "sku标题", hidden = true)
......@@ -46,15 +49,15 @@ public class RepoCashDTO implements Serializable {
private String wareNo;
@ApiModelProperty(value = "商品标题")
private String wareTitle;
@ApiModelProperty(value = "流水编号")
@ApiModelProperty(value = "流水编号/交易编号")
private String payNo;
@ApiModelProperty(value = "流水类型:查字典")
private Integer payMethod;
@ApiModelProperty(value = "变动金额")
@ApiModelProperty(value = "变动金额/变动现金")
private BigDecimal amtPaid;
@ApiModelProperty(value = "当前余额")
private BigDecimal cashAmt;
@ApiModelProperty(value = "支付时间")
@ApiModelProperty(value = "支付时间/交易")
private Date payTime;
@ApiModelProperty(value = "退款流水编号")
private String refundNo;
......@@ -67,4 +70,8 @@ public class RepoCashDTO implements Serializable {
@ApiModelProperty(value = "操作人姓名")
private String opName;
private Integer createUser;
@ApiModelProperty(value = "现金类型")
private String type;
@ApiModelProperty(value = "已冻结现金")
private BigDecimal cashFreeze;
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -24,7 +23,7 @@ public class RepoWalletDTO implements Serializable {
private static final long serialVersionUID = 5306992787421065922L;
@ApiModelProperty(value = "ID")
private Integer id;
@ApiModelProperty(value = "用户ID")
@ApiModelProperty(value = "账号id")
private Integer repoAccountId;
@ApiModelProperty(value = "现金余额")
private BigDecimal cashAmt;
......@@ -32,15 +31,25 @@ public class RepoWalletDTO implements Serializable {
private BigDecimal cashPaid;
@ApiModelProperty(value = "冻结中-金额")
private BigDecimal cashFreeze;
@ApiModelProperty(value = "奖励-余额")
private BigDecimal rcdRebateAmt;
@ApiModelProperty(value = "累计提现")
private BigDecimal rebateWdl;
@ApiModelProperty(value = "提现冻结金额")
private BigDecimal rebateFreeze;
//@ApiModelProperty(value = "奖励-余额")
// private BigDecimal rcdRebateAmt;
// @ApiModelProperty(value = "累计提现")
// private BigDecimal rebateWdl;
// @ApiModelProperty(value = "提现冻结金额")
//private BigDecimal rebateFreeze;
@ApiModelProperty(value = "平台备注")
private String remark;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "用户名称")
private String userName;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "账号类型:0后台管理账号 ; 100云享飞-客户端;")
private Integer portType;
@ApiModelProperty(value = "uid")
private String uid;
/*
public void defaultRebateValue() {
if (this.rcdRebateAmt == null) {
this.rcdRebateAmt = BigDecimal.ZERO;
......@@ -49,5 +58,5 @@ public class RepoWalletDTO implements Serializable {
if (this.rebateWdl == null) {
this.rebateWdl = BigDecimal.ZERO;
}
}
}*/
}
package com.mmc.payment.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author small
* @Date 2023/5/29 17:32
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.TaskFlyerCostDTO", description = "飞手工资DTO")
public class TaskFlyerCostDTO implements Serializable {
private static final long serialVersionUID = 4411028098471010440L;
@ApiModelProperty(value = "飞手工资id")
private Integer id;
@ApiModelProperty(value = "订单id")
private Integer orderTaskId;
@ApiModelProperty(value = "飞手日薪")
private BigDecimal flyerWag;
@ApiModelProperty(value = "飞手每日补贴")
private BigDecimal flyerSudy;
@ApiModelProperty(value = "每月工资结算日")
private Integer payDay;
@ApiModelProperty(value = "租房补贴")
private BigDecimal rentHouseSudy;
@ApiModelProperty(value = "交通补贴")
private BigDecimal trafficSudy;
@ApiModelProperty(value = "支付比例(例如0.95)")
private BigDecimal payPersent;
@ApiModelProperty(value = "设备信息")
private String deviceInfo;
@ApiModelProperty(value = "生成时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "任务编号")
private String orderNo;
@ApiModelProperty(value = "任务名称")
private String orderName;
@ApiModelProperty(value = "飞手数量")
private Integer flyerNum;
@ApiModelProperty(value = "服务类型")
private String inspectionName;
@ApiModelProperty(value = "飞手类型(0个人飞手 1飞手机构)")
private Integer flyerType;
// @ApiModelProperty(value = "任务工资信息列表")
//private List<WagTermDetailDTO> details;
@ApiModelProperty(value = "任务开始日")
private Date startTime;
@ApiModelProperty(value = "任务结束日")
private Date endTime;
@ApiModelProperty(value = "高温补贴")
private BigDecimal hotSudy;
@ApiModelProperty(value = "预估金额")
private BigDecimal estimateWag;
@ApiModelProperty(value = "补助标签")
private String sudyTag;
public void defaultValue() {
if (this.flyerWag == null) {
this.flyerWag = BigDecimal.ZERO;
}
if (this.flyerSudy == null) {
this.flyerSudy = BigDecimal.ZERO;
}
if (this.rentHouseSudy == null) {
this.rentHouseSudy = BigDecimal.ZERO;
}
if (this.trafficSudy == null) {
this.trafficSudy = BigDecimal.ZERO;
}
if (this.payPersent == null) {
this.payPersent = BigDecimal.ZERO;
}
if(this.hotSudy == null) {
this.hotSudy = BigDecimal.ZERO;
}
}
}
......@@ -45,4 +45,6 @@ public class UserAccountSimpleDTO implements Serializable {
private Integer portType;
@ApiModelProperty(value = "企业认证状态, 0未通过,1通过")
private Integer companyAuthStatus;
@ApiModelProperty(value = "账号")
private String accountNo;
}
package com.mmc.payment.model.qo;
import com.mmc.payment.common.Page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
......@@ -24,7 +23,7 @@ import java.io.Serializable;
//@ApiModel(value = "com.mmc.csf.model.qo.RepoCashQO", description = "现金变更QO")
public class RepoCashQO implements Serializable {
private static final long serialVersionUID = 8705749845968042632L;
@ApiModelProperty(value = "用户ID")
@ApiModelProperty(value = "用户ID", required = true)
@NotNull(message = "用户ID不能为空", groups = Page.class)
private Integer repoAccountId;
@ApiModelProperty(value = "关键字")
......@@ -33,15 +32,15 @@ public class RepoCashQO implements Serializable {
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "交易类型:查字典")
private Integer payMethod;
@ApiModelProperty(value = "现金类型:查字典")
private Integer cashTypeId;
@ApiModelProperty(value = "页码", required = true)
@ApiModelProperty(value = "页码", required = true, example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@ApiModelProperty(value = "每页显示数", required = true, example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
......
package com.mmc.payment.model.qo;
import com.mmc.payment.common.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/30 13:32
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.qo.RepoCashQO", description = "现金变更QO")
public class RepoWalletQO implements Serializable {
private static final long serialVersionUID = 8705749845968042632L;
@ApiModelProperty(value = "用户ID")
private Integer repoAccountId;
@ApiModelProperty(value = "现金余额")
private String cashAmt;
@ApiModelProperty(value = "已付现金")
private String cashPaid;
@ApiModelProperty(value = "已冻结现金")
private String cashFreeze;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
package com.mmc.payment.model.qo;
import com.mmc.payment.common.Page;
import com.mmc.payment.config.UserPorts;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.CollectionUtils;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @Author small
* @Date 2023/5/29 15:59
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.qo.RepoAccountQO", description = "云仓账号信息查询QO")
public class UserCashQO implements Serializable {
private static final long serialVersionUID = -3425378226992206841L;
@ApiModelProperty(value = "用户名称/手机号/UID")
private String userMassage;
@ApiModelProperty(value = "页码", required = true,example = "1")
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true,example = "10")
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
@ApiModelProperty(value = "用户ID", hidden = true)
private List<Integer> accountIds;
}
package com.mmc.payment.model.qo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @Author small
* @Date 2023/5/30 14:08
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletMessageQO {
private static final long serialVersionUID = -1274280958579567505L;
@ApiModelProperty(value = "用户id集合")
private List<Integer> userIds;
}
package com.mmc.payment.model.qo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/5/30 10:21
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletUsersQO {
private static final long serialVersionUID = -1274280958579567505L;
@ApiModelProperty(value = "repo_account_id")
@NotNull(message = "账号id")
private Integer repoAccountId;
}
package com.mmc.payment.model.vo;
import com.mmc.payment.common.Create;
import com.mmc.payment.common.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/29 16:14
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.EntFourValidateVO", description = "新增/修改参数类")
public class EntFourValidateVO implements Serializable {
private static final long serialVersionUID = 6208245549679324962L;
@ApiModelProperty(value = "id")
@NotNull(message = "id创建修改不能为空", groups = { Update.class })
private Integer id;
@ApiModelProperty(value = "用户ID")
@NotNull(message = "用户ID不能为空", groups = { Update.class, Create.class })
private Integer userAccountId;
@ApiModelProperty(value = "企业法人")
@NotBlank(message = "企业法人", groups = { Create.class })
private String entLegalPerson;
@ApiModelProperty(value = "身份证号码", hidden = true)
//@NotBlank(message = "身份证号码不能为空",groups = {Create.class})
private String idNumber;
@ApiModelProperty(value = "企业名称")
@NotBlank(message = "企业名称", groups = { Update.class,Create.class })
private String entName;
@ApiModelProperty(value = "统一社会信用代码")
@NotBlank(message = "统一社会信用代码", groups = { Create.class })
private String unifySocialCreditCode;
@ApiModelProperty(value = "营业执照")
@NotBlank(message = "营业执照", groups = { Update.class })
private String businessLicenseImg;
@ApiModelProperty(value = "unionId")
private String unionId;
@ApiModelProperty(value = "参与邀请id")
private Integer participateActivityId;
}
package com.mmc.payment.model.vo;
import com.mmc.payment.common.Create;
import com.mmc.payment.common.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/29 16:16
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.FlyerAccountVO", description = "新增/修改参数类")
public class FlyerAccountVO implements Serializable {
private static final long serialVersionUID = 5606965866344925637L;
@ApiModelProperty(value = "id")
@NotNull(message = "更新时ID不能为空", groups = { Update.class })
private Integer id;
@ApiModelProperty(value = "uid")
private String uid;
@ApiModelProperty(value = "账号", example = "")
@NotEmpty(message = "账号不能为空", groups = { Create.class })
private String accountName;
@ApiModelProperty(value = "飞手手机号")
private String phoneNum;
@ApiModelProperty(value = "账号类型", example = "个人飞手或机构")
private Integer accountType;
@ApiModelProperty(value = "飞手实名认证状态", example = "0未实名,1已实名")
private Integer realAuthStatus;
@ApiModelProperty(value = "机构认证状态", example = "0未认证,1,已认证")
private Integer entAuthStatus;
@ApiModelProperty(value = "工作状态,0休息中,1接单中,2服务订单中")
private Integer workStatus;
@ApiModelProperty(value = "昵称", example = "科比特")
private String nickName;
@ApiModelProperty(value = "常驻地址", example = "广东省深圳市")
private String resAddress;
@ApiModelProperty(value = "头像", example = "url")
private String headerImg;
@ApiModelProperty(value = "经度")
private Double lon;
@ApiModelProperty(value = "纬度")
private Double lat;
@ApiModelProperty(value = "用户备注")
@Size(max=70,message = "用户备注内容不能超过70字符",groups = {Update.class})
private String remark;
@ApiModelProperty(value = "用户删除状态,0未删除,1已删除")
private Integer deleted;
}
package com.mmc.payment.model.vo;
import com.mmc.payment.common.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/29 16:13
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.vo.FlyerWorkStatusVO", description = "新增/修改参数类")
public class FlyerWorkStatusVO implements Serializable {
private static final long serialVersionUID = -1274280958579567505L;
@ApiModelProperty(value = "id")
@NotNull(message = "更新时ID不能为空", groups = { Update.class })
private Integer id;
@ApiModelProperty(value = "常驻地址", example = "深圳市")
@NotEmpty(message = "常驻地址不能为空", groups = { Update.class })
private String resAddress;
@ApiModelProperty(value = "经度")
@NotNull(message = "更新时经度不能为空", groups = { Update.class })
private Double lon;
@ApiModelProperty(value = "纬度")
@NotNull(message = "更新时纬度不能为空", groups = { Update.class })
private Double lat;
@ApiModelProperty(value = "工作状态")
@NotNull(message = "workStatus不能为空", groups = { Update.class })
private Integer workStatus;
}
......@@ -25,11 +25,11 @@ import java.util.List;
public class RepoCashVO implements Serializable {
private static final long serialVersionUID = 1828354753495845609L;
/* @ApiModelProperty(value = "用户ID")
@ApiModelProperty(value = "用户ID")
@NotNull(
message = "用户ID不能为空",
groups = {Create.class})
private Integer repoAccountId;*/
private Integer repoAccountId;
/* @ApiModelProperty(value = "订单ID")
@NotNull(
......
package com.mmc.payment.model.vo;
import com.mmc.payment.common.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/5/30 10:05
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WalletUsersVO implements Serializable {
private static final long serialVersionUID = -1274280958579567505L;
@ApiModelProperty(value = "repo_account_id")
@NotNull(message = "账号id")
private Integer repoAccountId;
}
......@@ -6,34 +6,45 @@ import com.mmc.payment.model.dto.BaseAccountDTO;
import com.mmc.payment.model.dto.PayCashResultDTO;
import com.mmc.payment.model.dto.RepoCashDTO;
import com.mmc.payment.model.qo.RepoCashQO;
import com.mmc.payment.model.qo.UserCashQO;
import com.mmc.payment.model.vo.RepoCashVO;
import com.mmc.payment.model.vo.RepoOrderPayVO;
import com.mmc.payment.model.vo.WalletUsersVO;
import java.math.BigDecimal;
/**
* @Author small @Date 2023/5/24 10:06 @Version 1.0
* @Author small
* @Date 2023/5/29 17:59
* @Version 1.0
*/
public interface RepoCashService {
PageResult listPageRepoCash(RepoCashQO param);
PageResult listPageRepoCash(BaseAccountDTO cuser, RepoCashQO param);
void updateCashRemark(Integer id, String remark);
void updateCashRemark(Integer id, String remark);
/**
* 充值
*
* @param cash
* @return
*/
ResultBody reqCash(BaseAccountDTO cuser, RepoCashVO cash);
/**
* 充值
*
* @param cash
* @return
*/
ResultBody reqCash(BaseAccountDTO cuser, RepoCashVO cash);
ResultBody dedCash(BaseAccountDTO cuser, RepoCashVO cash);
ResultBody dedCash(BaseAccountDTO cuser, RepoCashVO cash);
RepoCashDTO getRefundInfo(String refundNo);
RepoCashDTO getRefundInfo(String refundNo);
BigDecimal RemainingBalance(Integer uid);
BigDecimal RemainingBalance(Integer uid);
PayCashResultDTO orderPayment(BaseAccountDTO currentAccount, String orderNo);
PayCashResultDTO orderPayment(BaseAccountDTO currentAccount, String orderNo);
PayCashResultDTO payCashOrder(RepoOrderPayVO orderPay);
PayCashResultDTO payCashOrder(RepoOrderPayVO orderPay);
PageResult listPagePayManager(BaseAccountDTO currentAccount, UserCashQO param);
ResultBody walletUsers(BaseAccountDTO cuser, WalletUsersVO walletUsersVO);
ResultBody cashType();
}
......@@ -43,7 +43,21 @@
<result property="updateUser" column="update_user"/>
<result property="createTime" column="create_time"/>
<result property="createUser" column="create_user"/>
<result property="orderName" column="order_name"/>
<result property="type" column="type"/>
</resultMap>
<resultMap type="com.mmc.payment.entity.RepoWalletDO"
id="RepoAccountResultMap">
<id property="id" column="id"/>
<result property="repoAccountId" column="repo_account_id"/>
<result property="cashAmt" column="cash_amt"/>
<result property="cashPaid" column="cash_paid"/>
<result property="cashFreeze" column="cash_freeze"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="getRefundCashInfo" resultMap="repoCashResultMap"
parameterType="Integer">
select c.id,c.repo_account_id,c.ware_title,c.pay_no,
......@@ -77,9 +91,11 @@
parameterType="com.mmc.payment.model.qo.RepoCashQO">
select c.id,c.repo_account_id,c.ware_title,c.pay_no,
c.order_no,c.refund_no,c.create_user,c.pay_method,
c.amt_paid,c.cash_amt,c.remark,c.voucher
c.amt_paid,c.cash_amt,c.remark,c.voucher,c.pay_time,c.order_name,ct.type
from repo_cash c
LEFT JOIN cash_type ct on c.cash_type_id=ct.id
<where>
1=1
and c.repo_account_id = #{repoAccountId}
<if test=" keyword!=null and keyword!='' ">
and (
......@@ -89,6 +105,9 @@
or c.refund_no like CONCAT('%',#{keyword},'%')
)
</if>
<if test="cashTypeId!=null and cashTypeId!=''">
and ct.id=#{cashTypeId}
</if>
<if test=" startTime != null and startTime != '' ">
and c.pay_time &gt;= STR_TO_DATE(#{startTime},'%Y-%m-%d
%H:%i:%s')
......@@ -97,9 +116,6 @@
and c.pay_time &lt;= STR_TO_DATE(#{endTime},'%Y-%m-%d
%H:%i:%s')
</if>
<if test=" payMethod != null ">
and c.pay_method = #{payMethod}
</if>
</where>
order by c.pay_time desc
limit #{pageNo},#{pageSize}
......@@ -107,10 +123,12 @@
<select id="countPagePFRepoCash" resultType="int"
parameterType="com.mmc.payment.model.qo.RepoCashQO">
select count(*)
select count(1)
from repo_cash c
LEFT JOIN cash_type ct on c.cash_type_id=ct.id
<where>
and c.repo_account_id = #{repoAccountId}
1=1 and
c.repo_account_id = #{repoAccountId}
<if test=" keyword!=null and keyword!='' ">
and (
c.ware_title like CONCAT('%',#{keyword},'%')
......@@ -119,6 +137,9 @@
or c.refund_no like CONCAT('%',#{keyword},'%')
)
</if>
<if test="cashTypeId!=null and cashTypeId!=''">
and ct.id=#{cashTypeId}
</if>
<if test=" startTime != null and startTime != '' ">
and c.pay_time &gt;= STR_TO_DATE(#{startTime},'%Y-%m-%d
%H:%i:%s')
......@@ -127,10 +148,8 @@
and c.pay_time &lt;= STR_TO_DATE(#{endTime},'%Y-%m-%d
%H:%i:%s')
</if>
<if test=" payMethod != null ">
and c.pay_method = #{payMethod}
</if>
</where>
order by c.pay_time desc
</select>
<select id="getRepoWalletInfo" resultMap="repoWalletResultMap">
......@@ -180,4 +199,56 @@
#{voucher}, #{refundNo}, #{updateTime}, #{updateUser}, #{createTime}, #{createUser})
</insert>
<select id="countPagePayManager" resultType="Integer"
parameterType="com.mmc.payment.model.qo.RepoAccountQO">
select count(*)
from repo_wallet
</select>
<select id="listPagePayManager" resultMap="RepoAccountResultMap"
parameterType="com.mmc.payment.model.qo.UserCashQO">
SELECT id,
repo_account_id,
cash_amt,
cash_paid,
cash_freeze,
remark
FROM repo_wallet
WHERE 1 = 1
ORDER BY create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="listWalletInfo" resultMap="repoWalletResultMap"
parameterType="com.mmc.payment.model.qo.UserCashQO">
select w.id,w.repo_account_id,w.cash_amt,w.cash_freeze,
w.cash_paid,w.rcd_rebate_amt,w.rebate_wdl,w.rebate_freeze,w.remark,w.create_time,w.update_time
from repo_wallet w
where
w.repo_account_id in
<foreach collection="accountIds" item="id" index="index"
open="(" close=")" separator=",">
#{id}
</foreach>
</select>
<insert id="walletUsers" parameterType="com.mmc.payment.model.qo.WalletUsersQO">
insert into repo_wallet(repo_account_id, create_time)
values (#{repoAccountId}, now())
</insert>
<select id="findWalletUsers" resultType="int" parameterType="com.mmc.payment.model.qo.WalletUsersQO">
select repo_account_id As repoAccountId
from repo_wallet
where repo_account_id = #{repoAccountId}
</select>
<select id="cashType" resultType="com.mmc.payment.entity.CashTypeDO">
select id, `type`
from cash_type
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论