FundJourBiz.java 2.96 KB
package com.cjs.cms.biz.report;

import java.io.File;
import java.net.URI;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import com.cjs.cms.action.user.fund.UserBalanceAction;
import com.cjs.cms.dao.pub.SysConfigDao;
import com.cjs.cms.dao.report.FundJourDao;
import com.cjs.cms.model.pub.SysConfigInfo;
import com.cjs.cms.util.file.FileUtil;
import com.cjs.cms.util.lang.DateEnum;
import com.cjs.cms.util.lang.DateUtil;
import com.cjs.cms.util.poi.ExcelConfig;
import com.cjs.cms.util.poi.ExcelUtil;

/**
 * 用户资金流水
 *
 */
@Service
public class FundJourBiz {
    @Autowired
    private FundJourDao  fundJour;
    @Autowired
    private SysConfigDao configDao;
    @Value("${download.export}")
    private String       exportPath;

    public List<Map<String, Object>> queryAccount(Map<String, Object> params) {
        List<Map<String, Object>> list = fundJour.queryAccount(params);
        Map<String, String> sysConfigMap = getSysConfig();
        for (Map<String, Object> map : list) {//查询业务标识名称
            String bussinessName = sysConfigMap.get(map.get("BUSINESS_FLAG") + "");
            if (bussinessName != null && !"".equals(bussinessName)) {
                map.put("BUSINESS_NAME", bussinessName);
            }
        }
        return list;
    }

    /** 导出用户资金流水*/
    public File exportFundJour(Map<String, Object> params) throws Exception {
        String filename = "用户资金流水_" + DateUtil.getNow(DateEnum.UNSIGNED_DATE_TIME);
        filename = FileUtil.makeMonthDir(exportPath) + filename + ".xlsx";
        File targetFile = new File(filename);
        ExcelConfig config = new ExcelConfig();
        URI template = UserBalanceAction.class.getResource("/excel/fund_jour_detail.xlsx").toURI();
        List<Map<String, Object>> applys = fundJour.exportFundJour(params);
        Map<String, String> sysConfigMap = getSysConfig();
        for (Map<String, Object> map : applys) {//查询业务标识名称
            String bussinessName = sysConfigMap.get(map.get("BUSINESS_FLAG") + "");
            if (bussinessName != null && !"".equals(bussinessName)) {
                map.put("BUSINESS_NAME", bussinessName);
            }
        }
        // 先生成Excel文件
        config.setSourceTemplate(new File(template));
        config.setTargetFile(targetFile);
        config.setData(applys);
        new ExcelUtil(config).writeExcel();
        return targetFile;
    }

    //拿到系统参数配置
    public Map<String, String> getSysConfig() {
        Map<String, String> sysConfig = new HashMap<String, String>();
        List<SysConfigInfo> lists = configDao.search();
        for (SysConfigInfo sysConfigInfo : lists) {
            sysConfig.put(sysConfigInfo.getSysKey(), sysConfigInfo.getSysValue());
        }
        return sysConfig;
    }
}