Commit 40875bec by guojuxing

驳回和同意审批,进行回调

parent b9d4d92c
......@@ -118,6 +118,11 @@
<artifactId>gic-platform-finance-api</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-dubbo-extension</artifactId>
<version>4.0-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
......
package com.gic.finance.service.outer.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.alibaba.fastjson.JSONObject;
import com.gic.dubbo.util.DubboContextUtil;
import com.gic.dubbo.util.DubboInvokeUtil;
import org.apache.dubbo.rpc.service.GenericService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -12,6 +17,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils;
import com.gic.enterprise.error.ErrorCode;
import com.gic.finance.constant.OrderTypeEnum;
import com.gic.finance.constant.TransferAccountApprovalStatusEnum;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.entity.TabTransferAccountsApproval;
......@@ -35,8 +41,15 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
@Autowired
private TransferAccountsApprovalService transferAccountsApprovalService;
@Override
public ServiceResponse<Integer> initiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
/**
* 发起审批
* @Title: initiateApproval

* @Description:

 * @author guojuxing
* @param transferAccountsApprovalDTO

* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


 */
private ServiceResponse<Void> initiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
//valid param
ServiceResponse paramValid = ValidUtil.allCheckValidate(transferAccountsApprovalDTO,
TransferAccountsApprovalDTO.InitiateApprovalValid.class);
......@@ -57,6 +70,36 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
}
@Override
public ServiceResponse<Void> rechargeInitiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
transferAccountsApprovalDTO.setOrderType(OrderTypeEnum.RECHARGE.getCode());
return initiateApproval(transferAccountsApprovalDTO);
}
@Override
public ServiceResponse<Void> smsInitiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
transferAccountsApprovalDTO.setOrderType(OrderTypeEnum.SHORT_MESSAGE_PACKAGE.getCode());
return initiateApproval(transferAccountsApprovalDTO);
}
@Override
public ServiceResponse<Void> serviceInitiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
transferAccountsApprovalDTO.setOrderType(OrderTypeEnum.SERVICE.getCode());
return initiateApproval(transferAccountsApprovalDTO);
}
@Override
public ServiceResponse<Void> extensionPackageInitiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
transferAccountsApprovalDTO.setOrderType(OrderTypeEnum.EXTENSION_PACKAGE.getCode());
return initiateApproval(transferAccountsApprovalDTO);
}
@Override
public ServiceResponse<Void> packageInitiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO) {
transferAccountsApprovalDTO.setOrderType(OrderTypeEnum.PACKAGE.getCode());
return initiateApproval(transferAccountsApprovalDTO);
}
@Override
public ServiceResponse<TransferAccountsApprovalDTO> getById(Integer transferApprovalId) {
LOGGER.info(SERVICE_NAME + "-getById:{}", transferApprovalId);
TabTransferAccountsApproval tab = transferAccountsApprovalService.getById(transferApprovalId);
......@@ -91,6 +134,8 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.AGREE.getCode());
dto.setApprovalTime(new Date());
//todo 审批人等信息获取插入
callBack(tab, accountAmount, TransferAccountApprovalStatusEnum.AGREE.getCode());
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
return ServiceResponse.success();
}
......@@ -106,20 +151,29 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.REJECT.getCode());
dto.setApprovalTime(new Date());
//todo 审批人等信息获取插入
callBack(tab, null, TransferAccountApprovalStatusEnum.AGREE.getCode());
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> cancelApproval(String orderSerialNumber) {
TabTransferAccountsApproval tab = transferAccountsApprovalService.getByOrderNumber(orderSerialNumber);
if (tab == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "订单流水号有误");
}
updateCancelApproval(tab.getTransferApprovalId());
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> cancelApproval(Integer transferApprovalId) {
TabTransferAccountsApproval tab = transferAccountsApprovalService.getById(transferApprovalId);
if (tab == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "转账审批主键有误");
}
TransferAccountsApprovalDTO dto = new TransferAccountsApprovalDTO();
dto.setTransferApprovalId(transferApprovalId);
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.CANCEL.getCode());
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
updateCancelApproval(transferApprovalId);
return ServiceResponse.success();
}
......@@ -129,4 +183,38 @@ public class TransferAccountsApprovalApiServiceImpl implements TransferAccountsA
Page<TransferAccountsApprovalDTO> resultPage = PageHelperUtils.changePageHelperToCurrentPage(page, TransferAccountsApprovalDTO.class);
return ServiceResponse.success(resultPage);
}
/**
* 状态改为取消
* @Title: updateCancelApproval

* @Description:

 * @author guojuxing
* @param transferApprovalId

* @return void


 */
private void updateCancelApproval(Integer transferApprovalId) {
TransferAccountsApprovalDTO dto = new TransferAccountsApprovalDTO();
dto.setTransferApprovalId(transferApprovalId);
dto.setApprovalStatus(TransferAccountApprovalStatusEnum.CANCEL.getCode());
transferAccountsApprovalService.updateTransferAccountsApproval(dto);
}
private void callBack(TabTransferAccountsApproval tab, Double accountAmount, int status) {
boolean isBilling = tab.getOrderType().intValue() == OrderTypeEnum.RECHARGE.getCode() ||
tab.getOrderType().intValue() == OrderTypeEnum.SHORT_MESSAGE_PACKAGE.getCode();
//回调计费中心、短信套餐包
if (isBilling) {
String taskService = "com.gic.enterprise.service.BillingPayInfoApiService";
String taskMethod = "offlineCallBack";
JSONObject param = new JSONObject();
param.put("orderSerialNumber", tab.getOrderNumber());
param.put("buyType", tab.getOrderType());
param.put("totalFeePaid", accountAmount);
param.put("auditStatus", status);
param.put("timeEnd", new SimpleDateFormat("yyyyMMdd").format(new Date()));
DubboContextUtil.initRegistryConfig("10.105.220.75", 2199);
GenericService genericService = DubboInvokeUtil.getGenericService(taskService);
genericService.$invoke(taskMethod, new String[]{String.class.getName()}, new Object[]{accountAmount, tab.getEnterpriseId()});
}
}
}
package com.gic.finance.web.controller;
import com.gic.finance.web.vo.TransferApprovalDetailVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -9,9 +8,9 @@ import org.springframework.web.bind.annotation.RestController;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.utils.ResultControllerUtils;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
import com.gic.finance.qo.TransferListQueryQO;
import com.gic.finance.service.TransferAccountsApprovalApiService;
import com.gic.finance.web.vo.TransferApprovalDetailVO;
import com.gic.finance.web.vo.TransferApprovalListVO;
/**
......@@ -29,16 +28,6 @@ public class TransferAccountsApprovalController {
@Autowired
private TransferAccountsApprovalApiService transferAccountsApprovalApiService;
/**
* 发起审批
* @param dto
* @return
*/
@RequestMapping("/initiate-approval")
public RestResponse initiateApproval(TransferAccountsApprovalDTO dto) {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.initiateApproval(dto));
}
@RequestMapping("/get-approval")
public RestResponse getById(Integer id) {
return ResultControllerUtils.commonResultOne(transferAccountsApprovalApiService.getById(id), TransferApprovalDetailVO.class);
......@@ -49,11 +38,6 @@ public class TransferAccountsApprovalController {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.agreeApproval(id, accountAmount));
}
@RequestMapping("/reject-approval")
public RestResponse rejectApproval(Integer id) {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.rejectApproval(id));
}
@RequestMapping("/cancel-approval")
public RestResponse cancelApproval(Integer id) {
return ResultControllerUtils.commonResult(transferAccountsApprovalApiService.cancelApproval(id));
......
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