跨服务调用校验身份

This commit is contained in:
baozhipeng
2021-09-14 17:30:21 +08:00
parent 123bb8c6a8
commit d9049e81ce
4 changed files with 83 additions and 141 deletions
@@ -31,7 +31,7 @@ import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.util.standardsUtil;
import com.jero.util.AuthenticationUtils;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
@@ -73,11 +73,13 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
@Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Resource
private AuthenticationUtils authenticationUtils;
@Value("${jero.path.upload}")
private String upLoadPath;
@Value("${standards.url}")
private static String url;
private String url;
/**
* 到账开票主列表
@@ -86,16 +88,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @return
*/
public List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject){
//从标协项目获取公钥
// String publicKey = HttpUtil.get("http://localhost:8080/api/authenticationUtils/getPublicKey");
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("token", standardsUtil.encryptByRsaPriKey().get("token"));
paramMap.put("publicKey", standardsUtil.encryptByRsaPriKey().get("publicKey"));
String result3= HttpUtil.get("http://localhost:8080/api/paymentInfo/incomingPaymentCheck", paramMap);
return payPaymentRecordMapper.mainList(page, payCommonProject);
}
@@ -105,8 +97,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @param payPaymentRecord
*/
public Result<?> addPhase(PayPaymentRecord payPaymentRecord){
//来款记录表新增
insertPayPaymentRecord(payPaymentRecord);
BigDecimal receivableAmount;
Boolean isAdd;
@@ -195,14 +185,17 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
member.setPaidAmount(newPaidAmount);
member.setInAccount(inAccount);
payMemberProjectSubitemMapper.updateById(member);
}else{
return Result.error("到账金额大于当前欠款金额,不可提交!");
}
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
//标协类型条件校验
type5AddCheck(payPaymentRecord);
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
receivableAmount = tbMember.getAmountReceivable();//应收
paidAmount=tbMember.getPaidAmount();//实收
@@ -216,19 +209,21 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
tbMember.setPaidAmount(newPaidAmount);
tbMember.setInAccount(inAccount);
tbMemberProjectSubitemMapper.updateById(tbMember);
sendToStandards();
}else{
return Result.error("到账金额大于当前欠款金额,不可提交!");
}
break;
default:break;
}
//插入来款记录表
payPaymentRecordMapper.insert(payPaymentRecord);
return Result.OK("添加成功!");
}
//来款记录表新增
private void insertPayPaymentRecord(PayPaymentRecord payPaymentRecord){
//如果是标协会员类型,只能新增一次
if(PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(payPaymentRecord.getProjectType()))){
//标协类型新增时条件校验
private void type5AddCheck(PayPaymentRecord payPaymentRecord){
LambdaQueryWrapper<PayPaymentRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPaymentRecord::getProjectId, payPaymentRecord.getProjectId());
@@ -249,8 +244,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(aRInsert.compareTo(debtInsert) != 0){
throw new JeroBootException("标协会员项目,到账金额不等于欠款金额。");
}
}
payPaymentRecordMapper.insert(payPaymentRecord);
}
/**
@@ -328,6 +322,21 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}
/**
* 标协会员来款推送到标协项目
*/
private void sendToStandards(){
//获取公钥并使用公钥加密token
Map<String, String> map = authenticationUtils.encryptByRsaPriKey();
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("token", map.get("token"));
paramMap.put("publicKey", map.get("publicKey"));
String result3= HttpUtil.get(url+"/paymentInfo/incomingPaymentCheck", paramMap);
}
/**
* 导出
* @param request