Commit e6c3561e by zhangxingmin

Merge remote-tracking branch 'origin/test' into test

parents b454e824 7c011202
...@@ -37,4 +37,11 @@ public interface ExpectedFortuneMapper extends BaseMapper<ExpectedFortune> { ...@@ -37,4 +37,11 @@ public interface ExpectedFortuneMapper extends BaseMapper<ExpectedFortune> {
*/ */
IPage<PayableReportVO> payableReportPage(@Param("page") Page<PayableReportVO> page, IPage<PayableReportVO> payableReportPage(@Param("page") Page<PayableReportVO> page,
@Param("expectedFortuneIds") List<Long> expectedFortuneIds); @Param("expectedFortuneIds") List<Long> expectedFortuneIds);
/**
* 更新预计发佣记录的出账状态
* @param expectedFortuneBizIdList 预计发佣记录ID列表
* @param status 出账状态
*/
void updateBatchByBizId(@Param("expectedFortuneBizIdList") List<String> expectedFortuneBizIdList, @Param("status") String status);
} }
...@@ -43,4 +43,6 @@ public interface IExpectedFortuneService extends IService<ExpectedFortune> { ...@@ -43,4 +43,6 @@ public interface IExpectedFortuneService extends IService<ExpectedFortune> {
* @return 应付款报表VO分页列表 * @return 应付款报表VO分页列表
*/ */
IPage<PayableReportVO> payableReportPage(Page<PayableReportVO> page, List<Long> expectedFortuneIds); IPage<PayableReportVO> payableReportPage(Page<PayableReportVO> page, List<Long> expectedFortuneIds);
void updateBatchByBizId(List<String> expectedFortuneBizIdList, String status);
} }
...@@ -159,4 +159,9 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe ...@@ -159,4 +159,9 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
public IPage<PayableReportVO> payableReportPage(Page<PayableReportVO> page, List<Long> expectedFortuneIds) { public IPage<PayableReportVO> payableReportPage(Page<PayableReportVO> page, List<Long> expectedFortuneIds) {
return baseMapper.payableReportPage(page, expectedFortuneIds); return baseMapper.payableReportPage(page, expectedFortuneIds);
} }
@Override
public void updateBatchByBizId(List<String> expectedFortuneBizIdList, String status) {
baseMapper.updateBatchByBizId(expectedFortuneBizIdList, status);
}
} }
...@@ -155,6 +155,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -155,6 +155,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
// 处理关联发佣记录 // 处理关联发佣记录
List<Fortune> updateFortuneList = new ArrayList<>(); List<Fortune> updateFortuneList = new ArrayList<>();
// 处理关联预计发佣记录
List<String> expectedFortuneBizIdList = new ArrayList<>();
for (FortuneAccount fortuneAccount : fortuneAccountList) { for (FortuneAccount fortuneAccount : fortuneAccountList) {
String fortuneAccountBizId = fortuneAccount.getFortuneAccountBizId(); String fortuneAccountBizId = fortuneAccount.getFortuneAccountBizId();
List<Fortune> fortuneList = fortuneAccount.getFortuneList(); List<Fortune> fortuneList = fortuneAccount.getFortuneList();
...@@ -172,6 +174,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -172,6 +174,8 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
} }
updateFortune.setReconciliationOperator(currentLoginUser.getUsername()); updateFortune.setReconciliationOperator(currentLoginUser.getUsername());
updateFortuneList.add(updateFortune); updateFortuneList.add(updateFortune);
// 处理关联预计发佣记录
expectedFortuneBizIdList.add(item.getExpectedFortuneBizId());
} }
} }
} }
...@@ -180,6 +184,10 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -180,6 +184,10 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
if (CollectionUtils.isNotEmpty(updateFortuneList)) { if (CollectionUtils.isNotEmpty(updateFortuneList)) {
fortuneService.updateBatchById(updateFortuneList); fortuneService.updateBatchById(updateFortuneList);
} }
// 更新预计发佣记录的出账状态
if (CollectionUtils.isNotEmpty(expectedFortuneBizIdList)) {
expectedFortuneService.updateBatchByBizId(expectedFortuneBizIdList, FortuneStatusEnum.CHECKED.getItemValue());
}
} }
......
...@@ -204,6 +204,24 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -204,6 +204,24 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
// 如果未传入金额,全额发放,出账状态为已出帐 // 如果未传入金额,全额发放,出账状态为已出帐
totalFortune(fortune, expectedFortune, loginUserId, fortuneUpdateRequest); totalFortune(fortune, expectedFortune, loginUserId, fortuneUpdateRequest);
} }
// 同步 expected_fortune
// 统一使用港币金额
BigDecimal newPaid = calculateExpectedFortunePaidAmount(expectedFortune);
BigDecimal newUnpaid = expectedFortune.getHkdAmount().subtract(newPaid);
String newStatus = newUnpaid.compareTo(BigDecimal.ZERO) == 0 ? "6" : "3";
expectedFortuneService.lambdaUpdate()
.set(ExpectedFortune::getPaidAmount, newPaid)
.set(ExpectedFortune::getUnpaidAmount, newUnpaid)
.set(ExpectedFortune::getPaidRatio,
newPaid.divide(expectedFortune.getHkdAmount(), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)))
.set(ExpectedFortune::getUnpaidRatio,
newUnpaid.divide(expectedFortune.getHkdAmount(), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)))
.set(ExpectedFortune::getStatus, newStatus)
.eq(ExpectedFortune::getId, expectedFortune.getId())
.update();
return true; return true;
} }
...@@ -224,17 +242,6 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -224,17 +242,6 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setActualPayoutDate(actualPayoutDate); fortune.setActualPayoutDate(actualPayoutDate);
this.updateById(fortune); this.updateById(fortune);
// 2. 更新expected_fortune记录为已全额发放状态
// 统一使用港币金额
// expectedFortune.setPaidAmount(expectedFortune.getHkdAmount());
// expectedFortune.setUnpaidAmount(BigDecimal.ZERO);
// expectedFortune.setPaidRatio(BigDecimal.valueOf(100));
// expectedFortune.setUnpaidRatio(BigDecimal.ZERO);
// expectedFortune.setStatus("6"); // 全额发放完成状态
// expectedFortune.setActualPayoutDate(LocalDate.now());
//
// expectedFortuneService.updateById(expectedFortune);
} }
/** /**
...@@ -301,23 +308,18 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -301,23 +308,18 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
part.setCreateTime(new Date()); part.setCreateTime(new Date());
this.save(part); this.save(part);
} }
}
// 3. 同步 expected_fortune private BigDecimal calculateExpectedFortunePaidAmount(ExpectedFortune expectedFortune) {
// 统一使用港币金额 // 查询所有已出账的记录
// BigDecimal newPaid = expectedFortune.getPaidAmount() == null ? BigDecimal.ZERO : expectedFortune.getPaidAmount().add(currentPaymentHkdAmount); List<Fortune> paidList = this.list(new QueryWrapper<Fortune>()
// BigDecimal newUnpaid = expectedFortune.getHkdAmount().subtract(newPaid); .eq("expected_fortune_biz_id", expectedFortune.getExpectedFortuneBizId())
// String newStatus = newUnpaid.compareTo(BigDecimal.ZERO) == 0 ? "6" : "3"; .eq("fortune_period", expectedFortune.getFortunePeriod())
// .eq("status", FortuneStatusEnum.CHECKED.getItemValue()));
// expectedFortuneService.lambdaUpdate() // 计算已出账金额
// .set(ExpectedFortune::getPaidAmount, newPaid) return paidList.stream()
// .set(ExpectedFortune::getUnpaidAmount, newUnpaid) .map(Fortune::getCurrentPaymentHkdAmount)
// .set(ExpectedFortune::getPaidRatio, .reduce(BigDecimal.ZERO, BigDecimal::add);
// newPaid.divide(expectedFortune.getHkdAmount(), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)))
// .set(ExpectedFortune::getUnpaidRatio,
// newUnpaid.divide(expectedFortune.getHkdAmount(), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)))
// .set(ExpectedFortune::getStatus, newStatus)
// .eq(ExpectedFortune::getId, expectedFortune.getId())
// .update();
} }
@Override @Override
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.csf.service.dao.ExpectedFortuneMapper"> <mapper namespace="com.yd.csf.service.dao.ExpectedFortuneMapper">
<update id="updateBatchByBizId">
update expected_fortune ef
set ef.status = #{status}
where ef.id in
<foreach collection="expectedFortuneBizIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<select id="page" resultType="com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse"> <select id="page" resultType="com.yd.csf.feign.response.expectedfortune.ApiExpectedFortunePageResponse">
select * from expected_fortune ef select * from expected_fortune ef
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment