zj
2025-05-02 01830e44921b187b448d8cce9c9a46b9ad55af43
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
package project.web.api;
 
import java.io.IOException;
import java.util.List;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import kernel.exception.BusinessException;
import kernel.util.DateUtils;
import kernel.util.StringUtils;
import kernel.web.ApplicationUtil;
import kernel.web.BaseAction;
import kernel.web.Page;
import kernel.web.ResultObject;
import project.Constants;
import project.log.MoneyLog;
import project.log.MoneyLogService;
import project.party.PartyService;
import project.party.model.Party;
 
@RestController
@CrossOrigin
public class MoneyLogController extends BaseAction {
    
    @Autowired
    protected MoneyLogService moneyLogService;
    
    private static final Logger logger = LoggerFactory.getLogger(MoneyLogController.class);
 
    @RequestMapping("api/moneylog!list.action")
    public Object list(HttpServletRequest request) throws IOException {
        ResultObject resultObject = new ResultObject();
        resultObject = readSecurityContextFromSession(resultObject);
 
        if (!"0".equals(resultObject.getCode())) {
            return resultObject;
        }
        String partyId = this.getLoginPartyId();
        try {
            
            String page_no = request.getParameter("page_no");
            if (StringUtils.isNullOrEmpty(page_no) 
                    || !StringUtils.isInteger(page_no) || Integer.valueOf(page_no) <= 0) {
                page_no = "1";
            }
            double amount = 0;
            int pageNo = Integer.valueOf(page_no);
            String category = request.getParameter("category");
            String contentType = request.getParameter("contentType");
            PartyService partyService = ApplicationUtil.getBean(PartyService.class);
            Party party = partyService.cachePartyBy(partyId, false);
            if(StringUtils.isNotEmpty(party.getBalance_income_config())) {
                String[] balance_income_configArr = party.getBalance_income_config().split(",");
                if(balance_income_configArr.length >=2) {
                    amount = Double.valueOf(balance_income_configArr[1]).doubleValue();
                }                
            }
            Page pagedQuery = moneyLogService.pagedQuery(pageNo, 20, category, contentType, partyId);
            for (MoneyLog log : (List<MoneyLog>) pagedQuery.getElements()) {
                if(Constants.MONEYLOG_CONTENT_FINANCE_PROFIT.equals(log.getContent_type())) {
                    log.setAmount(log.getAmount()+amount);
                    log.setCreateTimeStr(DateUtils.format(log.getCreateTime(), DateUtils.DF_yyyyMMddHHmmss));
                }
            }
            resultObject.setData(pagedQuery.getElements());
        } catch (BusinessException e) {
            resultObject.setCode("1");
            resultObject.setMsg(e.getMessage());
        } catch (Throwable t) {
            resultObject.setCode("1");
            resultObject.setMsg("程序错误");
            logger.error("error:", t);
        }
        return resultObject;
    }
    
    @RequestMapping("api/moneylog!sumBSalance.action")
    public Object sumBSalance(HttpServletRequest request) throws IOException {
 
        ResultObject resultObject = new ResultObject();
        resultObject = readSecurityContextFromSession(resultObject);
        if (!"0".equals(resultObject.getCode())) {
            return resultObject;
        }
        String partyId = this.getLoginPartyId();
        try {            
             String category = Constants.MONEYLOG_FINANCE;
            String contentType = Constants.MONEYLOG_CONTENT_FINANCE_PROFIT;    
            PartyService partyService = ApplicationUtil.getBean(PartyService.class);
             Map<String,Object> map = moneyLogService.sumBSalance(category, contentType, partyId);
            Party party = partyService.cachePartyBy(partyId, false);
            if(StringUtils.isNotEmpty(party.getBalance_income_config())) {
                String[] balance_income_configArr = party.getBalance_income_config().split(",");
                
                double sumAmount=Double.parseDouble(map.get("sumAmount").toString())+Double.valueOf(balance_income_configArr[0]).doubleValue();
                if(balance_income_configArr.length >=2) {
                    double dateAmount=Double.parseDouble(map.get("dateAmount").toString())+Double.valueOf(balance_income_configArr[1]).doubleValue();
                    map.put("dateAmount", dateAmount);
                }            
                map.put("sumAmount", sumAmount);
                
            }        
            resultObject.setData(map);
        } catch (BusinessException e) {
            resultObject.setCode("1");
            resultObject.setMsg(e.getMessage());
        } catch (Throwable t) {
            resultObject.setCode("1");
            resultObject.setMsg("程序错误");
            logger.error("error:", t);
        }
        return resultObject;
    }
    
}