PlacingRuleAction.java 5.83 KB
package com.cjs.cms.action.ration;

import java.io.File;
import java.util.ArrayList;
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.ServiceException;
import com.cjs.cms.biz.ration.PlacingRuleBiz;
import com.cjs.cms.biz.ration.RationBiz;
import com.cjs.cms.biz.ration.RationNewConfigBiz;
import com.cjs.cms.dao.ration.RationNewConfigDao;
import com.cjs.cms.dao.user.MemberDao;
import com.cjs.cms.model.pub.ResultInfo;
import com.cjs.cms.model.ration.PlacingRuleInfo;
import com.cjs.cms.model.ration.RationNewConfigInfo;
import com.cjs.cms.model.ration.RationNewUserInfo;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.PageUtils;

/**
 * 新品配售设置
 * 
 * @author wangtenghui
 *
 */
@RestController
@RequestMapping("/ration/placingRule")
public class PlacingRuleAction {

    @Autowired
    private RationNewConfigBiz rationNewConfigBiz;
    @Autowired
    private RationNewConfigDao rationNewConfigDao;
    @Autowired
    private RationBiz          rationBiz;
    @Autowired
    private MemberDao          memberDao;
    private Logger             log = LogManager.getLogger();
    
    
    
    @Autowired
    private PlacingRuleBiz          ruleBiz  ;
    

    
    
    /**
     * 分页查询配售规则
     * @param params
     * @return
     */
    @RequestMapping("/list")
    public String list(@RequestParam Map<String, Object> params) {
        PageUtils.processPage(params);
        return JsonUtil.toPageJson(ruleBiz.search(params),
        		ruleBiz.searchTotal(params));
    }
    
    /**
     * 新增匹配规则
     * @param params
     * @return
     * @throws Exception
     */
    @RequestMapping("/add")
    public String add(PlacingRuleInfo ruleInfo) throws Exception {
    	 //验证规则
       // String valiadate = rationNewConfigBiz.valiadate(rationNewConfigInfo);
        String result = "";
        try {
        	String valiadate= ruleBiz.valiadate(ruleInfo);
            if (!valiadate.equals("1")) {
                return JsonUtil.toJson("resultCode", valiadate);
            }

            result = ruleBiz.add(ruleInfo);
        } catch (ServiceException e) {
            log.info(e.getMessage());
            result = e.getMessage();
        }
        return JsonUtil.toJson("resultCode", result);
    }
    
    
    /**
     * 配售
     */
    @RequestMapping("ration")
    public ResultInfo ration(Integer rationNewConfigId) {
        return rationBiz.ration(rationNewConfigId);

    }

    /**
     * 再次配售
     */
    @RequestMapping("rationAgin")
    public ResultInfo rationAgin(Integer rationNewConfigId) {
        return rationNewConfigBiz.rationAgin(rationNewConfigId);
    }

    

   

    /**
     * 查询配售规则及对应的新品配售用户信息
     * @param rationNewConfigId
     * @return
     */
    @RequestMapping("user")
    public RationNewConfigInfo getUserInfoByConfigId(String rationNewConfigId) {
        return rationNewConfigBiz.getUserInfoByConfigId(rationNewConfigId);
    }

    /**
     * 作废配售规则
     * @param rationNewConfigId
     * @return
     */
    @RequestMapping("cancel")
    public String cancal(Integer rationNewConfigId) {
        return JsonUtil.toJson("resultCode", rationNewConfigBiz.cancel(rationNewConfigId));
    }

    /**
     * 查看规则弹窗功能查询_上部分数据
     * @return
     */
    @RequestMapping("detailT")
    public Map<String, Object> detailTop(Integer id) {
        return rationNewConfigBiz.detailTop(id);
    }

    /**
     * 查看规则弹窗功能查询_下部分表格数据
     * @param id
     * @return
     */
    @RequestMapping("detailB")
    public List<Map<String, Object>> detailBottom(Integer id) {
        return rationNewConfigBiz.detailBottom(id);
    }

    /**
     * 发送短信
     * @param id
     * @return
     */
    @RequestMapping("msg")
    public String sendMessage(Integer id) {
        return JsonUtil.toJson("resultCode", rationNewConfigBiz.sendMessage(id));
    }

    /**
     * 导出验证
     * @param id
     * @return
     */
    @RequestMapping("export/valiadate")
    public String exportValiadate(Integer id) {
        return JsonUtil.toJson("resultCode", rationNewConfigBiz.exportValiadate(id));
    }

    /**
     * 导出确权文件
     * @param id
     * @param request
     * @return
     * @throws Exception
     */
    @RequestMapping("export")
    public ResponseEntity<byte[]> export(Integer id, HttpServletRequest request) throws Exception {
        File targetFile = rationNewConfigBiz.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("allRation")
    public String allRation(Integer id) {
        return rationNewConfigBiz.allRation(id);
    }

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