package com.xc.controller; import com.github.pagehelper.PageInfo; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; import com.xc.common.ServerResponse; import com.xc.service.RiskService; import com.xc.utils.DateUtils; import com.xc.utils.HttpRequest; import com.xc.utils.PropertiesUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller @RequestMapping({"/risk/"}) public class RiskController { private static final Logger log = LoggerFactory.getLogger(RiskController.class); @Autowired private RiskService riskService; @RequestMapping({"view.do"}) @ResponseBody public ServerResponse view( @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize ) { PageInfo pageInfo=riskService.getRiskInfoList(pageNum,pageSize); return ServerResponse.createBySuccess(pageInfo); } @RequestMapping({"delete.do"}) @ResponseBody public ServerResponse delete(String id) { Record data1 = Db.use("data").findFirst("select code,status,tocode from risk_control_formula where id = ? ", id); int data = Db.use("data").update("delete from risk_control_formula where id = ? ", id); try { String url = PropertiesUtil.getProperty("httpdata.url"); String code = HttpRequest.sendGet(url + "remMap?key=" + data1.get("code"), ""); } catch (Exception e) { e.printStackTrace(); } if(data1!=null){ // 如果关闭了 Db.use("data").update("UPDATE risk_control_formula_history SET `endTime` = ? WHERE `tocode` = ? and (endTime is null or endTime ='' ) ", System.currentTimeMillis(), data1.get("tocode")); } return ServerResponse.createBySuccessMsg(data == 1 ? "true" : "false"); } @RequestMapping({"save.do"}) @ResponseBody public ServerResponse save(String code, // 货币code(LINK) String codeName, // 货币名称(LINK币) String minimumFluctuation, // 最小波动 String riskControl, // 风控参数(+-*/) String status, // 状态,0启动、1关闭 String tocode, // 新币/股 code (GTC) String multiples // 倍数 ) { int data = Db.use("data").update("insert into risk_control_formula(code,codeName,minimumFluctuation,riskControl,status,tocode,multiples) " + "values('" + code + "', '" + codeName + "','" + minimumFluctuation + "','" + riskControl + "','" + status + "','" + tocode + "','"+multiples+"')"); try { String url = PropertiesUtil.getProperty("httpdata.url"); HttpRequest.sendGet(url+"remMap?key="+code,""); if("0".equals(status)){ // 启动 Db.use("data").update("INSERT INTO risk_control_formula_history( `code`, `minimumFluctuation`, `riskControl`, `status`, `startTime`, `endTime`, `tocode`, `multiples`) " + " VALUES ( '" + code + "', '"+minimumFluctuation+"', '"+riskControl+"', "+status+", '"+ System.currentTimeMillis() +"', '', '"+tocode+"', "+multiples+") " ); } } catch (Exception e) { e.printStackTrace(); } return ServerResponse.createBySuccessMsg(data == 1 ? "true" : "false"); } @RequestMapping({"edit.do"}) @ResponseBody public ServerResponse edit(String id, String code, // 货币code(LINK) String codeName, // 货币名称(LINK币) String minimumFluctuation, // 最小波动 String riskControl, // 风控参数(+-*/) String status, // 状态,0启动、1关闭 String tocode , // 新币/股 code (GTC) String multiples // 倍数 ) { int data = Db.use("data").update("UPDATE risk_control_formula SET `code` = ? , `minimumFluctuation` = ?, `riskControl` = ?, " + "`status` = ?, `codeName` = ?, `tocode` = ? ,multiples = ? WHERE `id` = ? ", code, minimumFluctuation, riskControl, status, codeName, tocode, multiples,id); String url = PropertiesUtil.getProperty("httpdata.url"); try { HttpRequest.sendGet(url+"remMap?key="+code,""); } catch (Exception e) { e.printStackTrace(); } if("0".equals(status)){ // 启动 //如果有数据那就不管 Record data1 = Db.use("data").findFirst("select code,status,tocode from risk_control_formula_history where code = ? and ( endTime is null or endTime = '' ) ", code); if(data1==null){ Db.use("data").update("INSERT INTO risk_control_formula_history( `code`, `minimumFluctuation`, `riskControl`, `status`, `startTime`, `endTime`, `tocode`, `multiples`) " + " VALUES ( '" + code + "', '"+minimumFluctuation+"', '"+riskControl+"', "+status+", '"+ System.currentTimeMillis() +"', '', '"+tocode+"', "+multiples+") " ); } } if("1".equals(status)){ // 如果关闭了 Db.use("data").update("UPDATE risk_control_formula_history SET `endTime` = ? WHERE `tocode` = ? and (endTime is null or endTime ='' ) ", System.currentTimeMillis(), tocode); } return ServerResponse.createBySuccessMsg(data == 1 ? "true" : "false"); } }