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/controller/admin/homemodule/FloatADAdminController.java
@@ -62,26 +62,7 @@ } } // /** // * 保存信息 // * // * @param callback // * @param special // * @param out // */ // @RequestMapping(value = "save") // public void save(String callback, @RequestParam("file") CommonsMultipartFile[] file, FloatAD floatAD, // String jumpType, PrintWriter out) { // try { // floatADervice.saveObject(file, floatAD, jumpType); // JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功")); // } catch (FloatADException e) { // JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); // } catch (Exception e) { // JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败")); // e.printStackTrace(); // } // } /** * 修改排序 fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java
@@ -1,18 +1,17 @@ package com.yeshi.fanli.controller.admin.homemodule; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.annotation.Resource; import net.sf.json.JSONObject; import javax.servlet.http.HttpServletRequest; 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.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; @@ -31,6 +30,8 @@ import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import net.sf.json.JSONObject; /** * 轮播图管理 @@ -281,8 +282,8 @@ * @param bannerId * @param out */ @RequestMapping(value = "queryPicture") public void queryPicture(String callback, Integer pageIndex, Integer pageSize, Long bannerId, PrintWriter out) { @RequestMapping(value = "queryPicInfo") public void queryPicInfo(String callback, Integer pageIndex, Integer pageSize, Long bannerId, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; @@ -309,14 +310,27 @@ // 跳转链接 for (SwiperPicture swiperPicture: list) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); Date startTime = swiperPicture.getStartTime(); if (startTime == null) { swiperPicture.setStartTime_str(""); } else { swiperPicture.setStartTime_str(sdf.format(startTime)); } Date endTime = swiperPicture.getEndTime(); if (endTime == null) { swiperPicture.setEndTime_str(""); } else { swiperPicture.setEndTime_str(sdf.format(endTime)); } String params = swiperPicture.getParams(); if (!StringUtil.isNullOrEmpty(params)) { JSONObject jsonData = JSONObject.fromObject(params); if (jsonData.get("url") != null){ swiperPicture.setParams(jsonData.get("url").toString()); } else { swiperPicture.setParams(null); } if (params == null) { swiperPicture.setParams(""); } JumpDetailV2 jumpDetail = swiperPicture.getJumpDetail(); @@ -327,7 +341,6 @@ jumpDetailV2.setType("default"); swiperPicture.setJumpDetail(jumpDetailV2); } } @@ -338,7 +351,7 @@ GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.serializeNulls(); Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm").create(); JSONObject data = new JSONObject(); data.put("pe", pe); @@ -353,134 +366,35 @@ } /** * 上传图片以及对应信息 * @param file 图片文件 * @param uid * @param record 图片信息 * @param request * @param response * @param out */ @RequestMapping(value = "uploadPicture") public void uploadPicture(@RequestParam("file") CommonsMultipartFile file, Long uid, SwiperPicture record, PrintWriter out) { if (file == null) { out.print(JsonUtil.loadFalseResult("上传文件为空")); return; } try { Long bannerId = record.getBannerId(); if (bannerId == null) { out.print(JsonUtil.loadFalseResult("轮播图管理ID不能为空")); return; } int maxOrder = swiperPictureService.getMaxOrderByBannerID(bannerId); record.setOrder(maxOrder + 1); // 默认停用 record.setState(1); record.setAutoControl(1); record.setCreatetime(new Date()); record.setUpdatetime(new Date()); String params = record.getParams(); if (!StringUtil.isNullOrEmpty(params)) { String jumpValue = systemConfigService.get("jump"); if (StringUtil.isNullOrEmpty(jumpValue)) { jumpValue = "{\"url\":\"#\"}"; } params = jumpValue.replace("#", params); record.setParams(params); } swiperPictureService.insertSelective(record); // 上传图片 swiperPictureService.uploadPicture(file, record); out.print(JsonUtil.loadTrueResult("上传成功")); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("操作失败")); e.printStackTrace(); } } /** * 修改图片 * @param file 图片 * @param uid 用户id * @param record * @param request * @param response * @param out */ @RequestMapping(value = "changePicture") public void changePicture(@RequestParam("file") CommonsMultipartFile file, Long uid, Long id, PrintWriter out) { if (file == null) { out.print(JsonUtil.loadFalseResult("上传文件为空")); return; } try { if (id == null) { out.print(JsonUtil.loadFalseResult("ID不能为空")); return; } SwiperPicture resultObj = swiperPictureService.selectByPrimaryKey(id); if (resultObj == null) { out.print(JsonUtil.loadFalseResult("操作数据已不存在")); return; } swiperPictureService.uploadPicture(file, resultObj); out.print(JsonUtil.loadTrueResult("上传成功")); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("操作失败")); e.printStackTrace(); } } /** * 修改图片信息 * 保存信息 * * @param callback * @param record * @param special * @param out */ @RequestMapping(value = "changePicInfo") public void changePicInfo(String callback, SwiperPicture record, String jumpType, PrintWriter out) { @RequestMapping(value = "savePicInfo") public void savePicInfo(String callback, SwiperPicture record, String jumpType, HttpServletRequest request,PrintWriter out) { try { Long id = record.getId(); if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空")); return; } swiperPictureService.save(record); // 1. 先判断httpRequest 是否含有文件类型 if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; swiperPictureService.saveObject(fileRequest.getFile("file"), record, jumpType); }else{ swiperPictureService.saveObject(null, record, jumpType); } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功")); } catch (SwiperPictureException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败")); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败")); e.printStackTrace(); } } /** * 删除图片以及信息 @@ -488,8 +402,8 @@ * @param idArray * @param out */ @RequestMapping(value = "deletePicture") public void deletePicture(String callback, String idArray, PrintWriter out) { @RequestMapping(value = "deletePicInfo") public void deletePicInfo(String callback, String idArray, PrintWriter out) { try { if (StringUtil.isNullOrEmpty(idArray)) { @@ -509,95 +423,12 @@ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除["+ count +"]条数据")); } catch (SwiperPictureException e) { } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败")); e.printStackTrace(); } } /** * 修该状态 * @param callback * @param id * @param out */ @RequestMapping(value = "updateStatePic") public void updateStatePic(String callback, Long id, PrintWriter out) { try { if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空")); return; } SwiperPicture resultObj = swiperPictureService.selectByPrimaryKey(id); if (resultObj == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作数据已不存在")); return; } Integer state = resultObj.getState(); if (state == null || state.equals(1) || state == 1) { resultObj.setState(0); } else { resultObj.setState(1); } swiperPictureService.updateByPrimaryKeySelective(resultObj); JSONObject data = new JSONObject(); data.put("state", resultObj.getState()); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (SwiperPictureException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } /** * 更新自动控制状态 * @param callback * @param id * @param out */ @RequestMapping(value = "updateAutoControl") public void updateAutoControl(String callback, Long id, PrintWriter out) { try { if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空")); return; } SwiperPicture resultObj = swiperPictureService.selectByPrimaryKey(id); if (resultObj == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作数据已不存在")); return; } Integer state = resultObj.getAutoControl(); if (state == null || state.equals(1) || state == 1) { resultObj.setAutoControl(0); } else { resultObj.setAutoControl(1); } swiperPictureService.updateByPrimaryKeySelective(resultObj); JSONObject data = new JSONObject(); data.put("state", resultObj.getState()); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (SwiperPictureException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } /** * 修改排序 fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/FloatADMapper.java
@@ -51,7 +51,7 @@ * @param position * @return */ int countByPosition(@Param("position") String position); int getMaxOrderByPosition(@Param("position") String position); /** * 查询有效弹出框 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/homemodule/FloatAD.java
@@ -61,12 +61,12 @@ private boolean jumpNeedLogin; // 起始时间 @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "fa_start_time") private Date startTime; // 结束日期 @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "fa_end_time") private Date endTime; @@ -90,6 +90,10 @@ @Column(name = "fa_update_time") private Date updateTime; // 起始时间 private String startTime_str; // 结束时间 private String endTime_str; @@ -204,4 +208,22 @@ public void setShowMode(String showMode) { this.showMode = showMode; } public String getStartTime_str() { return startTime_str; } public void setStartTime_str(String startTime_str) { this.startTime_str = startTime_str; } public String getEndTime_str() { return endTime_str; } public void setEndTime_str(String endTime_str) { this.endTime_str = endTime_str; } } fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SwiperBanner.java
@@ -3,14 +3,8 @@ import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.Table; import javax.persistence.Transient; import org.yeshi.utils.mybatis.Column; import org.yeshi.utils.mybatis.Table; /** * 轮播图管理 @@ -19,42 +13,33 @@ * * @date 2018年10月15日 */ @Entity @Table(name = "yeshi_ec_swiper_banner") @org.yeshi.utils.mybatis.Table("yeshi_ec_swiper_banner") @Table("yeshi_ec_swiper_banner") public class SwiperBanner implements Serializable{ private static final long serialVersionUID = 1L; @Id @Column(name = "sp_id") @GeneratedValue(strategy = GenerationType.AUTO) @org.yeshi.utils.mybatis.Column(name = "sp_id") private Long id; @JoinColumn(name = "sp_title") @org.yeshi.utils.mybatis.Column(name = "sp_title") @Column(name = "sp_title") private String title;// 名称 @JoinColumn(name = "sp_card") @org.yeshi.utils.mybatis.Column(name = "sp_card") @Column(name = "sp_card") private String card; // 匹配标识 @JoinColumn(name = "sp_state") @org.yeshi.utils.mybatis.Column(name = "sp_state") @Column(name = "sp_state") private Integer state; // 状态: 1 停用 0启用 @JoinColumn(name = "sp_createtime") @org.yeshi.utils.mybatis.Column(name = "sp_createtime") @Column(name = "sp_createtime") private Date createtime; // 创建时间 @JoinColumn(name = "sp_updatetime") @org.yeshi.utils.mybatis.Column(name = "sp_updatetime") @Column(name = "sp_updatetime") private Date updatetime; // 更新时间(修改时间) @Transient private Long totalPic; // 包含图片数量 // 包含图片数量 private Long totalPic; public Long getId() { return id; fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SwiperPicture.java
@@ -3,16 +3,9 @@ import java.io.Serializable; import java.util.Date; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.springframework.format.annotation.DateTimeFormat; import org.yeshi.utils.mybatis.Column; import org.yeshi.utils.mybatis.Table; import com.google.gson.annotations.Expose; import com.yeshi.fanli.entity.common.JumpDetailV2; @@ -22,88 +15,75 @@ * @author Administrator * */ @Entity @Table(name = "yeshi_ec_swiper_banner_picture") @org.yeshi.utils.mybatis.Table("yeshi_ec_swiper_banner_picture") @Table("yeshi_ec_swiper_banner_picture") public class SwiperPicture implements Serializable { private static final long serialVersionUID = 1L; @Id @javax.persistence.Column(name = "pic_id") @GeneratedValue(strategy = GenerationType.AUTO) @org.yeshi.utils.mybatis.Column(name = "pic_id") @Column(name = "pic_id") private Long id; // 轮播图标识ID @JoinColumn(name = "pic_banner_id") @org.yeshi.utils.mybatis.Column(name = "pic_banner_id") @Column(name = "pic_banner_id") private Long bannerId; // 图片链接 @Expose @JoinColumn(name = "pic_src") @org.yeshi.utils.mybatis.Column(name = "pic_src") @Column(name = "pic_src") private String src; // 跳转方式 @Expose @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "pic_jumpid") @org.yeshi.utils.mybatis.Column(name = "pic_jumpid") @Column(name = "pic_jumpid") private JumpDetailV2 jumpDetail; // 跳转参数 @Expose @JoinColumn(name = "pic_params") @org.yeshi.utils.mybatis.Column(name = "pic_params") @Column(name = "pic_params") private String params; // 跳转是否需要登陆 @JoinColumn(name = "pic_jump_need_login") @org.yeshi.utils.mybatis.Column(name = "pic_jump_need_login") @Column(name = "pic_jump_need_login") private boolean jumpNeedLogin; // 排序 @JoinColumn(name = "pic_order") @org.yeshi.utils.mybatis.Column(name = "pic_order") @Column(name = "pic_order") private Integer order; @JoinColumn(name = "pic_remark") @org.yeshi.utils.mybatis.Column(name = "pic_remark") @Column(name = "pic_remark") private String remark; // 启用状态 @JoinColumn(name = "pic_state") @org.yeshi.utils.mybatis.Column(name = "pic_state") // 启用状态 0 启用1 停用 @Column(name = "pic_state") private Integer state; // 自动控制 @JoinColumn(name = "pic_auto_control") @org.yeshi.utils.mybatis.Column(name = "pic_auto_control") @Column(name = "pic_auto_control") private Integer autoControl; // 起始时间 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JoinColumn(name = "pic_start_time") @org.yeshi.utils.mybatis.Column(name = "pic_start_time") @Column(name = "pic_start_time") private Date startTime; // 结束时间 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JoinColumn(name = "pic_end_time") @org.yeshi.utils.mybatis.Column(name = "pic_end_time") @Column(name = "pic_end_time") private Date endTime; @JoinColumn(name = "pic_createtime") @org.yeshi.utils.mybatis.Column(name = "pic_createtime") @Column(name = "pic_createtime") private Date createtime; @JoinColumn(name = "pic_updatetime") @org.yeshi.utils.mybatis.Column(name = "pic_updatetime") @Column(name = "pic_updatetime") private Date updatetime; // 起始时间 private String startTime_str; // 结束时间 private String endTime_str; public Long getId() { return this.id; } @@ -215,5 +195,20 @@ public void setJumpNeedLogin(boolean jumpNeedLogin) { this.jumpNeedLogin = jumpNeedLogin; } public String getStartTime_str() { return startTime_str; } public void setStartTime_str(String startTime_str) { this.startTime_str = startTime_str; } public String getEndTime_str() { return endTime_str; } public void setEndTime_str(String endTime_str) { this.endTime_str = endTime_str; } } 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/impl/homemodule/FloatADServiceImpl.java
@@ -58,21 +58,25 @@ } try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startTime = record.getStartTime(); if (startTime != null) { record.setStartTime(format.parse(format.format(startTime))); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String startTime_str = record.getStartTime_str(); if (startTime_str != null && startTime_str.trim().length() > 0) { startTime_str = startTime_str.replaceAll("T", " "); record.setStartTime(format.parse(startTime_str)); } Date endTime = record.getEndTime(); if (endTime != null) { record.setEndTime(format.parse(format.format(endTime))); String endTime_str = record.getEndTime_str(); if (endTime_str != null && endTime_str.trim().length() > 0) { endTime_str = endTime_str.replaceAll("T", " "); record.setEndTime(format.parse(endTime_str)); } } catch (ParseException e) { e.printStackTrace(); } // 图片上传 String picture = null; if (file != null) { picture = uploadPicture(file); @@ -80,11 +84,14 @@ Long id = record.getId(); if (id == null) { int maxOrder = floatADMapper.countByPosition(position); int maxOrder = floatADMapper.getMaxOrderByPosition(position); record.setPicture(picture); record.setState(0); Integer state = record.getState(); if (state == null) { record.setState(0); } record.setOrder(maxOrder + 1); record.setJumpNeedLogin(false); record.setCreateTime(new Date()); record.setUpdateTime(new Date()); floatADMapper.insert(record); @@ -96,9 +103,10 @@ } if (picture != null && picture.trim().length() > 0) { // 删除老图 removePicture(resultObj.getPicture()); // 存储新图 record.setPicture(picture); // 删除已存在图片 removePicture(resultObj); } else { record.setPicture(resultObj.getPicture()); } @@ -110,6 +118,38 @@ } } /** * 上传图片 * @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/FloatAD/"+UUID.randomUUID().toString().replace("-", "") + "." + type; // 执行上传 String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); return fileLink; } /** * 删除图片-不更新数据库 * @param record * @throws Exception */ public void removePicture(String picture) throws Exception { if (picture != null && picture.trim().length() > 0) { COSManager.getInstance().deleteFile(picture); } } @Override @Transactional @@ -155,45 +195,12 @@ // 删除已存在图片 for (FloatAD floatAD: listSwiper) { removePicture(floatAD); removePicture(floatAD.getPicture()); } return floatADMapper.deleteByPrimaryKeyList(list); } /** * 上传图片 * @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/FloatAD/"+UUID.randomUUID().toString().replace("-", "") + "." + type; // 执行上传 String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); return fileLink; } /** * 删除图片-不更新数据库 * @param record * @throws Exception */ public void removePicture(FloatAD record) throws Exception { String picture = record.getPicture(); if (picture != null && picture.trim().length() > 0) { COSManager.getInstance().deleteFile(picture); } } @Override @@ -206,6 +213,21 @@ for (FloatAD floatAD : listQuery) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); Date startTime = floatAD.getStartTime(); if (startTime == null) { floatAD.setStartTime_str(""); } else { floatAD.setStartTime_str(sdf.format(startTime)); } Date endTime = floatAD.getEndTime(); if (endTime == null) { floatAD.setEndTime_str(""); } else { floatAD.setEndTime_str(sdf.format(endTime)); } String params = floatAD.getParams(); if (params == null) { floatAD.setParams(""); fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java
@@ -1,6 +1,8 @@ package com.yeshi.fanli.service.impl.homemodule; import java.io.InputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.UUID; @@ -15,9 +17,9 @@ import com.yeshi.fanli.dao.mybatis.homemodule.SwiperPictureMapper; import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; import com.yeshi.fanli.exception.NotExistObjectException; import com.yeshi.fanli.entity.common.JumpDetailV2; import com.yeshi.fanli.exception.banner.SwiperPictureException; import com.yeshi.fanli.service.inter.config.SystemConfigService; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; import com.yeshi.fanli.util.StringUtil; @@ -28,17 +30,9 @@ private SwiperPictureMapper swiperPictureMapper; @Resource private SystemConfigService systemConfigService; private JumpDetailV2Service jumpDetailV2Service; @Override public int deleteByPrimaryKey(Long id) throws SwiperPictureException{ return swiperPictureMapper.deleteByPrimaryKey(id); } @Override public int insert(SwiperPicture record) throws SwiperPictureException{ return swiperPictureMapper.insert(record); } @Override public int insertSelective(SwiperPicture record) throws SwiperPictureException{ @@ -71,9 +65,8 @@ } @Override public void save(SwiperPicture record) throws SwiperPictureException{ public void saveObject(MultipartFile file, SwiperPicture record, String jumpType) throws SwiperPictureException, Exception{ if (record == null) { throw new SwiperPictureException(1, "参数不能为空"); @@ -85,34 +78,61 @@ } String params = record.getParams(); if (!StringUtil.isNullOrEmpty(params)) { try { String jumpValue = systemConfigService.get("jump"); if (StringUtil.isNullOrEmpty(jumpValue)) { jumpValue = "{\"url\":\"#\"}"; } params = jumpValue.replace("#", params); } catch (NotExistObjectException e) { e.printStackTrace(); if ((params != null && params.trim().length() == 0) || "null".equalsIgnoreCase(params) ) { record.setParams(null); } if (!StringUtil.isNullOrEmpty(jumpType)) { List<JumpDetailV2> listByType = jumpDetailV2Service.listByType(jumpType); if (listByType !=null && listByType.size() > 0) { record.setJumpDetail(listByType.get(0)); } } try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String startTime_str = record.getStartTime_str(); if (startTime_str != null && startTime_str.trim().length() > 0) { startTime_str = startTime_str.replaceAll("T", " "); record.setStartTime(format.parse(startTime_str)); } String endTime_str = record.getEndTime_str(); if (endTime_str != null && endTime_str.trim().length() > 0) { endTime_str = endTime_str.replaceAll("T", " "); record.setEndTime(format.parse(endTime_str)); } } catch (ParseException e) { e.printStackTrace(); } String picture = null; if (file != null) { picture = uploadPicture(file); } Long id = record.getId(); if (id == null) { // 新增 int maxOrder = swiperPictureMapper.getMaxOrderByBannerID(bannerId); record.setOrder(maxOrder + 1); Integer state = record.getState(); // 默认停用 record.setState(1); // 默认非系统控制 record.setAutoControl(1); // 默认非登陆 record.setJumpNeedLogin(false); if (state == null) { record.setState(1); } Integer autoControl = record.getAutoControl(); if (autoControl == null) { // 默认非系统控制 record.setAutoControl(1); } record.setCreatetime(new Date()); record.setUpdatetime(new Date()); record.setSrc(picture); swiperPictureMapper.insert(record); } else { @@ -122,13 +142,57 @@ throw new SwiperPictureException(1, "参数不能为空"); } if (picture != null && picture.trim().length() > 0) { // 删除已存在图片 removePicture(resultObj); record.setSrc(picture); } else { record.setSrc(resultObj.getSrc()); } record.setOrder(resultObj.getOrder()); record.setCreatetime(resultObj.getCreatetime()); record.setUpdatetime(new Date()); swiperPictureMapper.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/swiperPic/"+UUID.randomUUID().toString().replace("-", "") + "." + type; // 执行上传 String fileLink= COSManager.getInstance().uploadFile(inputStream, filePath).getUrl(); return fileLink; } /** * 删除图片-不更新数据库 * @param record * @throws Exception */ public void removePicture(SwiperPicture record) throws Exception { String picture = record.getSrc(); if (picture != null && picture.trim().length() > 0) { COSManager.getInstance().deleteFile(picture); } } @Override @Transactional @@ -155,30 +219,6 @@ return swiperPictureMapper.queryByListBannerID(list); } @Override public void uploadPicture(MultipartFile file, SwiperPicture record) throws Exception { InputStream inputStream = file.getInputStream(); String contentType = file.getContentType(); String type = contentType.substring(contentType.indexOf("/") + 1); // 上传文件相对位置 String fileUrl="swiperPic/"+UUID.randomUUID().toString().replace("-", "") + "." + type; /* 修改图片时,先删除已存在图片 */ String src = record.getSrc(); if (!StringUtil.isNullOrEmpty(src)) { COSManager.getInstance().deleteFile(src); } String uploadFilePath = COSManager.getInstance().uploadFile(inputStream, fileUrl).getUrl(); /* 更新数据库信息 */ if (!StringUtil.isNullOrEmpty(uploadFilePath)) { record.setSrc(uploadFilePath); record.setUpdatetime(new Date()); updateByPrimaryKeySelective(record); } } @Override public List<SwiperPicture> getOrderByBannerID(Long bannerId, Integer type, Integer order) throws SwiperPictureException { 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; } fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SwiperPictureService.java
@@ -11,9 +11,6 @@ public interface SwiperPictureService { public int deleteByPrimaryKey(Long id) throws SwiperPictureException; public int insert(SwiperPicture record) throws SwiperPictureException; public int insertSelective(SwiperPicture record) throws SwiperPictureException; @@ -51,13 +48,6 @@ */ public int deleteBatchByBannerID(List<Long> list) throws SwiperPictureException; /** * 上传图片 * @param file * @param record * @throws Exception */ public void uploadPicture(MultipartFile file, SwiperPicture record) throws Exception; /** * 根据管理id集合 查询 @@ -96,5 +86,5 @@ * @param record * @throws SwiperPictureException */ public void save(SwiperPicture record) throws SwiperPictureException; public void saveObject(MultipartFile file, SwiperPicture record, String jumpType) throws SwiperPictureException, Exception; }