提交 3c6e9593 authored 作者: liuhaiquan's avatar liuhaiquan

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

...@@ -69,7 +69,7 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -69,7 +69,7 @@ public enum PerformanceResultEnum implements ResultEnum {
SETTLEMENT_ORDER_STATUS_CHANGED(1401, "结算单状态已变更,请重新刷新页面"), SETTLEMENT_ORDER_STATUS_CHANGED(1401, "结算单状态已变更,请重新刷新页面"),
SETTLEMENT_NO_FOUND(1401, "结算单不存在"), SETTLEMENT_NO_FOUND(1401, "结算单不存在"),
MONEY_NO_SAME(1501, "货主提现金额和平台支付金额不一致"),
; ;
private final int code; private final int code;
......
...@@ -18,10 +18,10 @@ public enum SettlementLogEnum { ...@@ -18,10 +18,10 @@ public enum SettlementLogEnum {
UPLOAD_SETTLEMENT (2, "上传结算凭证"), UPLOAD_SETTLEMENT (2, "上传结算凭证"),
OWNER_TO_BE_CONFIRMED(3, "货主确认结算单"), OWNER_TO_BE_CONFIRMED(3, "货主确认结算单"),
SHIPPER_TO_PAYMENT(4, "货主付款"), SHIPPER_TO_PAYMENT(4, "货主付款"),
PLATFORM_CONFIRMED_OWNER_PAYMENT(5, "平台确认付款"), PLATFORM_CONFIRMED_OWNER_PAYMENT(5, "平台确认付款"),
PLATFORM_TO_PAYMENT(6, "平台付款"), PLATFORM_TO_PAYMENT(6, "平台付款"),
OWNER_CONFIRMED_PLATFORM_PAYMENT(7, "货主确认付款"), OWNER_CONFIRMED_PLATFORM_PAYMENT(7, "货主确认付款"),
INVOICE_TO_BE_MAILED(8, "邮寄发票"), INVOICE_TO_BE_MAILED(8, "邮寄发票"),
COMPLETED(9, "已完结"), COMPLETED(9, "已完结"),
; ;
......
package com.clx.performance.feign; package com.clx.performance.feign;
import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
...@@ -27,4 +30,6 @@ public interface PerformanceFeign { ...@@ -27,4 +30,6 @@ public interface PerformanceFeign {
@GetMapping(value = {"clx-performance/feign/orderGoods/getOrderGoodsListByOrderNo"}) @GetMapping(value = {"clx-performance/feign/orderGoods/getOrderGoodsListByOrderNo"})
List<OrderGoodsFeignVO> getOrderGoodsListByOrderNo(@RequestParam String orderNo); List<OrderGoodsFeignVO> getOrderGoodsListByOrderNo(@RequestParam String orderNo);
@PostMapping(value = {"clx-performance/feign/owner/ownerAccountFrozen"})
Result<Object> ownerAccountFrozen(@RequestBody FrozenAccountParam param);
} }
package com.clx.performance.param.pc; package com.clx.performance.param.pc;
import com.msl.common.convertor.type.MoneyInConvert;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
...@@ -29,6 +30,7 @@ public class OwnerCaseOutApproveParam { ...@@ -29,6 +30,7 @@ public class OwnerCaseOutApproveParam {
private String paymentProof; private String paymentProof;
@ApiModelProperty(value = "平台付款金额", example = "11.21") @ApiModelProperty(value = "平台付款金额", example = "11.21")
@MoneyInConvert
private BigDecimal platformPayBalance; private BigDecimal platformPayBalance;
} }
...@@ -17,7 +17,7 @@ public class PageOwnerAccountListParam extends PageParam { ...@@ -17,7 +17,7 @@ public class PageOwnerAccountListParam extends PageParam {
private String ownerUserNo; private String ownerUserNo;
@ApiModelProperty(value = "联系电话") @ApiModelProperty(value = "联系电话")
private Integer mobile; private String mobile;
@ApiModelProperty(value = "账户类型 1:保证金 2:预付运费") @ApiModelProperty(value = "账户类型 1:保证金 2:预付运费")
private Integer accountType; private Integer accountType;
......
...@@ -29,4 +29,7 @@ public class PageOwnerAccountRunningWaterParam extends PageParam { ...@@ -29,4 +29,7 @@ public class PageOwnerAccountRunningWaterParam extends PageParam {
@ApiModelProperty(value = "操作结束时间",example = "2020-01-01 10:10:10") @ApiModelProperty(value = "操作结束时间",example = "2020-01-01 10:10:10")
private String endTime; private String endTime;
@ApiModelProperty(value="货主编码",example = "20145787812312312")
private Long ownerUserNo;
} }
...@@ -16,9 +16,6 @@ import lombok.ToString; ...@@ -16,9 +16,6 @@ import lombok.ToString;
@ToString @ToString
public class PlatformAccountTopUpParam{ public class PlatformAccountTopUpParam{
@ApiModelProperty(value="货主编码",example = "20145787812312312")
private Long ownerUserNo;
@ApiModelProperty(value="id",example = "1") @ApiModelProperty(value="id",example = "1")
private Integer id; private Integer id;
......
package com.clx.performance.param.pc.owner; package com.clx.performance.param.pc.owner;
import com.msl.common.convertor.type.MoneyInConvert;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
...@@ -15,11 +14,10 @@ import java.math.BigDecimal; ...@@ -15,11 +14,10 @@ import java.math.BigDecimal;
public class FrozenAccountParam { public class FrozenAccountParam {
private Long userNo; private Long userNo;
private String mobile;
private String ownerName; //预付运费
@MoneyInConvert
private BigDecimal frozenBalance; private BigDecimal frozenBalance;
@MoneyInConvert //保证金
private BigDecimal ensureBalance; private BigDecimal ensureBalance;
private Integer orderId; private Integer orderId;
private String orderNo; private String orderNo;
......
...@@ -22,6 +22,6 @@ public class PageCarrierSettlementOwnerParam extends PageParam { ...@@ -22,6 +22,6 @@ public class PageCarrierSettlementOwnerParam extends PageParam {
@ApiModelProperty(value="货主编码",example = "201457878") @ApiModelProperty(value="货主编码",example = "201457878")
private Long ownerUserNo; private Long ownerUserNo;
@ApiModelProperty(value="状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:平台确认货主付款 60:待平台付款 70:货主确认平台付款 80:待邮寄发票 90:已完结",example = "10") @ApiModelProperty(value="状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结",example = "10")
private String status; private String status;
} }
...@@ -22,17 +22,17 @@ public class OwnerAccountVO { ...@@ -22,17 +22,17 @@ public class OwnerAccountVO {
* 货主编码 * 货主编码
*/ */
@ApiModelProperty(value = "货主编码") @ApiModelProperty(value = "货主编码")
private String ownerNo; private String ownerUserNo;
/** /**
* 货主名称 * 货主名称
*/ */
@ApiModelProperty(value = "货主名称") @ApiModelProperty(value = "货主名称")
private String ownerName; private String ownerUserName;
/** /**
* 联系电话 * 联系电话
*/ */
@ApiModelProperty(value = "联系电话") @ApiModelProperty(value = "联系电话")
private Integer mobile; private String mobile;
/** /**
* 账户类型;1:保证金 2:预付运费 * 账户类型;1:保证金 2:预付运费
*/ */
......
...@@ -30,6 +30,14 @@ public class CarrierPageSettlementOwnerDetailVO { ...@@ -30,6 +30,14 @@ public class CarrierPageSettlementOwnerDetailVO {
private String childNo; private String childNo;
@ApiModelProperty(value = "结算单号") @ApiModelProperty(value = "结算单号")
private String settlementNo; private String settlementNo;
@ApiModelProperty(value = "发货地址id", example = "")
private Integer sendAddressId;
@ApiModelProperty(value = "发货地址", example = "")
private String sendAddress;
@ApiModelProperty(value = "收货地址id", example = "")
private Integer receiveAddressId;
@ApiModelProperty(value = "收货地址", example = "")
private String receiveAddress;
@ApiModelProperty(value = "货物id") @ApiModelProperty(value = "货物id")
private Integer goodsId; private Integer goodsId;
@ApiModelProperty(value = "货物名称") @ApiModelProperty(value = "货物名称")
......
...@@ -50,6 +50,6 @@ public class CarrierPageSettlementOwnerVO { ...@@ -50,6 +50,6 @@ public class CarrierPageSettlementOwnerVO {
private BigDecimal invoiceFreight; private BigDecimal invoiceFreight;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private String createTime; private String createTime;
@ApiModelProperty(value = "状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:平台确认货主付款 60:待平台付款 70:货主确认平台付款 80:待邮寄发票 90:已完结") @ApiModelProperty(value = "状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结")
private Integer status; private Integer status;
} }
...@@ -132,10 +132,10 @@ public class CarrierSettlementOwnerDetailVO { ...@@ -132,10 +132,10 @@ public class CarrierSettlementOwnerDetailVO {
@ApiModelProperty(value = "开票状态Msg 1-已开票 2-部分开票 3-无需开票", example = "无需开票") @ApiModelProperty(value = "开票状态Msg 1-已开票 2-部分开票 3-无需开票", example = "无需开票")
private String invoiceStatusMsg; private String invoiceStatusMsg;
@ApiModelProperty(value = "状态code 1-待锁定,2-待对账,3-待货主确认,4-待货主付款,5-付款待确认,6-待邮寄发票,7-待平台付款,8-已完结", example = "1") @ApiModelProperty(value = "状态code 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结", example = "10")
private Integer statusCode; private Integer statusCode;
@ApiModelProperty(value = "状态Msg 1-待锁定,2-待对账,3-待货主确认,4-待货主付款,5-付款待确认,6-待邮寄发票,7-待平台付款,8-已完结", example = "待锁定") @ApiModelProperty(value = "状态Msg", example = "待锁定")
private String statusMsg; private String statusMsg;
@ApiModelProperty(value = "驳回原因", example = "驳回原因") @ApiModelProperty(value = "驳回原因", example = "驳回原因")
......
...@@ -50,6 +50,6 @@ public class OwnerPageSettlementOwnerVO { ...@@ -50,6 +50,6 @@ public class OwnerPageSettlementOwnerVO {
private BigDecimal invoiceFreight; private BigDecimal invoiceFreight;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private String createTime; private String createTime;
@ApiModelProperty(value = "状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:平台确认货主付款 60:待平台付款 70:货主确认平台付款 80:待邮寄发票 90:已完结") @ApiModelProperty(value = "状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结")
private Integer status; private Integer status;
} }
package com.clx.performance.controller.feign;
import cn.hutool.json.JSONUtil;
import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.service.OwnerAccountService;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/feign/owner")
@Validated
@AllArgsConstructor
public class OwnerAccountFeignController {
private final OwnerAccountService ownerAccountService;
@ApiOperation(value = "冻结保证金", notes = "<br>By:胡宇帆")
@PostMapping("/ownerAccountFrozen")
public Result<Object> ownerAccountFrozen(@RequestBody FrozenAccountParam param) {
log.info("进行冻结保证金账户,相关参数{}", JSONUtil.parse(param).toString());
ownerAccountService.ownerAccountFrozen(param);
return Result.ok();
}
}
...@@ -93,6 +93,7 @@ public class CarrierAccountController { ...@@ -93,6 +93,7 @@ public class CarrierAccountController {
@ApiOperation(value = "提现审批", notes = "<br>By:胡宇帆") @ApiOperation(value = "提现审批", notes = "<br>By:胡宇帆")
@PostMapping("/accountCaseOutApprove") @PostMapping("/accountCaseOutApprove")
@UnitCovert()
public Result<Object> accountCaseOutApprove(@RequestBody OwnerCaseOutApproveParam param) { public Result<Object> accountCaseOutApprove(@RequestBody OwnerCaseOutApproveParam param) {
ownerAccountService.accountCaseOutApprove(param); ownerAccountService.accountCaseOutApprove(param);
return Result.ok(); return Result.ok();
......
...@@ -87,8 +87,6 @@ public class OwnerAccountController { ...@@ -87,8 +87,6 @@ public class OwnerAccountController {
@PostMapping("/accountTopUp") @PostMapping("/accountTopUp")
@UnitCovert @UnitCovert
public Result<Long> accountTopUp(@RequestBody OwnerTopUpParam param) { public Result<Long> accountTopUp(@RequestBody OwnerTopUpParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo());
Long id = ownerAccountService.accountTopUp(param); Long id = ownerAccountService.accountTopUp(param);
return Result.ok(id); return Result.ok(id);
...@@ -162,14 +160,6 @@ public class OwnerAccountController { ...@@ -162,14 +160,6 @@ public class OwnerAccountController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
} }
@ApiOperation(value = "冻结保证金", notes = "<br>By:胡宇帆")
@PostMapping("/ownerAccountFrozen")
@UnitCovert()
public Result<Object> ownerAccountFrozen(FrozenAccountParam param) {
ownerAccountService.ownerAccountFrozen(param);
return Result.ok();
}
@ApiOperation(value = "创建账户", notes = "<br>By:胡宇帆") @ApiOperation(value = "创建账户", notes = "<br>By:胡宇帆")
@PostMapping("/createAccount") @PostMapping("/createAccount")
public Result<Object> createAccount(CreteAccountParam param) { public Result<Object> createAccount(CreteAccountParam param) {
......
...@@ -41,7 +41,9 @@ public class OwnerAccountDaoImpl extends BaseDaoImpl<OwnerAccountMapper, OwnerAc ...@@ -41,7 +41,9 @@ public class OwnerAccountDaoImpl extends BaseDaoImpl<OwnerAccountMapper, OwnerAc
@Override @Override
public Integer updateOwnerAccountForConfirm(OwnerAccount account) { public Integer updateOwnerAccountForConfirm(OwnerAccount account) {
return baseMapper.updateOwnerAccountForConfirm(account); String nowStr = DateUtils.formatDateTime(LocalDateTime.now(),"yyyy-MM-dd HH:mm:ss").get();
return baseMapper.updateOwnerAccountForConfirm(account,nowStr);
} }
@Override @Override
......
...@@ -25,21 +25,24 @@ public interface OwnerAccountMapper extends BaseMapper<OwnerAccount> { ...@@ -25,21 +25,24 @@ public interface OwnerAccountMapper extends BaseMapper<OwnerAccount> {
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "pageList") @SelectProvider(type = OwnerAccountSqlProvider.class, method = "pageList")
IPage<OwnerAccountVO> pageList(Page<OwnerAccountVO> page, PageOwnerAccountListParam param); IPage<OwnerAccountVO> pageList(Page<OwnerAccountVO> page, PageOwnerAccountListParam param);
// @SelectProvider(type = OwnerAccountSqlProvider.class, method = "addAccount") // @SelectProvider(type = OwnerAccountSqlProvider.class, method = "addAccount")
@Update("update owner_account set usable_balance = usable_balance + #{account.usableBalance}" @Update("update owner_account set usable_balance = usable_balance + #{account.usableBalance}"
+",account_balance = account_balance + #{account.accountBalance}" + ",account_balance = account_balance + #{account.accountBalance}"
+",modified_time= #{now}" + ",modified_time= #{now}"
+"where id = #{account.id} and modified_time = #{account.modifiedTime}" + "where id = #{account.id} and modified_time = #{account.modifiedTime}"
) )
Integer addAccount(@Param("account") OwnerAccount account, @Param("now")String now); Integer addAccount(@Param("account") OwnerAccount account, @Param("now") String now);
@Update("update owner_account set usable_balance = usable_balance - #{account.usableBalance}," + @Update("update owner_account set usable_balance = usable_balance - #{account.usableBalance}," +
"frozen_balance = frozen_balance + #{account.frozenBalance},account_balance = account_balance - #{account.accountBalance}," + "frozen_balance = frozen_balance + #{account.frozenBalance},account_balance = account_balance - #{account.accountBalance}," +
"modified_time=#{now}" "modified_time=#{now}"
+"where id = #{account.id} and modified_time = #{account.modifiedTime}" + "where id = #{account.id} and modified_time = #{account.modifiedTime}"
) )
Integer subAccount(@Param("account") OwnerAccount account, @Param("now")String now); Integer subAccount(@Param("account") OwnerAccount account, @Param("now") String now);
@SelectProvider(type = OwnerAccountSqlProvider.class, method = "updateOwnerAccountForConfirm") @Update("update owner_account set frozen_balance = frozen_balance - #{account.frozenBalance}," +
Integer updateOwnerAccountForConfirm(OwnerAccount account); "modified_time=#{now}"
+ "where id = #{account.id} and modified_time = #{account.modifiedTime}"
)
Integer updateOwnerAccountForConfirm(@Param("account") OwnerAccount account, @Param("now") String now);
} }
\ No newline at end of file
...@@ -21,7 +21,7 @@ import java.time.LocalDateTime; ...@@ -21,7 +21,7 @@ import java.time.LocalDateTime;
@Getter @Getter
@Setter @Setter
@Accessors(chain = true) @Accessors(chain = true)
@TableName("Owner_running_water_record") @TableName("owner_running_water_record")
public class OwnerRunningWaterRecord implements HasKey<Integer> { public class OwnerRunningWaterRecord implements HasKey<Integer> {
/** /**
* id * id
...@@ -42,8 +42,8 @@ public class OwnerRunningWaterRecord implements HasKey<Integer> { ...@@ -42,8 +42,8 @@ public class OwnerRunningWaterRecord implements HasKey<Integer> {
/** /**
* 货主名称 * 货主名称
*/ */
@TableField("owner_name") @TableField("owner_user_name")
private String ownerName; private String ownerUserName;
/** /**
* 联系电话 * 联系电话
*/ */
......
...@@ -83,7 +83,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -83,7 +83,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
* 亏吨计算 * 亏吨计算
*/ */
private BigDecimal lossWeightCalc(BigDecimal loadNet, BigDecimal unLoadNet){ private BigDecimal lossWeightCalc(BigDecimal loadNet, BigDecimal unLoadNet){
return unLoadNet.compareTo(loadNet) < 0? unLoadNet.subtract(loadNet) : BigDecimal.ZERO; return unLoadNet.compareTo(loadNet) < 0? loadNet.subtract(unLoadNet) : BigDecimal.ZERO;
} }
/** /**
......
package com.clx.performance.service.impl.settle; package com.clx.performance.service.impl.settle;
import com.clx.order.enums.ResultEnum;
import com.clx.performance.dao.settle.SettlementDriverDao; import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDao; import com.clx.performance.dao.settle.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementLogEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementPlatformEnum;
import com.clx.performance.extranal.user.OwnerInfoService; import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.impl.UniqueOrderNumService; import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementMqHandlerService; import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementService; import com.clx.performance.service.settle.SettlementService;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.mq.SettlementDetailAddMqParam; import com.clx.performance.vo.mq.SettlementDetailAddMqParam;
import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam; import com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam;
import com.clx.user.vo.feign.OwnerInfoFeignVO; import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -55,6 +55,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -55,6 +55,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired @Autowired
private SettlementService settlementService; private SettlementService settlementService;
@Autowired
private SettlementLogService settlementLogService;
@Override @Override
...@@ -63,6 +66,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -63,6 +66,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(mq.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
String settlementNo = null ;
SettlementOwner settlementOwner = null; SettlementOwner settlementOwner = null;
OwnerInfoFeignVO ownerInfo = ownerInfoService.getOwnerInfo(settlementOwnerDetail.getOwnerUserNo()); OwnerInfoFeignVO ownerInfo = ownerInfoService.getOwnerInfo(settlementOwnerDetail.getOwnerUserNo());
...@@ -71,27 +75,29 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -71,27 +75,29 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
LocalDateTime settlementPeriodTime = LocalDateTimeUtils.getBeginMonthDate(); LocalDateTime settlementPeriodTime = LocalDateTimeUtils.getBeginMonthDate();
settlementOwner = settlementOwnerDao.selectUnlockOfSettlementPeriodMonth(settlementOwnerDetail.getOrderNo(), settlementPeriodTime, settlementOwnerDetail.getInvoiceType()).orNull(); settlementOwner = settlementOwnerDao.selectUnlockOfSettlementPeriodMonth(settlementOwnerDetail.getOrderNo(), settlementPeriodTime, settlementOwnerDetail.getInvoiceType()).orNull();
if (settlementOwner == null){ // 月结初始化 if (settlementOwner == null){ // 月结初始化
settlementPeriodMonthInit(settlementOwnerDetail, settlementPeriodTime); settlementNo = settlementPeriodMonthInit(settlementOwnerDetail, settlementPeriodTime);
} }
else { // 月结更新 else { // 月结更新
settlementPeriodMonthUpdate(settlementOwner, settlementOwnerDetail); settlementPeriodMonthUpdate(settlementOwner, settlementOwnerDetail);
settlementNo = settlementOwner.getSettlementNo();
} }
} }
else { else {
settlementOwner = settlementOwnerDao.selectUnlockOfSettlementPeriodImmediate(settlementOwnerDetail.getOrderNo(), settlementOwnerDetail.getInvoiceType()).orNull(); settlementOwner = settlementOwnerDao.selectUnlockOfSettlementPeriodImmediate(settlementOwnerDetail.getOrderNo(), settlementOwnerDetail.getInvoiceType()).orNull();
if (settlementOwner == null){ // 拉运完成初始化 if (settlementOwner == null){ // 拉运完成初始化
settlementPeriodImmediateInit(settlementOwnerDetail); settlementNo = settlementPeriodImmediateInit(settlementOwnerDetail);
} }
else { // 拉运完成更新 else { // 拉运完成更新
settlementPeriodImmediateUpdate(settlementOwner, settlementOwnerDetail); settlementPeriodImmediateUpdate(settlementOwner, settlementOwnerDetail);
settlementNo = settlementOwner.getSettlementNo();
} }
} }
settlementDriverSave(settlementDriverDetail); settlementDriverSave(settlementDriverDetail,settlementNo);
// 更新结算单 // 更新结算单
settlementOwnerDetail.setSettlementNo(settlementOwner.getSettlementNo()); settlementOwnerDetail.setSettlementNo(settlementNo);
settlementDriverDetail.setSettlementNo(settlementOwner.getSettlementNo()); settlementDriverDetail.setSettlementNo(settlementNo);
settlementOwnerDetailDao.updateSettlementNo(settlementOwnerDetail); settlementOwnerDetailDao.updateSettlementNo(settlementOwnerDetail);
settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail); settlementDriverDetailDao.updateSettlementNo(settlementDriverDetail);
} }
...@@ -108,8 +114,27 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -108,8 +114,27 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode()); settlementService.updateSettlementDetailInvoiceType(settlementOwnerDetail.getChildNo(), SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
} }
private void settlementDriverSave(SettlementDriverDetail settlementDriverDetail){ private void settlementDriverSave(SettlementDriverDetail detail,String settlementNo){
SettlementDriver settlementDriver = new SettlementDriver(); SettlementDriver settlementDriver = new SettlementDriver();
settlementDriver.setDriverUserNo(detail.getDriverUserNo());
settlementDriver.setDriverName(detail.getDriverName());
settlementDriver.setSettlementNo(settlementNo);
settlementDriver.setChildNo(detail.getChildNo());
settlementDriver.setOrderGoodsNo(detail.getOrderGoodsNo());
settlementDriver.setOrderNo(detail.getOrderNo());
settlementDriver.setGoodsId(detail.getGoodsId());
settlementDriver.setGoodsName(detail.getGoodsName());
settlementDriver.setTruckNo(detail.getTruckNo());
settlementDriver.setFreightPrice(detail.getFreightPrice());
settlementDriver.setWeight(detail.getWeight());
settlementDriver.setFreight(detail.getFreight());
settlementDriver.setLossPrice(detail.getLossPrice());
settlementDriver.setLossWeight(detail.getLossWeight());
settlementDriver.setLossFreight(detail.getLossFreight());
settlementDriver.setSettlementFreight(detail.getSettlementFreight());
settlementDriver.setInvoiceType(detail.getInvoiceType());
settlementDriver.setSettlementPlatform(String.valueOf(SettlementPlatformEnum.Platform.MSL.getCode()));
settlementDriver.setStatus(SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode());
settlementDriverDao.saveEntity(settlementDriver); settlementDriverDao.saveEntity(settlementDriver);
} }
...@@ -117,7 +142,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -117,7 +142,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/** /**
* 月结初始化 * 月结初始化
*/ */
private void settlementPeriodMonthInit(SettlementOwnerDetail settlementOwnerDetail, LocalDateTime settlementPeriodTime){ private String settlementPeriodMonthInit(SettlementOwnerDetail settlementOwnerDetail, LocalDateTime settlementPeriodTime){
//获取所有detail //获取所有detail
...@@ -136,6 +161,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -136,6 +161,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setWeight(settlementOwnerDetail.getWeight()); settlementOwner.setWeight(settlementOwnerDetail.getWeight());
settlementOwner.setFreight(settlementOwnerDetail.getFreight()); settlementOwner.setFreight(settlementOwnerDetail.getFreight());
settlementOwner.setLossWeight(settlementOwnerDetail.getLossWeight());
settlementOwner.setLossFreight(settlementOwnerDetail.getLossFreight()); settlementOwner.setLossFreight(settlementOwnerDetail.getLossFreight());
settlementOwner.setSettlementFreight(settlementOwnerDetail.getSettlementFreight()); settlementOwner.setSettlementFreight(settlementOwnerDetail.getSettlementFreight());
...@@ -146,6 +172,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -146,6 +172,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setStatus(SettlementOwnerEnum.Status.TO_BE_LOCKED.getCode()); settlementOwner.setStatus(SettlementOwnerEnum.Status.TO_BE_LOCKED.getCode());
settlementOwnerDao.saveEntity(settlementOwner); settlementOwnerDao.saveEntity(settlementOwner);
//保存结算单日志----创建结算单
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),SettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),0L,"系统");
return settlementNo;
} }
/** /**
...@@ -187,7 +220,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -187,7 +220,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/** /**
* 拉运完成结 初始化 * 拉运完成结 初始化
*/ */
private void settlementPeriodImmediateInit(SettlementOwnerDetail settlementOwnerDetail){ private String settlementPeriodImmediateInit(SettlementOwnerDetail settlementOwnerDetail){
SettlementOwner settlementOwner = new SettlementOwner(); SettlementOwner settlementOwner = new SettlementOwner();
String settlementNo = settlementNoGenerate(); String settlementNo = settlementNoGenerate();
...@@ -201,6 +234,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -201,6 +234,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setWeight(settlementOwnerDetail.getWeight()); settlementOwner.setWeight(settlementOwnerDetail.getWeight());
settlementOwner.setFreight(settlementOwnerDetail.getFreight()); settlementOwner.setFreight(settlementOwnerDetail.getFreight());
settlementOwner.setLossWeight(settlementOwnerDetail.getLossWeight());
settlementOwner.setLossFreight(settlementOwnerDetail.getLossFreight()); settlementOwner.setLossFreight(settlementOwnerDetail.getLossFreight());
settlementOwner.setSettlementFreight(settlementOwnerDetail.getSettlementFreight()); settlementOwner.setSettlementFreight(settlementOwnerDetail.getSettlementFreight());
...@@ -211,6 +245,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -211,6 +245,13 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setStatus(SettlementOwnerEnum.Status.TO_BE_ACCOUNT.getCode()); settlementOwner.setStatus(SettlementOwnerEnum.Status.TO_BE_ACCOUNT.getCode());
settlementOwnerDao.saveEntity(settlementOwner); settlementOwnerDao.saveEntity(settlementOwner);
//保存结算单日志----创建结算单
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.CREATE_SETTLEMENT.getCode(),SettlementLogEnum.Type.CREATE_SETTLEMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),0L,"系统");
return settlementNo;
} }
/** /**
......
...@@ -101,7 +101,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -101,7 +101,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
* 亏吨计算 * 亏吨计算
*/ */
private BigDecimal lossWeightCalc(BigDecimal loadNet, BigDecimal unLoadNet){ private BigDecimal lossWeightCalc(BigDecimal loadNet, BigDecimal unLoadNet){
return unLoadNet.compareTo(loadNet) < 0? unLoadNet.subtract(loadNet) : BigDecimal.ZERO; return unLoadNet.compareTo(loadNet) < 0? loadNet.subtract(unLoadNet) : BigDecimal.ZERO;
} }
/** /**
......
...@@ -35,6 +35,7 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook; ...@@ -35,6 +35,7 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -95,15 +96,26 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -95,15 +96,26 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
} }
String settlementNo = settlementOwner.getSettlementNo(); String settlementNo = settlementOwner.getSettlementNo();
//更新状态为待货主付款
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志 //保存结算单日志----货主确认结算单
settlementLogService.saveSettlementLog(settlementNo, settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getCode(),SettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getMsg(), SettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getCode(),SettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName()); OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
int status;
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) >0){
status = SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode();
}else if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) <0){
status = SettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode();
}else{
status = SettlementOwnerEnum.Status.COMPLETED.getCode();
//保存结算单日志----已完结
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.COMPLETED.getCode(),SettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
//更新状态
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,status);
} }
@Override @Override
...@@ -173,7 +185,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -173,7 +185,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
SettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode(),SettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getMsg(), SettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode(),SettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName()); OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
if(Objects.equals(settlementOwner.getStatus(),SettlementOwnerEnum.InvoiceType.ONLINE.getCode())){//网运单 if(Objects.equals(settlementOwner.getInvoiceStatus(),SettlementOwnerEnum.InvoiceType.ONLINE.getCode())){//网运单
status = SettlementOwnerEnum.Status.COMPLETED.getCode(); status = SettlementOwnerEnum.Status.COMPLETED.getCode();
//保存结算单日志 //保存结算单日志
settlementLogService.saveSettlementLog(settlementNo, settlementLogService.saveSettlementLog(settlementNo,
...@@ -294,23 +306,42 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -294,23 +306,42 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
} }
@Override @Override
public void uploadInvoiceImg(UploadInvoiceImgParam param){ public void uploadInvoiceImg(UploadInvoiceImgParam param){
settlementOwnerDao.uploadInvoiceImg(param.getSettlementNo(),param.getInvoiceImg()); String settlementNo = param.getSettlementNo();
settlementOwnerDao.uploadInvoiceImg(settlementNo,param.getInvoiceImg());
settlementOwnerDao.updateStatusBySettlementNo(param.getSettlementNo() settlementOwnerDao.updateStatusBySettlementNo(settlementNo
,SettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode()); ,SettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----上传结算凭证
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.UPLOAD_SETTLEMENT.getCode(),SettlementLogEnum.Type.UPLOAD_SETTLEMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
@Override @Override
public void saveExpress(SaveExpressParam param){ public void saveExpress(SaveExpressParam param){
settlementOwnerDao.saveExpress(param.getSettlementNo(),param.getExpressCompany(),param.getExpressNo()); String settlementNo = param.getSettlementNo();
settlementOwnerDao.saveExpress(settlementNo,param.getExpressCompany(),param.getExpressNo());
settlementOwnerDao.updateStatusBySettlementNo(param.getSettlementNo() settlementOwnerDao.updateStatusBySettlementNo(settlementNo
,SettlementOwnerEnum.Status.COMPLETED.getCode()); ,SettlementOwnerEnum.Status.COMPLETED.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----邮寄发票
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.INVOICE_TO_BE_MAILED.getCode(),SettlementLogEnum.Type.INVOICE_TO_BE_MAILED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
//保存结算单日志----已完结
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.COMPLETED.getCode(),SettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
@Override @Override
public void savePayee(SavePayeeParam param){ public void savePayee(SavePayeeParam param){
settlementOwnerDao.savePayee(param.getSettlementNo(), String settlementNo = param.getSettlementNo();
settlementOwnerDao.savePayee(settlementNo,
param.getPayee(), param.getPayee(),
param.getPayeeBankName(), param.getPayeeBankName(),
param.getPayeeBankCardNo(), param.getPayeeBankCardNo(),
...@@ -319,8 +350,13 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -319,8 +350,13 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
param.getPaymentBankName(), param.getPaymentBankName(),
param.getPaymentAmount()); param.getPaymentAmount());
settlementOwnerDao.updateStatusBySettlementNo(param.getSettlementNo() settlementOwnerDao.updateStatusBySettlementNo(settlementNo
,SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode()); ,SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----平台付款
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.PLATFORM_TO_PAYMENT.getCode(),SettlementLogEnum.Type.PLATFORM_TO_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
@Override @Override
...@@ -331,6 +367,20 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -331,6 +367,20 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
@Override @Override
public void payeeConfirm(String settlementNo){ public void payeeConfirm(String settlementNo){
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode()); settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode());
SettlementOwner settlementOwner = settlementOwnerDao.selectBySettlementNo(settlementNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode(),SettlementLogEnum.Type.PLATFORM_CONFIRMED_OWNER_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
if(Objects.equals(settlementOwner.getInvoiceStatus(),SettlementOwnerEnum.InvoiceType.ONLINE.getCode())){//网运单
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.COMPLETED.getCode(),SettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
} }
......
...@@ -27,7 +27,7 @@ public class OwnerAccountSqlProvider { ...@@ -27,7 +27,7 @@ public class OwnerAccountSqlProvider {
if (StringUtils.isNotBlank(param.getOwnerUserNo())) { if (StringUtils.isNotBlank(param.getOwnerUserNo())) {
WHERE("a.owner_user_no = #{param.ownerUserNo}"); WHERE("a.owner_user_no = #{param.ownerUserNo}");
} }
if (ObjectUtil.isNotNull(param.getMobile())) { if (StringUtils.isNotBlank(param.getMobile())) {
WHERE("a.mobile = #{param.mobile}"); WHERE("a.mobile = #{param.mobile}");
} }
if (ObjectUtil.isNotNull(param.getAccountType())) { if (ObjectUtil.isNotNull(param.getAccountType())) {
...@@ -64,13 +64,4 @@ public class OwnerAccountSqlProvider { ...@@ -64,13 +64,4 @@ public class OwnerAccountSqlProvider {
return sqlList.toString(); 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();
}
} }
...@@ -9,7 +9,7 @@ public class OwnerBindCardRecordSqlProvider { ...@@ -9,7 +9,7 @@ public class OwnerBindCardRecordSqlProvider {
public String ownerBindCardPageList(@Param("param") PageOwnerBindCardRecordListParam param) { public String ownerBindCardPageList(@Param("param") PageOwnerBindCardRecordListParam param) {
String sql = new SQL() {{ String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," + SELECT("a.id, a.owner_user_no," +
" a.owner_user_name, a.owner_type, a.owner_bank, " + " a.owner_user_name, a.owner_bank, " +
" a.bank_card_number,a.open_account_bank, a.account_bank_name,a.create_by,a.create_time,a.create_item"); " a.bank_card_number,a.open_account_bank, a.account_bank_name,a.create_by,a.create_time,a.create_item");
FROM("owner_bind_card_record a"); FROM("owner_bind_card_record a");
......
...@@ -66,6 +66,7 @@ public class OwnerRunningWaterRecordSqlProvider { ...@@ -66,6 +66,7 @@ public class OwnerRunningWaterRecordSqlProvider {
" a.owner_user_name, a.mobile, a.account_type, a.running_water_type,a.order_id,a.order_no,a.order_child_id,a.order_child_no,a.alteration_balance," + " a.owner_user_name, a.mobile, a.account_type, a.running_water_type,a.order_id,a.order_no,a.order_child_id,a.order_child_no,a.alteration_balance," +
" 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"); " 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_running_water_record a"); FROM("owner_running_water_record a");
WHERE("a.owner_user_no = #{param.ownerUserNo}");
if (ObjectUtil.isNotNull(param.getAccountType())) { if (ObjectUtil.isNotNull(param.getAccountType())) {
WHERE("a.account_type = #{param.accountType}"); WHERE("a.account_type = #{param.accountType}");
...@@ -76,6 +77,7 @@ public class OwnerRunningWaterRecordSqlProvider { ...@@ -76,6 +77,7 @@ public class OwnerRunningWaterRecordSqlProvider {
if (ObjectUtil.isNotNull(param.getRunningWaterType())) { if (ObjectUtil.isNotNull(param.getRunningWaterType())) {
WHERE("a.running_water_type = #{param.runningWaterType}"); WHERE("a.running_water_type = #{param.runningWaterType}");
} }
ORDER_BY("a.create_time desc"); ORDER_BY("a.create_time desc");
}}.toString(); }}.toString();
return sql; return sql;
......
...@@ -24,8 +24,8 @@ public interface SettlementOwnerDetailStruct { ...@@ -24,8 +24,8 @@ public interface SettlementOwnerDetailStruct {
@Named("toBaseVo") @Named("toBaseVo")
@Mapping(target = "invoiceTypeMsg", expression = "java(SettlementOwnerEnum.InvoiceType.getMsgByCode(settlementOwner.getInvoiceType()))") @Mapping(target = "invoiceTypeMsg", expression = "java(SettlementOwnerEnum.InvoiceType.getMsgByCode(settlementOwner.getInvoiceType()))")
@Mapping(target = "finalPaymentStatusMsg", expression = "java(SettlementOwnerDetailEnum.FinalPaymentStatus.getMsgByCode(settlementOwner.getInvoiceStatus()))") @Mapping(target = "finalPaymentStatusMsg", expression = "java(SettlementOwnerDetailEnum.FinalPaymentStatus.getMsgByCode(settlementOwner.getFinalPaymentStatus()))")
@Mapping(target = "invoiceStatusMsg", expression = "java(SettlementOwnerDetailEnum.InvoiceStatus.getMsgByCode(settlementOwner.getStatus()))") @Mapping(target = "invoiceStatusMsg", expression = "java(SettlementOwnerDetailEnum.InvoiceStatus.getMsgByCode(settlementOwner.getInvoiceStatus()))")
PageOwnerSettlementOwnerDetailVO convert(SettlementOwnerDetail settlementOwner); PageOwnerSettlementOwnerDetailVO convert(SettlementOwnerDetail settlementOwner);
@IterableMapping(qualifiedByName = "toBaseVo") @IterableMapping(qualifiedByName = "toBaseVo")
......
...@@ -11,14 +11,21 @@ import com.clx.performance.constant.RabbitKeyConstants; ...@@ -11,14 +11,21 @@ import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.constant.RedisConstants; import com.clx.performance.constant.RedisConstants;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.OwnerAccountDao; import com.clx.performance.dao.OwnerAccountDao;
import com.clx.performance.dao.OwnerCaseOutDao;
import com.clx.performance.enums.OrderGoodsStatusEnum; import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.OrderGoodsTruckBindEnum; import com.clx.performance.enums.OrderGoodsTruckBindEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.feign.PerformanceFeign;
import com.clx.performance.mapper.OrderGoodsMapper; import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OwnerAccount; import com.clx.performance.model.OwnerAccount;
import com.clx.performance.model.OwnerCaseOut;
import com.clx.performance.param.pc.OwnerCaseOutParam; import com.clx.performance.param.pc.OwnerCaseOutParam;
import com.clx.performance.param.pc.owner.FrozenAccountParam;
import com.clx.performance.service.OwnerAccountService; import com.clx.performance.service.OwnerAccountService;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.amqp.core.Message; import org.springframework.amqp.core.Message;
...@@ -63,12 +70,20 @@ public class JobTest { ...@@ -63,12 +70,20 @@ public class JobTest {
@Autowired @Autowired
private OwnerAccountService ownerAccountService; private OwnerAccountService ownerAccountService;
@Autowired
private PerformanceFeign performanceFeign;
@Autowired
private OwnerCaseOutDao ownerCaseOutDao;
@Test @Test
public void test1() { public void test1() {
OwnerCaseOutParam param = new OwnerCaseOutParam(); Optional<OwnerCaseOut> optional = ownerCaseOutDao.getEntityByKey(19);
param.setOwnerUserNo(1021181283626946629L); OwnerCaseOut ownerCaseOut = optional.get();
param.setCaseOutBalance(new BigDecimal("1")); BigDecimal caseOutBalance = ownerCaseOut.getCaseOutBalance();
param.setAccountType(1); BigDecimal platformPayBalance = ownerCaseOut.getPlatformPayBalance();
ownerAccountService.accountCaseOut(param); if (platformPayBalance.compareTo(caseOutBalance) != 0) {
throw new ServiceSystemException(PerformanceResultEnum.MONEY_NO_SAME);
}
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论