李白
2026-05-29 c865989f10e5a1ae4bb78831a879210fcdca2f83
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package com.by4cloud.platformx.business.invoice.service.impl;
 
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.by4cloud.platformx.business.entity.SaleCredit;
import com.by4cloud.platformx.business.entity.invoice.FileBip;
import com.by4cloud.platformx.business.invoice.mapper.FileBipMapper;
import com.by4cloud.platformx.business.invoice.service.FileUploadService;
import com.by4cloud.platformx.business.invoice.utils.BipHttpUtil;
import com.by4cloud.platformx.business.service.SaleCreditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * @author kdq
 * @version 1.0.0
 * @ClassName FileUploadServiceImpl.java
 * @Description TODO
 * @createTime 2024年09月03日 10:06:00
 */
@Service
public class FileUploadServiceImpl implements FileUploadService {
    @Autowired
    private SaleCreditService saleCreditService;
 
    @Autowired
    private FileBipMapper fileBipMapper;
 
    @Autowired
    private BipHttpUtil bipHttpUtil;
 
    @Value("${bip.filePath}")
    private String bipFilePath;
 
 
 
    @Override
    public String uploadToBip(Long railwayEntrustId,String businessId,String filename) {
        String s = bipHttpUtil.postUploadFile(businessId, filename);
        SaleCredit saleCredit = saleCreditService.getById(railwayEntrustId);
        JSONObject result = JSON.parseObject(s) ;
        String code = (String) result.get("code");
        if(code.equals("200")){
            // 使用JSON.parseObject()来解析JSON对象
            JSONObject jsonObject = JSON.parseObject(s);
            JSONObject data = jsonObject.getJSONObject("data");
            JSONArray jsonArray = data.getJSONArray("data");
 
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject obj = jsonArray.getJSONObject(i);
                FileBip fileBip = new FileBip();
                fileBip.setFileId(obj.get("fileId").toString());
                fileBip.setFilePath(obj.get("filePath").toString());
                fileBip.setFileCTime(obj.get("ctime")+"");
                fileBip.setFileUTime(obj.get("utime")+"");
                fileBip.setFileBipId(obj.get("id").toString());
                fileBip.setFileExtension(obj.get("fileExtension").toString());
                fileBip.setFileSize((Integer)obj.get("fileSize"));
                fileBip.setFileSizeText(obj.get("fileSizeText").toString());
                fileBip.setFileName(obj.get("fileName").toString());
                fileBip.setName(obj.get("name").toString());
                fileBip.setYhtUserId(obj.get("yhtUserId").toString());
                fileBip.setTenantId(obj.get("tenantId").toString());
                fileBip.setSign(obj.get("sign").toString());
                fileBip.setCopy(obj.get("copy")+"");
                fileBip.setEntrustId(railwayEntrustId);
                fileBip.setEntrustCode(saleCredit.getEntrustCode());
                fileBip.setFileLocalPath("/yunxiao/filebip/local/"+filename);
                fileBipMapper.insert(fileBip);
            }
        }
        return s;
    }
 
    @Override
    public String uploadUrlToBip(Long railwayEntrustId, String businessId, String fileUrl) {
        String s = bipHttpUtil.postUploadFileUrl(businessId, fileUrl);
        SaleCredit saleCredit = saleCreditService.getById(railwayEntrustId);
        JSONObject result = JSON.parseObject(s) ;
        String code = (String) result.get("code");
        if(code.equals("200")){
            // 使用JSON.parseObject()来解析JSON对象
            JSONObject jsonObject = JSON.parseObject(s);
            JSONObject data = jsonObject.getJSONObject("data");
            JSONArray jsonArray = data.getJSONArray("data");
 
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject obj = jsonArray.getJSONObject(i);
                FileBip fileBip = new FileBip();
                fileBip.setFileId(obj.get("fileId").toString());
                fileBip.setFilePath(obj.get("filePath").toString());
                fileBip.setFileCTime(obj.get("ctime")+"");
                fileBip.setFileUTime(obj.get("utime")+"");
                fileBip.setFileBipId(obj.get("id").toString());
                fileBip.setFileExtension(obj.get("fileExtension").toString());
                fileBip.setFileSize((Integer)obj.get("fileSize"));
                fileBip.setFileSizeText(obj.get("fileSizeText").toString());
                fileBip.setFileName(obj.get("fileName").toString());
                fileBip.setName(obj.get("name").toString());
                fileBip.setYhtUserId(obj.get("yhtUserId").toString());
                fileBip.setTenantId(obj.get("tenantId").toString());
                fileBip.setSign(obj.get("sign").toString());
                fileBip.setCopy(obj.get("copy")+"");
                fileBip.setEntrustId(railwayEntrustId);
                fileBip.setEntrustCode(saleCredit.getEntrustCode());
                fileBip.setFileLocalPath(fileUrl);
                fileBipMapper.insert(fileBip);
            }
        }
        return s;
    }
 
 
    @Override
    public String deleteFileBip(Integer railwayEntrustId,String businessId, String fid) {
        String s = bipHttpUtil.postDeleteFile(businessId, fid);
        JSONObject result = JSON.parseObject(s) ;
        String code = (String) result.get("code");
        if(code.equals("200")){
            QueryWrapper<FileBip> wrapper = new QueryWrapper<>();
            wrapper.lambda()
                    .eq(FileBip::getFileBipId,fid);
            List<FileBip> fileBips = fileBipMapper.selectList(wrapper);
            if(!fileBips.isEmpty() && fileBips.size()>0){
                for (FileBip fileBip : fileBips) {
                    fileBipMapper.deleteById(fileBip);
                }
            }
        }
        return s;
    }
 
}