提交 5071d597 authored 作者: huyufan's avatar huyufan

网络货运钱包相关

上级 8bd24596
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageNetworkAccountInfoListParam extends PageParam {
@ApiModelProperty(value = "手机号", example = "13966554477")
private String mobile;
@ApiModelProperty(value = "网络货运流水类型")
private Integer runningWaterType;
@ApiModelProperty(value = "司机编码")
private String driverUserNo;
}
......@@ -20,5 +20,5 @@ public class PageNetworkAccountListParam extends PageParam {
private String driverUserName;
@ApiModelProperty(value = "司机编码")
private Long driverUserNo;
private String driverUserNo;
}
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageNetworkCaseOutRecordListParam extends PageParam {
@ApiModelProperty(value = "手机号", example = "13966554477")
private String mobile;
@ApiModelProperty(value = "运单编号")
private String childNo;
@ApiModelProperty(value = "车主编码")
private String driverUserNo;
}
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
@Getter
@Setter
@Accessors(chain = true)
public class NetworkCaseOutRecordVO {
private Integer id;
@ApiModelProperty("提现单号")
private Long caseOutNo;
@ApiModelProperty("司机编码")
private String driverUserNo;
@ApiModelProperty("司机名称")
private String driverUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("收款人")
private String payee;
@ApiModelProperty("开户行")
private String bank;
@ApiModelProperty("收款银行账户")
private String collectionBankCode;
@ApiModelProperty("状态 10:待平台付款 20:已付款")
private Integer status;
@ApiModelProperty("平台")
private String platform;
@ApiModelProperty("")
private Long relationId;
@ApiModelProperty("订单ID")
private Integer orderId;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运单ID")
private Integer orderChildId;
@ApiModelProperty("运单编号")
private String orderChildNo;
@ApiModelProperty("变动金额")
private BigDecimal alterationBalance;
@ApiModelProperty("冻结金额")
private BigDecimal frozenBalance;
@ApiModelProperty("可用余额")
private BigDecimal usableBalance;
@ApiModelProperty("账户余额")
private BigDecimal accountBalance;
@ApiModelProperty("扣除金额")
private BigDecimal takeOutBalance;
@ApiModelProperty("操作人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("提现完成时间")
private String finishTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
......@@ -29,12 +30,15 @@ public class NetworkDriverAccountVO {
private String mobile;
@ApiModelProperty("账户余额")
@MoneyOutConvert
private BigDecimal accountBalance;
@ApiModelProperty("可用余额")
@MoneyOutConvert
private BigDecimal usableBalance;
@ApiModelProperty("冻结余额")
@MoneyOutConvert
private BigDecimal frozenBalance;
@ApiModelProperty("钱包code")
......
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
@Getter
@Setter
@Accessors(chain = true)
public class NetworkDriverRunningWaterRecordVO{
private Integer id;
@ApiModelProperty("流水号")
private Long runningWaterNo;
@ApiModelProperty("司机编码")
private String driverUserNo;
@ApiModelProperty("司机名称")
private String driverUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("流水类型 10:运单结算 20:提现冻结 30:提现成功")
private Integer runningWaterType;
@ApiModelProperty("资金类型 10:收入 20:冻结 30:支出")
private Integer fundType;
@ApiModelProperty("")
private Long relationId;
@ApiModelProperty("订单ID")
private Integer orderId;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运单ID")
private Integer orderChildId;
@ApiModelProperty("运单编号")
private String orderChildNo;
@ApiModelProperty("变动金额")
private BigDecimal alterationBalance;
@ApiModelProperty("冻结金额")
private BigDecimal frozenBalance;
@ApiModelProperty("可用余额")
private BigDecimal usableBalance;
@ApiModelProperty("账户余额")
private BigDecimal accountBalance;
@ApiModelProperty("扣除金额")
private BigDecimal takeOutBalance;
@ApiModelProperty("操作人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
......@@ -5,7 +5,9 @@ import com.clx.performance.model.OwnerTransferInfo;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.owner.CreteAccountParam;
import com.clx.performance.service.*;
import com.clx.performance.service.settle.NetworkCaseOutRecordService;
import com.clx.performance.service.settle.NetworkDriverAccountService;
import com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService;
import com.clx.performance.vo.pc.*;
import com.clx.user.vo.pc.owner.OwnerBindCardVO;
import com.msl.common.base.PageData;
......@@ -36,6 +38,10 @@ public class NetworkDriverAccountController {
private final NetworkDriverAccountService networkDriverAccountService;
private final NetworkDriverRunningWaterRecordService networkDriverRunningWaterRecordService;
private final NetworkCaseOutRecordService networkCaseOutRecordService;
@ApiOperation(value = "网络货运账户列表", notes = "<br>By:胡宇帆")
......@@ -47,10 +53,19 @@ public class NetworkDriverAccountController {
}
@ApiOperation(value = "创建账户", notes = "<br>By:胡宇帆")
@PostMapping("/createAccount")
public Result<Object> createAccount(CreteAccountParam param) {
//ownerAccountService.createAccount(param);
return Result.ok();
@ApiOperation(value = "网络货运账户详情", notes = "<br>By:胡宇帆")
@PostMapping("/networkAccountInfoList")
@UnitCovert(param = false)
public Result<PageData<NetworkDriverRunningWaterRecordVO>> networkAccountInfoList(PageNetworkAccountInfoListParam param) {
IPage<NetworkDriverRunningWaterRecordVO> page = networkDriverRunningWaterRecordService.networkAccountInfoList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "车主提现", notes = "<br>By:胡宇帆")
@PostMapping("/networkCaseOutRecord")
@UnitCovert(param = false)
public Result<PageData<NetworkCaseOutRecordVO>> networkCaseOutRecord(PageNetworkCaseOutRecordListParam param) {
IPage<NetworkCaseOutRecordVO> page = networkCaseOutRecordService.networkCaseOutRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.dao.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.NetworkDriverRunningWaterRecordDao;
import com.clx.performance.mapper.settle.NetworkDriverRunningWaterRecordMapper;
import com.clx.performance.model.settle.NetworkDriverRunningWaterRecord;
import com.clx.performance.param.pc.PageNetworkAccountInfoListParam;
import com.clx.performance.vo.pc.NetworkDriverAccountVO;
import com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
......@@ -14,4 +19,11 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public class NetworkDriverRunningWaterRecordDaoImpl extends BaseDaoImpl<NetworkDriverRunningWaterRecordMapper, NetworkDriverRunningWaterRecord, Integer> implements NetworkDriverRunningWaterRecordDao {
@Override
public IPage<NetworkDriverRunningWaterRecordVO> networkAccountInfoList(PageNetworkAccountInfoListParam param) {
Page<NetworkDriverRunningWaterRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.networkAccountInfoList(page, param);
}
}
package com.clx.performance.dao.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.settle.NetworkDriverRunningWaterRecordMapper;
import com.clx.performance.model.settle.NetworkDriverRunningWaterRecord;
import com.clx.performance.param.pc.PageNetworkAccountInfoListParam;
import com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO;
import com.msl.common.dao.BaseDao;
/**
......@@ -11,4 +14,6 @@ import com.msl.common.dao.BaseDao;
* Time 11:34
*/
public interface NetworkDriverRunningWaterRecordDao extends BaseDao<NetworkDriverRunningWaterRecordMapper, NetworkDriverRunningWaterRecord, Integer> {
IPage<NetworkDriverRunningWaterRecordVO> networkAccountInfoList(PageNetworkAccountInfoListParam param);
}
package com.clx.performance.mapper.settle;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.settle.NetworkDriverRunningWaterRecord;
import com.clx.performance.param.pc.PageNetworkAccountInfoListParam;
import com.clx.performance.sqlProvider.settle.NetworkDriverRunningWaterRecordProvider;
import com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author kavin
......@@ -9,4 +15,7 @@ import com.clx.performance.model.settle.NetworkDriverRunningWaterRecord;
* Time 11:34
*/
public interface NetworkDriverRunningWaterRecordMapper extends BaseMapper<NetworkDriverRunningWaterRecord> {
@SelectProvider(type = NetworkDriverRunningWaterRecordProvider.class, method = "networkAccountInfoList")
IPage<NetworkDriverRunningWaterRecordVO> networkAccountInfoList(Page<NetworkDriverRunningWaterRecordVO> page, PageNetworkAccountInfoListParam param);
}
package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.PageNetworkCaseOutRecordListParam;
import com.clx.performance.service.settle.NetworkCaseOutRecordService;
import com.clx.performance.vo.pc.NetworkCaseOutRecordVO;
import org.springframework.stereotype.Service;
/**
......@@ -10,4 +13,8 @@ import org.springframework.stereotype.Service;
*/
@Service
public class NetworkCaseOutRecordServiceImpl implements NetworkCaseOutRecordService {
@Override
public IPage<NetworkCaseOutRecordVO> networkCaseOutRecord(PageNetworkCaseOutRecordListParam param) {
return null;
}
}
package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.settle.NetworkDriverRunningWaterRecordDao;
import com.clx.performance.param.pc.PageNetworkAccountInfoListParam;
import com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService;
import com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
......@@ -9,5 +15,14 @@ import org.springframework.stereotype.Service;
* Time 11:34
*/
@Service
@AllArgsConstructor
@Slf4j
public class NetworkDriverRunningWaterRecordServiceImpl implements NetworkDriverRunningWaterRecordService {
private final NetworkDriverRunningWaterRecordDao networkDriverRunningWaterRecordDao;
@Override
public IPage<NetworkDriverRunningWaterRecordVO> networkAccountInfoList(PageNetworkAccountInfoListParam param) {
return networkDriverRunningWaterRecordDao.networkAccountInfoList(param);
}
}
package com.clx.performance.service.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.PageNetworkCaseOutRecordListParam;
import com.clx.performance.vo.pc.NetworkCaseOutRecordVO;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
public interface NetworkCaseOutRecordService {
IPage<NetworkCaseOutRecordVO> networkCaseOutRecord(PageNetworkCaseOutRecordListParam param);
}
package com.clx.performance.service.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.PageNetworkAccountInfoListParam;
import com.clx.performance.vo.pc.NetworkDriverRunningWaterRecordVO;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
public interface NetworkDriverRunningWaterRecordService {
IPage<NetworkDriverRunningWaterRecordVO> networkAccountInfoList(PageNetworkAccountInfoListParam param);
}
package com.clx.performance.sqlProvider.settle;
import cn.hutool.core.util.ObjectUtil;
import com.clx.performance.param.pc.PageOwnerAccountListParam;
import com.clx.performance.param.pc.PageOwnerCaseOutListParam;
import com.clx.performance.param.pc.PageNetworkAccountListParam;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class NetworkDriverAccountProvider {
public String networkAccountList(@Param("param") PageOwnerAccountListParam param) {
public String networkAccountList(@Param("param") PageNetworkAccountListParam param) {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.owner_user_name, a.mobile, a.account_type, " +
" a.account_balance,a.usable_balance, a.frozen_balance,a.create_by,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time");
FROM("owner_account a");
SELECT("a.id, a.driver_user_no," +
" a.driver_user_name, a.mobile, a.account_balance, " +
" a.usable_balance,a.frozen_balance,a.wallet_code,a.create_by,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time");
FROM("network_driver_account a");
if (StringUtils.isNotBlank(param.getOwnerUserNo())) {
WHERE("a.owner_user_no = #{param.ownerUserNo}");
if (StringUtils.isNotBlank(param.getDriverUserNo())) {
WHERE("a.driver_user_no = #{param.driverUserNo}");
}
if (StringUtils.isNotBlank(param.getMobile())) {
WHERE("a.mobile = #{param.mobile}");
}
if (ObjectUtil.isNotNull(param.getAccountType())) {
WHERE("a.account_type = #{param.accountType}");
}
if (StringUtils.isNotBlank(param.getOwnerUserName())) {
WHERE("a.owner_user_name like CONCAT('%',#{param.ownerUserName},'%')");
if (StringUtils.isNotBlank(param.getDriverUserName())) {
WHERE("a.driver_user_name like CONCAT('%',#{param.driverUserName},'%')");
}
ORDER_BY("a.create_time desc");
}}.toString();
......
package com.clx.performance.sqlProvider.settle;
import cn.hutool.core.util.ObjectUtil;
import com.clx.performance.param.pc.PageNetworkAccountInfoListParam;
import com.clx.performance.param.pc.PageNetworkAccountListParam;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class NetworkDriverRunningWaterRecordProvider {
public String networkAccountInfoList(@Param("param") PageNetworkAccountInfoListParam param) {
String sql = new SQL() {{
SELECT("a.id, a.running_water_no," +
" a.driver_user_no,a.driver_user_name, a.mobile,a.running_water_type, a.account_balance, " +
" a.fund_type,a.relation_id,a.order_id,a.order_no,a.order_child_id,a.order_child_no,a.alteration_balance" +
"a.usable_balance,a.frozen_balance,a.take_out_balance,a.create_by,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time");
FROM("network_driver_running_water_record a");
if (StringUtils.isNotBlank(param.getDriverUserNo())) {
WHERE("a.driver_user_no = #{param.driverUserNo}");
}
if (StringUtils.isNotBlank(param.getMobile())) {
WHERE("a.mobile = #{param.mobile}");
}
if (ObjectUtil.isNotNull(param.getRunningWaterType())) {
WHERE("a.running_water_type = #{param.runningWaterType}");
}
ORDER_BY("a.create_time desc");
}}.toString();
return sql;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论