admin
2019-03-22 a525f3faae1d749ccceefeb10612ab59cf4d9c1d
Merge remote-tracking branch 'origin/master'
12个文件已修改
3个文件已添加
1001 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/admin/SpreadImgAdminController.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/FloatADAdminController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java 259 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/homemodule/FloatADMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/user/SpreadImgMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/FloatAD.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SwiperBanner.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/homemodule/SwiperPicture.java 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/invite/SpreadImg.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/user/SpreadImgMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/config/SpreadImgServiceImpl.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/FloatADServiceImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SwiperPictureServiceImpl.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/config/SpreadImgService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/homemodule/SwiperPictureService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | 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/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) {
                String params = swiperPicture.getParams();
                if (!StringUtil.isNullOrEmpty(params)) {
                    JSONObject jsonData = JSONObject.fromObject(params);
                    if (jsonData.get("url") != null){
                        swiperPicture.setParams(jsonData.get("url").toString());
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
                Date startTime = swiperPicture.getStartTime();
                if (startTime == null) {
                    swiperPicture.setStartTime_str("");
                    } else {
                        swiperPicture.setParams(null);
                    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 (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,133 +366,34 @@
    }
    
    /**
     * 上传图片以及对应信息
     * @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;
            // 1. 先判断httpRequest 是否含有文件类型
            if (request instanceof MultipartHttpServletRequest) {
                MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
                swiperPictureService.saveObject(fileRequest.getFile("file"), record, jumpType);
            }else{
                swiperPictureService.saveObject(null, record, jumpType);
            }
            swiperPictureService.save(record);
            
            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,87 +15,74 @@
 * @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;
@@ -216,4 +196,19 @@
        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);
            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\":\"#\"}";
        if ((params != null && params.trim().length() == 0) || "null".equalsIgnoreCase(params) ) {
            record.setParams(null);
                }
                params = jumpValue.replace("#", params);
                
            } catch (NotExistObjectException e) {
        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();
            // 默认停用
            if (state == null) {
            record.setState(1);
            }
            Integer autoControl = record.getAutoControl();
            if (autoControl == null) {
            // 默认非系统控制
            record.setAutoControl(1);
            // 默认非登陆
            record.setJumpNeedLogin(false);
            }
            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;
}