|
@@ -63,8 +63,8 @@ public class StatementServiceImpl extends ServiceImpl<StatementMapper, Statement
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<Statement> selectAuditList(Statement statement) {
|
|
|
|
- return statementMapper.selectAuditList(statement);
|
|
|
|
|
|
+ public List<Statement> selectPayList(Statement statement) {
|
|
|
|
+ return statementMapper.selectPayList(statement);
|
|
}
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
@@ -210,7 +210,7 @@ public class StatementServiceImpl extends ServiceImpl<StatementMapper, Statement
|
|
@Override
|
|
@Override
|
|
public AjaxResult giveSend(StatementDto dto) throws ServerException {
|
|
public AjaxResult giveSend(StatementDto dto) throws ServerException {
|
|
commonService.verifyCode(SecurityUtils.getLoginUser().getUser().getPhonenumber(), dto.getCode());
|
|
commonService.verifyCode(SecurityUtils.getLoginUser().getUser().getPhonenumber(), dto.getCode());
|
|
- Statement statement = statementMapper.selectById(dto.getId());
|
|
|
|
|
|
+ Statement statement = statementMapper.calculate(dto.getId());
|
|
if (statement == null || !statement.getCompanyId().equals(SecurityUtils.getLoginUser().getUser().getCompanyId())) {
|
|
if (statement == null || !statement.getCompanyId().equals(SecurityUtils.getLoginUser().getUser().getCompanyId())) {
|
|
return AjaxResult.error("结算单不存在或非法操作");
|
|
return AjaxResult.error("结算单不存在或非法操作");
|
|
}
|
|
}
|
|
@@ -231,4 +231,35 @@ public class StatementServiceImpl extends ServiceImpl<StatementMapper, Statement
|
|
}
|
|
}
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult payOk(Long id){
|
|
|
|
+ Statement statement = statementMapper.calculate(id);
|
|
|
|
+ if (statement == null) {
|
|
|
|
+ return AjaxResult.error("发放业务不存在");
|
|
|
|
+ }
|
|
|
|
+ if (statement.getGive() != 1) {
|
|
|
|
+ return AjaxResult.error("当前结算业务不能发放");
|
|
|
|
+ }
|
|
|
|
+ Company company = companyService.getById(statement.getCompanyId());
|
|
|
|
+ if (company == null) {
|
|
|
|
+ return AjaxResult.error("企业信息不存在");
|
|
|
|
+ }
|
|
|
|
+ if (statement.getMoney().compareTo(company.getMoney()) > 0) {
|
|
|
|
+ return AjaxResult.error("发放金额已超过当前企业账户余额,请提醒企业充值再进行发放");
|
|
|
|
+ }
|
|
|
|
+ statement.setGive(2);
|
|
|
|
+ if (!updateById(statement)) {
|
|
|
|
+ throw new ServiceException("当前结算业务发放失败,请联系管理员");
|
|
|
|
+ }
|
|
|
|
+ company.setMoney(company.getMoney().subtract(statement.getMoney()));
|
|
|
|
+ if (!companyService.updateById(company)) {
|
|
|
|
+ throw new ServiceException("更新企业余额失败,请联系管理员");
|
|
|
|
+ }
|
|
|
|
+ if (!statementDetailMapper.updateState(statement.getId())) {
|
|
|
|
+ throw new ServiceException("更新结算单失败,请联系管理员");
|
|
|
|
+ }
|
|
|
|
+ return AjaxResult.success();
|
|
|
|
+ }
|
|
}
|
|
}
|