package com.xf.mymark; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.PreparedStatementCallback; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Base64; import java.util.List; import java.util.Map; import java.util.UUID; @Controller public class MarkController { @Autowired private JdbcTemplate jdbcTemplate; @Autowired private HttpServletRequest request; @Autowired private HttpServletResponse response; @GetMapping("/") public String hello(){ return "hello" ; } @RequestMapping("/showDatas") @ResponseBody public String showDatas(){ initTables(); String sql2 = "select id,pid,name, 'javascript:openMark('|| id ||');' url from markinfo order by pid ,id "; List<Map<String, Object>> datas = jdbcTemplate.queryForList(sql2); return JSONArray.toJSONString(datas); } @RequestMapping(value="/uploadImgs") @ResponseBody public JSONArray uploadImgs(@RequestParam(value="file[]")MultipartFile file[]) throws IOException { //创建JSON数组,返回一组url和name,告诉编辑器上传的图片路径 JSONArray jsonArray = new JSONArray(); try { //循环为编辑器传来的图片改名 for(int i=0;i<file.length;i++) { String uuid = UUID.randomUUID().toString().replaceAll("-",""); //获取文件后缀名,并拼接UUID和后缀名 String suffix = file[i].getOriginalFilename().substring(file[i].getOriginalFilename().lastIndexOf(".")); File newFile = new File(uuid + suffix); byte[] bytes = file[i].getBytes(); String contentType = file[i].getContentType(); String imgbase64 = Base64.getEncoder().encodeToString(bytes); String base64EncoderImg = "data:" + contentType + ";base64," + imgbase64; //创建JSON对象并加入JSON数组 JSONObject jsonObject = new JSONObject(); jsonObject.put("url", base64EncoderImg); jsonObject.put("name", file[i].getOriginalFilename()); jsonObject.put("error", 0); jsonArray.add(jsonObject); } } catch (Exception e) { e.printStackTrace(); } return jsonArray; } @RequestMapping("/updatePid") @ResponseBody public String updatePid(){ String pid = request.getParameter("pid"); String id = request.getParameter("id"); if(id.equals(pid)) return "不能选择自身作为上级!"; String sql2 = "update markinfo set pid = ? where id = ? "; jdbcTemplate.execute(sql2, new PreparedStatementCallback<Object>() { @Override public Object doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.setString(1,pid); ps.setString(2,id); return ps.execute(); } }); return "ok"; } @RequestMapping("/del") @ResponseBody public String delMark(){ String id = request.getParameter("id"); String sql2 = "delete from markinfo where id = "+id ; jdbcTemplate.execute(sql2); return "ok"; } @RequestMapping("/addMarkName") @ResponseBody public String addMarkName(){ String name = request.getParameter("name"); String pid = request.getParameter("pid"); String sql = "select 1 from markinfo where pid = "+pid +" and name='"+name+"'"; List<Map<String, Object>> datas = jdbcTemplate.queryForList(sql); if(datas.size()>0){ return "名称:"+name+" 已存在,请勿重复创建!"; }else{ String sql2 = "insert into markinfo (pid,name)values (?,?)"; jdbcTemplate.execute(sql2, new PreparedStatementCallback<Object>() { @Override public Object doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.setString(1,pid); ps.setString(2,name); return ps.execute(); } }); return "ok"; } } @RequestMapping("/saveDatas") @ResponseBody public String saveDatas(){ String textInfo = request.getParameter("textInfo"); String id = request.getParameter("id"); String sql2 = "update markinfo set textInfo = ? where id = ? "; jdbcTemplate.execute(sql2, new PreparedStatementCallback<Object>() { @Override public Object doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.setString(1,textInfo); ps.setString(2,id); return ps.execute(); } }); return "ok"; } @RequestMapping("/getData") @ResponseBody public String getData(){ String id = request.getParameter("id"); String sql2 = "select textinfo from markinfo where id = "+id; List<Map<String,Object>> m = jdbcTemplate.queryForList(sql2); if(m.size()>0) { return (String) m.get(0).get("textinfo"); }else{ return ""; } } private void initTables(){ String sql = "create table if not exists markinfo(id INTEGER PRIMARY KEY , pid INTEGER ,name varchar(20),textInfo text)"; jdbcTemplate.execute(sql); String sql2 = "insert into markinfo(pid,name) select '0','ROOT' where not exists (select 1 from markinfo)"; jdbcTemplate.execute(sql2); } }
最近下载更多
Seaskye LV14
2023年11月4日
笑得很美 LV11
2023年10月12日
DeanYao LV2
2023年10月11日
1483259138 LV1
2023年9月18日
最代码官方 LV167
2023年9月16日
最近浏览更多
hmf1989
4月30日
暂无贡献等级
kenhomeliu LV29
4月30日
微信网友_6957774974095360 LV1
4月19日
lo8lukoukoum LV4
4月11日
玖零定制问题修复 LV34
4月4日
阿时23428 LV15
3月23日
chenlie LV2
3月18日
wanglinddad LV55
3月13日
quartz LV7
3月13日
Iterman LV2
3月12日