fanli/src/main/java/com/yeshi/fanli/controller/admin/SpreadImgAdminController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/SpreadImgMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/entity/bus/invite/SpreadImg.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/mapping/user/SpreadImgMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SpreadImgServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/inter/config/SpreadImgService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
fanli/src/main/java/com/yeshi/fanli/controller/admin/SpreadImgAdminController.java
New file @@ -0,0 +1,152 @@ package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.tencentcloud.COSManager; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.entity.bus.invite.SpreadImg; import com.yeshi.fanli.service.inter.config.SpreadImgService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import net.sf.json.JSONObject; @Controller @RequestMapping("admin/new/api/v1/spreadImg") public class SpreadImgAdminController { @Resource private SpreadImgService spreadImgService; /** * 保存信息 * * @param callback * @param special * @param out */ @RequestMapping(value = "save") public void save(String callback, SpreadImg spreadImg, HttpServletRequest request,PrintWriter out) { try { // 1. 先判断httpRequest 是否含有文件类型 if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; spreadImgService.saveObject(fileRequest.getFile("file"), spreadImg); }else{ spreadImgService.saveObject(null, spreadImg); } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功")); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败")); e.printStackTrace(); } } /** * 查询 * * @param callback * @param pageIndex * @param pageSize * @param key 模糊查询:说明、标识 * @param out */ @RequestMapping(value = "query") public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer sort, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } if (pageSize == null || pageSize < 1) { pageSize = Constant.PAGE_SIZE; } try { List<SpreadImg> list = spreadImgService.listQuery((pageIndex - 1) * pageSize, pageSize, key); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); return; } long count = spreadImgService.countQuery(key); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.serializeNulls(); Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", gson.toJson(list)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败")); e.printStackTrace(); } } /** * 删除 * * @param callback * @param idArray * @param out */ @RequestMapping(value = "delete") public void delete(String callback, String idArray, PrintWriter out) { try { if (StringUtil.isNullOrEmpty(idArray)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据")); return; } Gson gson = new Gson(); List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() { }.getType()); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据")); return; } for (Long id : list) { SpreadImg spreadImg = spreadImgService.getInviteSpreadImg(id); String url = spreadImg.getUrl(); if (!StringUtil.isNullOrEmpty(url)) { COSManager.getInstance().deleteFile(url); } spreadImgService.deleteInviteFriendImg(id); } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功")); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败")); e.printStackTrace(); } } } fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/SpreadImgMapper.java
@@ -2,6 +2,8 @@ import java.util.List; import org.apache.ibatis.annotations.Param; import com.yeshi.fanli.dao.BaseMapper; import com.yeshi.fanli.entity.bus.invite.SpreadImg; @@ -12,4 +14,11 @@ * @return */ List<SpreadImg> listAll(); List<SpreadImg> listQuery(@Param("start") long start, @Param("count") int count, @Param("url") String url); long countQuery(@Param("url") String url); } fanli/src/main/java/com/yeshi/fanli/entity/bus/invite/SpreadImg.java
@@ -9,6 +9,11 @@ import com.google.gson.annotations.Expose; /** * 邀请好友图片 * @author Administrator * */ @Table( "yeshi_ec_spread_img") public class SpreadImg { fanli/src/main/java/com/yeshi/fanli/mapping/user/SpreadImgMapper.xml
@@ -56,4 +56,21 @@ </set> where si_id = #{id,jdbcType=BIGINT} </update> <select id="listQuery" resultMap="BaseResultMap"> SELECT * FROM yeshi_ec_spread_img p <if test="url != null and url != ''"> WHERE p.`si_url` LIKE '%#{url}%' </if> ORDER BY p.`si_createtime` DESC LIMIT #{start},#{count} </select> <select id="countQuery" resultType="java.lang.Long"> SELECT IFNULL(COUNT(p.`si_id`),0) FROM yeshi_ec_spread_img p <if test="url != null and url != ''"> WHERE p.`si_url` LIKE '%#{url}%' </if> </select> </mapper> fanli/src/main/java/com/yeshi/fanli/service/impl/config/SpreadImgServiceImpl.java
New file @@ -0,0 +1,107 @@ package com.yeshi.fanli.service.impl.config; import java.io.InputStream; import java.util.Date; import java.util.List; import java.util.UUID; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import org.yeshi.utils.tencentcloud.COSManager; import com.yeshi.fanli.dao.mybatis.user.SpreadImgMapper; import com.yeshi.fanli.entity.bus.invite.SpreadImg; import com.yeshi.fanli.service.inter.config.SpreadImgService; @Service public class SpreadImgServiceImpl implements SpreadImgService { @Resource private SpreadImgMapper spreadImgMapper; @Override public void deleteInviteFriendImg(long id) { spreadImgMapper.deleteByPrimaryKey(id); } @Override public SpreadImg getInviteSpreadImg(long id) { return spreadImgMapper.selectByPrimaryKey(id); } @Override public void saveObject(MultipartFile file, SpreadImg record) throws Exception{ String picture = null; if (file != null) { picture = uploadPicture(file); } Long id = record.getId(); if (id == null) { record.setUrl(picture); record.setCreatetime(new Date()); spreadImgMapper.insert(record); } else { // 修改 SpreadImg resultObj = spreadImgMapper.selectByPrimaryKey(id); if (resultObj == null) { throw new Exception("修改内容已不存在"); } if (picture != null && picture.trim().length() > 0) { // 删除已存在图片 removePicture(resultObj.getUrl()); record.setUrl(picture); } else { record.setUrl(resultObj.getUrl()); } record.setCreatetime(resultObj.getCreatetime()); spreadImgMapper.updateByPrimaryKey(record); } } /** * 上传图片 * @param file * @return * @throws Exception */ public String uploadPicture(MultipartFile file) throws Exception { // 文件解析 InputStream inputStream = file.getInputStream(); String contentType = file.getContentType(); String type = contentType.substring(contentType.indexOf("/") + 1); // 文件路径 String filePath="/img/invite/"+UUID.randomUUID().toString().replace("-", "") + "." + type; // 执行上传 return COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); } /** * 删除图片 * @param record * @throws Exception */ public void removePicture(String picture) throws Exception { if (picture != null && picture.trim().length() > 0) { COSManager.getInstance().deleteFile(picture); } } @Override public List<SpreadImg> listQuery(int start, int pageSize, String key) { return spreadImgMapper.listQuery(start, pageSize, key); } @Override public long countQuery(String key) { return spreadImgMapper.countQuery(key); } } fanli/src/main/java/com/yeshi/fanli/service/inter/config/SpreadImgService.java
New file @@ -0,0 +1,21 @@ package com.yeshi.fanli.service.inter.config; import java.util.List; import org.springframework.web.multipart.MultipartFile; import com.yeshi.fanli.entity.bus.invite.SpreadImg; public interface SpreadImgService { public List<SpreadImg> listQuery(int start, int pageSize, String key); public long countQuery(String key); public void deleteInviteFriendImg(long id); public SpreadImg getInviteSpreadImg(long id); public void saveObject(MultipartFile file, SpreadImg record) throws Exception; }