提交 2356676f authored 作者: liruixin's avatar liruixin

Merge remote-tracking branch 'origin/v5.5_settlement_20231011' into v5.5_settlement_20231011

package com.clx.performance.param.open;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@ApiModel(description = "货主绑卡")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OpenOwnerBindCardParam {
@ApiModelProperty(value = "货主编号")
private Long userNo;
@ApiModelProperty(value = "货主姓名")
private String name;
@ApiModelProperty(value = "所属银行")
private String ownerAccountBank;
@ApiModelProperty(value = "开户行")
private String ownerOpenBank;
@ApiModelProperty(value = "户名")
private String ownerAccountName;
@ApiModelProperty(value = "银行账户")
private String ownerBankAccount;
}
package com.clx.performance.param.open;
import com.msl.common.convertor.type.MoneyInConvert;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
@ApiModel(description = "货主提现")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OpenOwnerCaseOutParam {
@ApiModelProperty(value = "货主用户编号", example = "123")
private Long ownerUserNo;
@ApiModelProperty(value = "提现金额(元)", example = "1.23")
@MoneyInConvert
private BigDecimal caseOutBalance;
@ApiModelProperty(value = "账户类型: 1:保证金 2:预付运费", example = "1")
private Integer accountType;
@ApiModelProperty(value = "提现银行", example = "浙江银行")
private String caseOutBank;
@ApiModelProperty(value = "提现银行卡号", example = "62213545878787")
private String caseOutBankNumber;
}
\ No newline at end of file
package com.clx.performance.param.open;
import com.msl.common.convertor.type.MoneyInConvert;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
@ApiModel(description = "货主充值")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OpenOwnerTopUpParam {
@ApiModelProperty(value = "货主用户编号", example = "123")
private Long ownerUserNo;
@ApiModelProperty(value = "充值金额(元)", example = "1.23")
@MoneyInConvert
private BigDecimal topUpBalance;
@ApiModelProperty(value = "账户类型: 1:保证金 2:预付运费", example = "1")
private Integer accountType;
@ApiModelProperty(value = "打款银行", example = "浙江银行")
private String drawingBank;
@ApiModelProperty(value = "打款银行卡号", example = "62213545878787")
private String drawingBankNumber;
@ApiModelProperty(value = "打款凭证", example = "/a.png")
private String drawingProof;
}
\ No newline at end of file
package com.clx.performance.param.pc;
import com.msl.common.convertor.type.MoneyInConvert;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -22,7 +23,7 @@ public class OwnerCaseOutParam {
private Long ownerUserNo;
@ApiModelProperty(value = "提现金额(元)", example = "1.23")
@MoneyOutConvert
@MoneyInConvert
private BigDecimal caseOutBalance;
@ApiModelProperty(value = "账户类型: 1:保证金 2:预付运费", example = "1")
......
package com.clx.performance.param.pc;
import com.msl.common.convertor.type.MoneyInConvert;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -22,7 +23,7 @@ public class OwnerTopUpParam {
private Long ownerUserNo;
@ApiModelProperty(value = "充值金额(元)", example = "1.23")
@MoneyOutConvert
@MoneyInConvert
private BigDecimal topUpBalance;
@ApiModelProperty(value = "账户类型: 1:保证金 2:预付运费", example = "1")
......
package com.clx.performance.param.pc.owner;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CreteAccountParam {
private Long userNo;
private String name;
private String mobile;
}
package com.clx.performance.param.pc.owner;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class FrozenAccountParam {
private Long userNo;
private String mobile;
private String ownerName;
private BigDecimal frozenBalance;
private BigDecimal ensureBalance;
private Integer orderId;
private String orderNo;
}
......@@ -68,6 +68,6 @@ public class OwnerAccountVO {
private LocalDateTime createTime;
@ApiModelProperty(value = "修改时间")
private LocalDateTime modifyTime;
private LocalDateTime modifiedTime;
}
\ No newline at end of file
......@@ -101,6 +101,6 @@ public class OwnerCaseOutVO {
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
private LocalDateTime modifyTime;
private LocalDateTime modifiedTime;
}
\ No newline at end of file
package com.clx.performance.controller.open;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OwnerTransferInfo;
import com.clx.performance.param.open.OpenOwnerBindCardParam;
import com.clx.performance.param.open.OpenOwnerCaseOutParam;
import com.clx.performance.param.open.OpenOwnerTopUpParam;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.owner.CreteAccountParam;
import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.service.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.vo.pc.owner.OwnerBindCardVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/open/owner")
@Validated
@AllArgsConstructor
@Api(tags = "PC-货主资金管理")
public class OpenOwnerAccountController {
private final OwnerAccountService ownerAccountService;
@ApiOperation(value = "账户充值", notes = "<br>By:胡宇帆")
@PostMapping("/accountTopUp")
@UnitCovert(param = false)
public Result<Long> openAccountTopUp(@RequestBody OpenOwnerTopUpParam param) {
Long id = ownerAccountService.openAccountTopUp(param);
return Result.ok(id);
}
@ApiOperation(value = "账户提现", notes = "<br>By:胡宇帆")
@PostMapping("/accountCaseOut")
@UnitCovert(param = false)
public Result<Long> accountCaseOut(@RequestBody OpenOwnerCaseOutParam param) {
Long id = ownerAccountService.openAccountCaseOut(param);
return Result.ok(id);
}
@ApiOperation(value = "获取货主信息绑卡信息", notes = "<br>By:胡宇帆")
@GetMapping("/getOwnerBindCard")
public Result<OwnerBindCardVO> getOwnerBindCard(@RequestParam Long userNo) {
return Result.ok(ownerAccountService.getOwnerBindCard(userNo));
}
@ApiOperation(value = "绑定货主银行卡")
@PostMapping({"/bindOwnerBindCard"})
Result<Object> openBindOwnerBindCard(@RequestBody OpenOwnerBindCardParam param) {
ownerAccountService.openBindOwnerBindCard(param);
return Result.ok();
}
@ApiOperation(value = "解绑货主银行卡")
@PostMapping({"/unBindOwnerBindCard"})
Result<Object> unBindOwnerBindCard(@RequestBody OpenOwnerBindCardParam param) {
ownerAccountService.openUnBindOwnerBindCard(param);
return Result.ok();
}
}
package com.clx.performance.controller.pc.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.enums.OwnerAccountEnum;
import com.clx.performance.model.OwnerTransferInfo;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.owner.CreteAccountParam;
import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.service.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.feign.OwnerInfoFeign;
......@@ -26,7 +29,10 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@RestController
......@@ -50,10 +56,10 @@ public class OwnerAccountController {
@ApiOperation(value = "账户信息", notes = "<br>By:胡宇帆")
@GetMapping("/accountInfo")
@UnitCovert(param = false)
public Result<List<OwnerAccountVO>> accountInfo() {
public Result<Map> accountInfo() {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
List<OwnerAccountVO> accountVOList = ownerAccountService.accountInfo(loginUserInfo.getUserNo());
return Result.ok(accountVOList);
Map<String,OwnerAccountVO> result = ownerAccountService.accountInfo(loginUserInfo.getUserNo());
return Result.ok(result);
}
@ApiOperation(value = "货主充值记录列表", notes = "<br>By:胡宇帆")
......@@ -161,11 +167,16 @@ public class OwnerAccountController {
}
@ApiOperation(value = "冻结保证金", notes = "<br>By:胡宇帆")
@PostMapping("/ownerBindCardPageList11")
public Result<Object> ownerAccountFrozen(Long ownerUserNo) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
ownerAccountService.ownerAccountFrozen(ownerUserNo);
@PostMapping("/ownerAccountFrozen")
public Result<Object> ownerAccountFrozen(FrozenAccountParam param) {
ownerAccountService.ownerAccountFrozen(param);
return Result.ok();
}
@ApiOperation(value = "创建账户", notes = "<br>By:胡宇帆")
@PostMapping("/createAccount")
public Result<Object> createAccount(CreteAccountParam param) {
ownerAccountService.createAccount(param);
return Result.ok();
}
}
......@@ -17,5 +17,8 @@ public interface OwnerAccountDao extends BaseDao<OwnerAccountMapper, OwnerAccoun
OwnerAccount getAccountByOwnerUserNoAndAccountType(Long ownerUserNo, Integer accountType);
int updateAccount(OwnerAccount account, LocalDateTime now);
int updateOwnerAccountForConfirm(OwnerAccount account);
int updateAccountCAS(OwnerAccount account, LocalDateTime now, boolean flag);
}
......@@ -37,14 +37,19 @@ public class OwnerAccountDaoImpl extends BaseDaoImpl<OwnerAccountMapper, OwnerAc
return baseMapper.selectOne(lQrWrapper().eq(OwnerAccount::getAccountType, accountType).eq(OwnerAccount::getOwnerUserNo, ownerUserNo));
}
@Override
public int updateAccount(OwnerAccount account, LocalDateTime now) {
return baseMapper.updateAccount(account, now);
// if (flag) {
// baseMapper.addAccount(account, now);
// } else {
// baseMapper.subAccount(account, now);
// }
public int updateOwnerAccountForConfirm(OwnerAccount account) {
return baseMapper.updateOwnerAccountForConfirm(account);
}
@Override
public int updateAccountCAS(OwnerAccount account, LocalDateTime now, boolean flag) {
if (flag) {
return baseMapper.addAccount(account, now);
} else {
return baseMapper.subAccount(account, now);
}
}
......
......@@ -22,9 +22,12 @@ public interface OwnerAccountMapper extends BaseMapper<OwnerAccount> {
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "pageList")
IPage<OwnerAccountVO> pageList(Page<OwnerAccountVO> page, PageOwnerAccountListParam param);
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "updateAccount")
int updateAccount(OwnerAccount account, LocalDateTime now);
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "addAccount")
int addAccount(OwnerAccount account, LocalDateTime now);
// @SelectProvider(type = OwnerAccountSqlProvider.class, method = "subAccount")
// int subAccount(OwnerAccount account, LocalDateTime now);
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "subAccount")
int subAccount(OwnerAccount account, LocalDateTime now);
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "updateOwnerAccountForConfirm")
int updateOwnerAccountForConfirm(OwnerAccount account);
}
\ No newline at end of file
......@@ -17,5 +17,5 @@ import org.apache.ibatis.annotations.SelectProvider;
public interface OwnerBindCardRecordMapper extends BaseMapper<OwnerBindCardRecord> {
@SelectProvider(type = OwnerBindCardRecordSqlProvider.class, method = "ownerBindCardPageList")
IPage<OwnerBindCardRecordVO> ownerBindCardPageList(PageOwnerBindCardRecordListParam param);
IPage<OwnerBindCardRecordVO> ownerBindCardPageList(Page<OwnerBindCardRecordVO> page,PageOwnerBindCardRecordListParam param);
}
\ No newline at end of file
......@@ -43,7 +43,7 @@ public class OwnerAccount implements HasKey<Integer> {
* 联系电话
*/
@TableField("mobile")
private Integer mobile;
private String mobile;
/**
* 账户类型;1:保证金 2:预付运费
*/
......@@ -75,8 +75,8 @@ public class OwnerAccount implements HasKey<Integer> {
@TableField("create_time")
private LocalDateTime createTime;
@TableField("modify_time")
private LocalDateTime modifyTime;
@TableField("modified_time")
private LocalDateTime modifiedTime;
@KeyColumn("id")
@Override
......
......@@ -110,8 +110,8 @@ public class OwnerCaseOut implements HasKey<Integer> {
/**
* 修改时间
*/
@TableField("modify_time")
private LocalDateTime modifyTime;
@TableField("modified_time")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
......
......@@ -32,7 +32,7 @@ public class OwnerTopUp implements HasKey<Integer> {
/**
* 充值编号
*/
@TableField("owner_no")
@TableField("top_up_no")
private Long topUpNo;
/**
* 货主编码
......
......@@ -2,7 +2,12 @@ package com.clx.performance.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OwnerTransferInfo;
import com.clx.performance.param.open.OpenOwnerBindCardParam;
import com.clx.performance.param.open.OpenOwnerCaseOutParam;
import com.clx.performance.param.open.OpenOwnerTopUpParam;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.owner.CreteAccountParam;
import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO;
import com.clx.performance.vo.pc.OwnerAccountVO;
import com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam;
......@@ -10,6 +15,7 @@ import com.clx.user.vo.pc.owner.OwnerBindCardVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import java.util.List;
import java.util.Map;
public interface OwnerAccountService {
IPage<OwnerAccountVO> pageList(PageOwnerAccountListParam param);
......@@ -18,12 +24,16 @@ public interface OwnerAccountService {
IPage<OwnerAccountRunningWaterRecordVO> prepaidFreightAccountPageList(PagePlatformPrepaidFreightAccountParam param);
List<OwnerAccountVO> accountInfo(Long ownerUserNo);
Map<String,OwnerAccountVO> accountInfo(Long ownerUserNo);
Long accountTopUp(OwnerTopUpParam param);
Long openAccountTopUp(OpenOwnerTopUpParam param);
Long accountCaseOut(OwnerCaseOutParam param);
Long openAccountCaseOut(OpenOwnerCaseOutParam param);
/**
* 充值审批
*/
......@@ -61,7 +71,15 @@ public interface OwnerAccountService {
void bindOwnerBindCard(OwnerBindCardParam param);
void openBindOwnerBindCard(OpenOwnerBindCardParam param);
void unBindOwnerBindCard(OwnerBindCardParam param);
void ownerAccountFrozen(Long ownerUserNo);
void openUnBindOwnerBindCard(OpenOwnerBindCardParam param);
void ownerAccountFrozen(FrozenAccountParam param);
void createAccount(CreteAccountParam param);
}
......@@ -5,6 +5,7 @@ import com.clx.order.enums.OrderEnum;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OwnerAccount;
import com.clx.performance.param.pc.PageOwnerAccountListParam;
import com.msl.common.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
......@@ -37,29 +38,39 @@ public class OwnerAccountSqlProvider {
return sql;
}
public String updateAccount(OwnerAccount account, LocalDateTime now) {
public String addAccount(OwnerAccount account, LocalDateTime now) {
StringBuffer sqlList = new StringBuffer();
sqlList.append("update owner_account set usable_balance = usable_balance +" +
account.getUsableBalance() + ",frozen_balance = frozen_balance +"
+ account.getUsableBalance() + ",account_balance = account_balance +"
account.getUsableBalance() + ",account_balance = account_balance +"
+ account.getAccountBalance()+
",modify_time=" + now
+ "where id = " + account.getId() + "and modify_time = " + account.getModifyTime()
",modified_time='" + DateUtils.formatDateTime(now, "yyyy-MM-dd HH:mm:ss") +"'"
+ " where id = " + account.getId() + " and modified_time = '" + DateUtils.formatDateTime(account.getModifiedTime(), "yyyy-MM-dd HH:mm:ss").get()+"'"
);
return sqlList.toString();
}
public String subAccount(OwnerAccount account, LocalDateTime now) {
StringBuffer sqlList = new StringBuffer();
sqlList.append("update owner_account set usable_balance = usable_balance -" +
account.getUsableBalance() + ",frozen_balance = frozen_balance +"
+ account.getFrozenBalance() +",account_balance = account_balance -" + account.getFrozenBalance()
+ ",modified_time='" + DateUtils.formatDateTime(now, "yyyy-MM-dd HH:mm:ss").get()+"'"
+ " where id = " + account.getId() + " and modified_time = '" + DateUtils.formatDateTime(account.getModifiedTime(), "yyyy-MM-dd HH:mm:ss").get()+"'"
);
return sqlList.toString();
}
public String updateOwnerAccountForConfirm(OwnerAccount account) {
StringBuffer sqlList = new StringBuffer();
sqlList.append("update owner_account set frozen_balance = frozen_balance -" +
account.getFrozenBalance()
+ "where id = " + account.getId() + "and modified_time = '" + DateUtils.formatDateTime(account.getModifiedTime(), "yyyy-MM-dd HH:mm:ss").get()+"'"
);
return sqlList.toString();
}
//
// public String subAccount(OwnerAccount account, LocalDateTime now) {
// StringBuffer sqlList = new StringBuffer();
//
// sqlList.append("update owner_account set usable_balance = usable_balance -" +
// account.getUsableBalance() + ",frozen_balance = frozen_balance -"
// + account.getUsableBalance() + ",modify_time=" + now
// + "where id = " + account.getId() + "and modify_time = " + account.getModifyTime()
// );
//
// return sqlList.toString();
// }
}
package com.clx.performance.sqlProvider;
import com.clx.performance.param.pc.PageOwnerAccountListParam;
import com.clx.performance.param.pc.PageOwnerBindCardRecordListParam;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class OwnerBindCardRecordSqlProvider {
public String ownerBindCardPageList(@Param("param") PageOwnerAccountListParam param) {
public String ownerBindCardPageList(@Param("param") PageOwnerBindCardRecordListParam param) {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.owner_user_name, a.owner_type, a.owner_bank, " +
......
......@@ -13,7 +13,7 @@ public class OwnerCaseOutProvider {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.case_out_no, a.case_out_balance, a.account_type, " +
" a.status,a.case_out_bank,a.case_out_bank_number,a.payment_time,a.create_by,a.platform_payment_bank_number,a.platform_payment_bank,a.payment_by,a.payment_proof,a.create_time,a.modify_time");
" a.status,a.case_out_bank,a.case_out_bank_number,a.payment_time,a.create_by,a.platform_payment_bank_number,a.platform_payment_bank,a.payment_by,a.payment_proof,a.create_time,a.modified_time");
FROM("owner_case_out a");
if (StringUtils.isNotBlank(param.getBeginTime()) && StringUtils.isNotBlank(param.getEndTime())) {
WHERE("a.create_time >= #{param.beginTime} and a.create_time <= #{param.endTime}");
......
......@@ -13,7 +13,7 @@ public class OwnerTopUpProvider {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.top_up_no, a.top_up_balance, a.account_type, " +
" a.status,a.drawing_bank, a.drawing_bank_number,a.drawing_proof,a.approval_time,a.approval_by,a.approval_turn_down,a.create_by,a.create_time,a.modify_time");
" a.status,a.drawing_bank, a.drawing_bank_number,a.drawing_proof,a.approval_time,a.approval_by,a.approval_turn_down,a.create_by,a.create_time,a.modified_time");
FROM("owner_top_up a");
if (StringUtils.isNotBlank(param.getBeginTime()) && StringUtils.isNotBlank(param.getEndTime())) {
WHERE("a.create_time >= #{param.beginTime} and a.create_time <= #{param.endTime}");
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论