fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/HomeNavbarAdminController.java
@@ -6,11 +6,15 @@ import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.commons.CommonsMultipartFile; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; @@ -18,13 +22,16 @@ import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar; import com.yeshi.fanli.entity.bus.homemodule.SuperHomeNavbar; import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.system.System; import com.yeshi.fanli.service.AdminUserService; import com.yeshi.fanli.service.inter.config.SystemService; import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService; import com.yeshi.fanli.service.inter.homemodule.SuperHomeNavbarService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.annotation.RequestNoLogin; @Controller @RequestMapping("admin/new/api/v1/navbar") @@ -32,6 +39,9 @@ @Resource private SystemService systemService; @Resource private AdminUserService adminUserService; @Resource private HomeNavbarService homeNavbarService; @@ -193,7 +203,7 @@ } Integer oldOrder = resultObj.getOrderby(); List<HomeNavbar> list = homeNavbarService.getChangeOrder(id, moveType, oldOrder); List<HomeNavbar> list = homeNavbarService.getChangeOrder(moveType, oldOrder); if (list != null && list.size() > 0) { HomeNavbar changeObj = list.get(0); @@ -300,7 +310,57 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败")); e.printStackTrace(); } } /** * 专题图片上传 * @param file * @param uid * @param id * @param request * @param response * @param out */ @RequestNoLogin() @RequestMapping(value = "uploadPic") public void uploadPic(@RequestParam("file") CommonsMultipartFile file, Long uid, Long id, HttpServletRequest request, HttpServletResponse response, PrintWriter out) { response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "*"); AdminUser admin = adminUserService.selectByPrimaryKey(uid); if (admin == null) { out.print(JsonUtil.loadFalseResult("当前账户验证失败")); return; } if (file == null) { out.print(JsonUtil.loadFalseResult("上传文件为空")); return; } if (id == null) { out.print(JsonUtil.loadFalseResult("ID不能为空")); return; } try { HomeNavbar resultObj = homeNavbarService.selectByPrimaryKey(id); if (resultObj == null) { out.print(JsonUtil.loadFalseResult("操作数据已不存在")); return; } homeNavbarService.uploadPicture(file, resultObj); out.print(JsonUtil.loadTrueResult("上传成功")); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("操作失败")); e.printStackTrace(); } } } fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/HomeNavbarMapper.java
@@ -40,7 +40,7 @@ * @param order 排序值 * @return */ List<HomeNavbar> getChangeOrder(@Param("id") Long id, @Param("type") Integer type, @Param("order") Integer order); List<HomeNavbar> getChangeOrder(@Param("type") Integer type, @Param("order") Integer order); /** * 后端列表查询 fanli/src/main/java/com/yeshi/fanli/mapping/homemodule/HomeNavbarMapper.xml
@@ -72,7 +72,7 @@ <select id="getChangeOrder" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List" /> FROM yeshi_ec_home_navbar WHERE br_id = #{id} WHERE 1=1 <if test="type == -1"> <![CDATA[and br_orderby < #{order}]]> order by br_orderby desc fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/HomeNavbarServiceImpl.java
@@ -1,13 +1,18 @@ package com.yeshi.fanli.service.impl.homemodule; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import javax.annotation.Resource; import javax.transaction.Transactional; import org.apache.commons.beanutils.PropertyUtils; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import org.yeshi.utils.tencentcloud.COSManager; import com.yeshi.fanli.dao.mybatis.homemodule.HomeNavbarMapper; import com.yeshi.fanli.dao.mybatis.homemodule.SuperHomeNavbarMapper; @@ -16,6 +21,7 @@ import com.yeshi.fanli.entity.system.System; import com.yeshi.fanli.service.inter.config.SystemService; import com.yeshi.fanli.service.inter.homemodule.HomeNavbarService; import com.yeshi.fanli.util.StringUtil; @Service @@ -63,6 +69,17 @@ @Transactional public int deleteBatchByPrimaryKey(List<Long> list) { superHomeNavbarMapper.deleteBatchByNavbarIds(list); for (Long id: list) { HomeNavbar homeNavbar = homeNavbarMapper.selectByPrimaryKey(id); if (homeNavbar !=null) { // 删除已存在图片 / String picture = homeNavbar.getPicture(); if (!StringUtil.isNullOrEmpty(picture)) { COSManager.getInstance().deleteFile(picture); } } } return homeNavbarMapper.deleteBatchByPrimaryKey(list); } @@ -72,8 +89,8 @@ } @Override public List<HomeNavbar> getChangeOrder(Long id, Integer type, Integer order) { return homeNavbarMapper.getChangeOrder(id, type, order); public List<HomeNavbar> getChangeOrder(Integer type, Integer order) { return homeNavbarMapper.getChangeOrder(type, order); } @Override @@ -151,7 +168,29 @@ } @Override public void uploadPicture(MultipartFile file, HomeNavbar homeNavbar) throws Exception { InputStream inputStream = file.getInputStream(); String contentType = file.getContentType(); String type = contentType.substring(contentType.indexOf("/") + 1); // 上传文件相对位置 String fileUrl="HomeNavbar/"+UUID.randomUUID().toString().replace("-", "") + "." + type; /* 修改图片时,先删除已存在图片 */ String picture = homeNavbar.getPicture(); if (!StringUtil.isNullOrEmpty(picture)) { COSManager.getInstance().deleteFile(picture); } String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl(); /* 更新数据库信息 */ if (!StringUtil.isNullOrEmpty(uploadFilePath)) { homeNavbar.setUpdatetime(new Date()); homeNavbar.setPicture(uploadFilePath); updateByPrimaryKeySelective(homeNavbar); } } } fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/HomeNavbarService.java
@@ -2,6 +2,8 @@ import java.util.List; import org.springframework.web.multipart.MultipartFile; import com.yeshi.fanli.entity.bus.homemodule.HomeNavbar; /** @@ -29,14 +31,14 @@ * @param list * @return */ int deleteBatchByPrimaryKey(List<Long> list); public int deleteBatchByPrimaryKey(List<Long> list); /** * 获取最大的排序值 * @param card * @return */ int getMaxOrder(); public int getMaxOrder(); /** * 查询交换排序对象 @@ -44,7 +46,7 @@ * @param order 排序值 * @return */ List<HomeNavbar> getChangeOrder(Long id, Integer type, Integer order); public List<HomeNavbar> getChangeOrder(Integer type, Integer order); /** * 后端列表查询 @@ -53,8 +55,16 @@ * @param key * @return */ List<HomeNavbar> listQuery(long start, int count, String key); public List<HomeNavbar> listQuery(long start, int count, String key); long countlistQuery(String key); public long countlistQuery(String key); /** * 图片上传 * @param file * @param homeNavbar * @throws Exception */ public void uploadPicture(MultipartFile file, HomeNavbar homeNavbar) throws Exception; }