EbsApiController.java 10.7 KB
Newer Older
gary's avatar
gary committed
1 2 3 4 5
package pwc.taxtech.atms.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
Ken you's avatar
Ken you committed
6
import org.springframework.web.bind.annotation.*;
gary's avatar
gary committed
7
import pwc.taxtech.atms.constant.enums.EnumApiCodeMsg;
gary's avatar
gary committed
8
import pwc.taxtech.atms.dto.ApiResultDto;
gary's avatar
gary committed
9
import pwc.taxtech.atms.dto.OperationResultDto;
gary's avatar
gary committed
10 11 12 13
import pwc.taxtech.atms.dto.ebsdto.*;
import pwc.taxtech.atms.service.EbsApiService;

import javax.annotation.Resource;
gary's avatar
gary committed
14
import javax.validation.Valid;
gary's avatar
gary committed
15 16 17 18 19 20 21 22 23 24 25
import java.util.List;

@RestController
@RequestMapping("/ebs/api/v1/dd")
public class EbsApiController {

    private static final Logger logger = LoggerFactory.getLogger(EbsApiController.class);
    @Resource
    private EbsApiService ebsApiService;

    @RequestMapping(value = "/updateJE", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
26
    public @ResponseBody
Ken you's avatar
Ken you committed
27
    ApiResultDto updateJE(@RequestParam(value="id",defaultValue = "123123123") Long id,@RequestBody List<JournalEntryQueryDto> items) {
Ken you's avatar
Ken you committed
28 29
        logger.info("开始日记账同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
30 31
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateJE return items is empty");
gary's avatar
gary committed
32
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
33
            return apiResultDto;
gary's avatar
gary committed
34
        }
Ken you's avatar
Ken you committed
35
        try{
Ken you's avatar
Ken you committed
36
            ebsApiService.queryRemoteServerThenUpdateJE(id,items);
Ken you's avatar
Ken you committed
37
            logger.debug("日记账同步更新 success");
gary's avatar
gary committed
38
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
39 40
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
41
            logger.error("updateJE error.", e);
Ken you's avatar
Ken you committed
42
            e.printStackTrace();
gary's avatar
gary committed
43
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
44
            return apiResultDto;
gary's avatar
gary committed
45 46 47 48
        }
    }

    @RequestMapping(value = "/updateTB", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
49
    public @ResponseBody ApiResultDto updateTB(@RequestParam("id") Long id,@RequestBody List<TrialBalanceQueryDto> items) {
Ken you's avatar
Ken you committed
50 51
        logger.info("开始科目余额数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
52 53
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateTB return items is empty");
gary's avatar
gary committed
54
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
55
            return apiResultDto;
gary's avatar
gary committed
56
        }
Ken you's avatar
Ken you committed
57
        try{
Ken you's avatar
Ken you committed
58
            ebsApiService.queryRemoteServerThenUpdateTB(id,items);
Ken you's avatar
Ken you committed
59
            logger.debug("科目余额数据同步更新 success");
gary's avatar
gary committed
60
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
61 62
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
63
            logger.error("updateTB error.", e);
Ken you's avatar
Ken you committed
64
            e.printStackTrace();
gary's avatar
gary committed
65
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
66
            return apiResultDto;
gary's avatar
gary committed
67 68 69 70
        }
    }

    @RequestMapping(value = "/updateCF", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
71
    public @ResponseBody ApiResultDto updateCF(@RequestParam("id") Long id,@RequestBody List<CashFlowQueryDto> items) {
Ken you's avatar
Ken you committed
72 73
        logger.info("开始现金流量数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
74 75
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateCF return items is empty");
gary's avatar
gary committed
76
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
77
            return apiResultDto;
gary's avatar
gary committed
78
        }
Ken you's avatar
Ken you committed
79
        try{
Ken you's avatar
Ken you committed
80
            ebsApiService.queryRemoteServerThenUpdateCF(id,items);
Ken you's avatar
Ken you committed
81
            logger.debug("现金流量数据同步更新 success");
gary's avatar
gary committed
82
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
83 84
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
85
            logger.error("updateCF error.", e);
Ken you's avatar
Ken you committed
86
            e.printStackTrace();
gary's avatar
gary committed
87
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
88
            return apiResultDto;
gary's avatar
gary committed
89 90 91 92
        }
    }

    @RequestMapping(value = "/updateBS", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
93
    public @ResponseBody ApiResultDto updateBS(@RequestParam("id") Long id,@RequestBody List<BalanceSheetQueryDto> items) {
Ken you's avatar
Ken you committed
94 95
        logger.info("开始资产负债数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
96 97
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateBS return items is empty");
gary's avatar
gary committed
98
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
99
            return apiResultDto;
gary's avatar
gary committed
100
        }
Ken you's avatar
Ken you committed
101
        try{
Ken you's avatar
Ken you committed
102
            ebsApiService.queryRemoteServerThenUpdateBS(id,items);
Ken you's avatar
Ken you committed
103
            logger.debug("资产负债数据同步更新 success");
gary's avatar
gary committed
104
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
105 106
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
107
            logger.error("updateBS error.", e);
Ken you's avatar
Ken you committed
108
            e.printStackTrace();
gary's avatar
gary committed
109
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
110
            return apiResultDto;
gary's avatar
gary committed
111 112 113 114
        }
    }

    @RequestMapping(value = "/updatePL", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
115
    public @ResponseBody ApiResultDto updatePL(@RequestParam("id") Long id,@RequestBody List<ProfitLossStatementQueryDto> items) {
Ken you's avatar
Ken you committed
116 117
        logger.info("开始利润数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
118 119
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updatePL return items is empty");
gary's avatar
gary committed
120
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
121
            return apiResultDto;
gary's avatar
gary committed
122
        }
Ken you's avatar
Ken you committed
123
        try{
Ken you's avatar
Ken you committed
124
            ebsApiService.queryRemoteServerThenUpdatePL(id,items);
Ken you's avatar
Ken you committed
125
            logger.debug("利润数据同步更新 success");
gary's avatar
gary committed
126
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
127 128
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
129
            logger.error("updatePL error.", e);
Ken you's avatar
Ken you committed
130
            e.printStackTrace();
gary's avatar
gary committed
131
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
132
            return apiResultDto;
gary's avatar
gary committed
133 134 135 136
        }
    }

    @RequestMapping(value = "/updateBSprc", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
137
    public @ResponseBody ApiResultDto updateBSprc(@RequestParam("id") Long id,@RequestBody List<BalanceSheetPrcQueryDto> items) {
Ken you's avatar
Ken you committed
138 139
        logger.info("开始资产负债PRC数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
140 141
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateBSprc return items is empty");
gary's avatar
gary committed
142
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
143
            return apiResultDto;
gary's avatar
gary committed
144
        }
Ken you's avatar
Ken you committed
145
        try{
Ken you's avatar
Ken you committed
146
            ebsApiService.queryRemoteServerThenUpdateBSprc(id,items);
Ken you's avatar
Ken you committed
147
            logger.debug("资产负债PRC数据同步更新 success");
gary's avatar
gary committed
148
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
149 150
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
151
            logger.error("updateBSprc error.", e);
gary's avatar
gary committed
152
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
153
            return apiResultDto;
gary's avatar
gary committed
154 155 156 157
        }
    }

    @RequestMapping(value = "/updatePLprc", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
158
    public @ResponseBody ApiResultDto updatePLprc(@RequestParam("id") Long id,@RequestBody List<ProfitLossStatementPrcQueryDto> items) {
Ken you's avatar
Ken you committed
159 160
        logger.info("开始利润PRC数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
161 162
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updatePLprc return items is empty");
gary's avatar
gary committed
163
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
164
            return apiResultDto;
gary's avatar
gary committed
165
        }
Ken you's avatar
Ken you committed
166
        try{
Ken you's avatar
Ken you committed
167
            ebsApiService.queryRemoteServerThenUpdatePLprc(id,items);
Ken you's avatar
Ken you committed
168
            logger.debug("利润PRC数据同步更新 success");
gary's avatar
gary committed
169
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
170 171
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
172
            logger.error("updatePLprc error.", e);
gary's avatar
gary committed
173
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
174
            return apiResultDto;
gary's avatar
gary committed
175 176 177 178
        }
    }

    @RequestMapping(value = "/updateOAR", method = RequestMethod.POST)
Ken you's avatar
Ken you committed
179
    public @ResponseBody ApiResultDto updateOAR(@RequestParam("id") Long id,@RequestBody List<OrganizationAccountingRateQueryDto> items) {
Ken you's avatar
Ken you committed
180 181
        logger.info("开始汇率数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
182 183
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateOAR return items is empty");
gary's avatar
gary committed
184
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
185
            return apiResultDto;
gary's avatar
gary committed
186
        }
Ken you's avatar
Ken you committed
187
        try{
Ken you's avatar
Ken you committed
188
            ebsApiService.queryRemoteServerThenUpdateOAR(id,items);
Ken you's avatar
Ken you committed
189
            logger.debug("汇率数据同步更新 success");
gary's avatar
gary committed
190
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
191 192
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
193
            logger.error("updateOAR error.", e);
gary's avatar
gary committed
194
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
195
            return apiResultDto;
gary's avatar
gary committed
196 197 198
        }
    }
    @RequestMapping(value = "/updateOrg", method = RequestMethod.POST)
gary's avatar
gary committed
199
    public ApiResultDto updateOrg(@RequestParam("id") Long id,@RequestBody @Valid List<OrganizationQueryDto> items) {
Ken you's avatar
Ken you committed
200 201
        logger.info("开始机构信息数据同步更新");
        ApiResultDto apiResultDto = new ApiResultDto();
gary's avatar
gary committed
202 203
        if (CollectionUtils.isEmpty(items)) {
            logger.debug("the updateOrg return items is empty");
gary's avatar
gary committed
204
            setApiResult(apiResultDto, EnumApiCodeMsg.APIDATAEMPTY);
Ken you's avatar
Ken you committed
205
            return apiResultDto;
gary's avatar
gary committed
206
        }
Ken you's avatar
Ken you committed
207
        try{
gary's avatar
gary committed
208
            ebsApiService.queryRemoteServerThenUpdateOrg(id,items);
Ken you's avatar
Ken you committed
209
            logger.debug("机构信息数据同步更新 success");
gary's avatar
gary committed
210
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
211 212
            return apiResultDto;
        }catch(Exception e){
gary's avatar
gary committed
213
            logger.error("updateOrg error.", e);
gary's avatar
gary committed
214
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
215
            return apiResultDto;
gary's avatar
gary committed
216 217 218
        }
    }

Ken you's avatar
Ken you committed
219 220 221 222 223 224 225 226 227 228 229 230
    /**
     * callback服务
     * @param callBackDto
     * @return
     */
    @RequestMapping(value = "/callback", method = RequestMethod.POST)
    public ApiResultDto callback(@RequestBody EbsCallBackDto callBackDto) {
        logger.info("EBS callback 调用,taskId :{}",callBackDto.getTaskId());
        ApiResultDto apiResultDto = new ApiResultDto();
        try{
            ebsApiService.changeCallBackStatus(callBackDto);
            logger.debug("ebs callback taskId:{},status:{} end ",callBackDto.getTaskId(),callBackDto.getTaskStatus());
gary's avatar
gary committed
231
            setApiResult(apiResultDto, EnumApiCodeMsg.SUCCESS);
Ken you's avatar
Ken you committed
232 233 234
            return apiResultDto;
        }catch(Exception e){
            logger.error("ebs callback error.", e);
gary's avatar
gary committed
235
            setApiResult(apiResultDto, EnumApiCodeMsg.APIERROR);
Ken you's avatar
Ken you committed
236 237 238 239
            return apiResultDto;
        }
    }

gary's avatar
gary committed
240 241 242 243 244 245
    @RequestMapping(value = "syncOrg", method = RequestMethod.GET)
    public @ResponseBody
    OperationResultDto syncOrg() {
        return ebsApiService.syncOrg();
    }

gary's avatar
gary committed
246
    private void setApiResult(ApiResultDto apiResultDto, EnumApiCodeMsg error) {
gary's avatar
gary committed
247 248 249 250
        apiResultDto.setCode(error.getCode());
        apiResultDto.setMessage(error.getMsg());
    }

Ken you's avatar
Ken you committed
251 252


gary's avatar
gary committed
253
}