RationOldConfigAction.java 4.95 KB
package com.cjs.cms.action.ration;

import java.io.File;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.cjs.cms.biz.ration.RationOldBiz;
import com.cjs.cms.biz.ration.RationOldConfigBiz;
import com.cjs.cms.dao.ration.RationOldConfigDao;
import com.cjs.cms.model.ration.RationOldConfigInfo;
import com.cjs.cms.model.ration.RationOldUserInfo;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.PageUtils;

/**
 * 再托管规则
 * @author tongxiaochuan
 *
 */
@RestController
@RequestMapping("/ration/old/config")
public class RationOldConfigAction {

    Logger                     log = LogManager.getLogger();
    @Autowired
    private RationOldConfigBiz rationOldConfigBiz;
    @Autowired
    private RationOldBiz       rationOldBiz;
    @Autowired
    private RationOldConfigDao rationOldConfigDao;

    /**
     * 查询配售规则
     * @return
     */
    @RequestMapping("search")
    public String search(@RequestParam Map<String, Object> params) {
        PageUtils.processPage(params);
        return JsonUtil.toPageJson(rationOldConfigBiz.search(params),
            rationOldConfigBiz.searchTotal(params));
    }

    /**
     * 新增、修改规则
     * @param rationOldConfigInfo
     * @return
     */
    @RequestMapping("add")
    public Map<String, Object> add(RationOldConfigInfo rationOldConfigInfo) {
        return rationOldConfigBiz.add(rationOldConfigInfo);
    }

    /**
     * 根据规则单号查询内部账户列表
     * @param rationOldConfigId
     * @return
     */
    @RequestMapping("users")
    public RationOldConfigInfo queryUsers(Integer rationOldConfigId) {
        return rationOldConfigDao.queryAllById(rationOldConfigId);
    }

    /**
     * 作废规则
     * @param id
     * @return
     */
    @RequestMapping("cancel")
    public Map<String, Object> cancal(@RequestParam Map<String, Object> params) {
        return rationOldConfigBiz.cancel(params);
    }

    /**
     * 发送再托管申请短信
     * @return
     */
    @RequestMapping("msg")
    public Map<String, Object> sendApplyMsg(int rationOldConfigId) {
        return rationOldConfigBiz.sendApplyMsg(rationOldConfigId);
    }

    /**
     * 发送配售购买短信
     * @param rationOldConfigId
     * @return
     */
    @RequestMapping("msg/ration")
    public Map<String, Object> sendRationMsg(int rationOldConfigId) {
        return rationOldConfigBiz.sendRationMsg(rationOldConfigId);
    }

    /**
     * 分配购买资格
     * @param id
     * @return
     */
    @RequestMapping("distribute")
    public Map<String, Object> distribute(Integer id) {
        return rationOldConfigBiz.distribute(id);
    }

    /**
     * 配售
     * @param id
     * @return
     */
    @RequestMapping("ration")
    public Map<String, Object> ration(Integer id) {
        return rationOldBiz.ration(id);
    }

    @RequestMapping("export/validate")
    public Map<String, Object> exportValidate(Integer id) {
        return rationOldConfigBiz.exportValidate(id);
    }

    @RequestMapping("export")
    public ResponseEntity<byte[]> export(Integer id, HttpServletRequest request) throws Exception {
        File targetFile = rationOldConfigBiz.export(id);
        HttpHeaders head = new HttpHeaders();
        head.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        // 下载的文件名
        head.setContentDispositionFormData("attachment",
            new String(targetFile.getName().getBytes("UTF-8"), "ISO8859-1"));
        return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(targetFile), head,
            HttpStatus.CREATED);
    }

    @RequestMapping("supplement")
    public void supplementQuality() {
        rationOldConfigBiz.supplementQuality();
    }

    /**
     * 修改开盘价
     * @param params
     * @return
     */
    @RequestMapping("lastPrice")
    public String lastPriceChange(@RequestParam Map<String, Object> params) {
        return rationOldConfigBiz.lastPriceChange(params);
    }

    /**
     * 查询配售规则_配售用户比例
     * @param id
     * @return
     */
    @RequestMapping("detail")
    public List<RationOldUserInfo> queryDetail(Integer id) {
        return rationOldConfigBiz.queryDetail(id);
    }

    /**
     * 修改成本价
     * @param id
     * @return
     */
    @RequestMapping("costPrice")
    public Map<String, Object> changeCostPrice(Integer id) {
        return rationOldBiz.changeCostPrice(id);
    }
}