|
@@ -1,31 +1,17 @@
|
|
package com.cloudcross.ssp.web.advertiser.main.ad.target;
|
|
package com.cloudcross.ssp.web.advertiser.main.ad.target;
|
|
|
|
|
|
-import java.awt.Image;
|
|
|
|
import java.awt.image.BufferedImage;
|
|
import java.awt.image.BufferedImage;
|
|
-import java.io.DataInputStream;
|
|
|
|
-import java.io.DataOutputStream;
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.FileInputStream;
|
|
-import java.io.FileNotFoundException;
|
|
|
|
-import java.io.FileOutputStream;
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
-import java.lang.Character.Subset;
|
|
|
|
-import java.net.HttpURLConnection;
|
|
|
|
-import java.net.URL;
|
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
-import java.util.Calendar;
|
|
|
|
-import java.util.Date;
|
|
|
|
import java.util.HashSet;
|
|
import java.util.HashSet;
|
|
-import java.util.Iterator;
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
|
|
|
import javax.imageio.ImageIO;
|
|
import javax.imageio.ImageIO;
|
|
-import javax.servlet.ServletContext;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
-import javax.servlet.http.HttpServletResponse;
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
|
|
import org.apache.commons.lang.ArrayUtils;
|
|
import org.apache.commons.lang.ArrayUtils;
|
|
@@ -33,21 +19,21 @@ import org.apache.log4j.Logger;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONException;
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONObject;
|
|
-import org.junit.internal.matchers.SubstringMatcher;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.ui.Model;
|
|
import org.springframework.ui.Model;
|
|
-import org.springframework.util.FileCopyUtils;
|
|
|
|
-import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
-import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
|
-import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
|
|
|
|
|
|
|
|
+import com.cloudcross.ssp.base.web.SimpleController;
|
|
|
|
+import com.cloudcross.ssp.common.Config;
|
|
|
|
+import com.cloudcross.ssp.common.consts.Status;
|
|
|
|
+import com.cloudcross.ssp.common.utils.Common;
|
|
|
|
+import com.cloudcross.ssp.common.utils.LangUtil;
|
|
|
|
+import com.cloudcross.ssp.common.utils.Pager;
|
|
import com.cloudcross.ssp.model.Account;
|
|
import com.cloudcross.ssp.model.Account;
|
|
import com.cloudcross.ssp.model.AdGroup;
|
|
import com.cloudcross.ssp.model.AdGroup;
|
|
import com.cloudcross.ssp.model.Advertiser;
|
|
import com.cloudcross.ssp.model.Advertiser;
|
|
@@ -55,7 +41,6 @@ import com.cloudcross.ssp.model.Banner;
|
|
import com.cloudcross.ssp.model.BannerTemplate;
|
|
import com.cloudcross.ssp.model.BannerTemplate;
|
|
import com.cloudcross.ssp.model.Log;
|
|
import com.cloudcross.ssp.model.Log;
|
|
import com.cloudcross.ssp.model.Order;
|
|
import com.cloudcross.ssp.model.Order;
|
|
-import com.cloudcross.ssp.model.Size;
|
|
|
|
import com.cloudcross.ssp.service.IAdGroupService;
|
|
import com.cloudcross.ssp.service.IAdGroupService;
|
|
import com.cloudcross.ssp.service.IAdvertiserService;
|
|
import com.cloudcross.ssp.service.IAdvertiserService;
|
|
import com.cloudcross.ssp.service.IBannerService;
|
|
import com.cloudcross.ssp.service.IBannerService;
|
|
@@ -64,19 +49,6 @@ import com.cloudcross.ssp.service.ILogService;
|
|
import com.cloudcross.ssp.service.IOrderService;
|
|
import com.cloudcross.ssp.service.IOrderService;
|
|
import com.cloudcross.ssp.service.ISizeService;
|
|
import com.cloudcross.ssp.service.ISizeService;
|
|
import com.cloudcross.ssp.service.impl.BannerService;
|
|
import com.cloudcross.ssp.service.impl.BannerService;
|
|
-import com.cloudcross.ssp.base.web.SimpleController;
|
|
|
|
-import com.cloudcross.ssp.common.Config;
|
|
|
|
-import com.cloudcross.ssp.common.consts.Status;
|
|
|
|
-import com.cloudcross.ssp.common.utils.DateUtil;
|
|
|
|
-import com.cloudcross.ssp.common.utils.DateUtil.DateFmts;
|
|
|
|
-import com.cloudcross.ssp.common.utils.Common;
|
|
|
|
-import com.cloudcross.ssp.common.utils.LangUtil;
|
|
|
|
-import com.cloudcross.ssp.common.utils.Pager;
|
|
|
|
-import com.cloudcross.ssp.common.utils.SWFHeader;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 创意创意列表。
|
|
* 创意创意列表。
|
|
@@ -85,14 +57,14 @@ import com.cloudcross.ssp.common.utils.SWFHeader;
|
|
*/
|
|
*/
|
|
@Controller
|
|
@Controller
|
|
@RequestMapping("/advertiser/main/ad/target/create-banner")
|
|
@RequestMapping("/advertiser/main/ad/target/create-banner")
|
|
-public class CreateBannerController extends SimpleController{
|
|
|
|
|
|
+public class CreateBannerController extends SimpleController {
|
|
private Logger LOG = Logger.getLogger(CreateBannerController.class);
|
|
private Logger LOG = Logger.getLogger(CreateBannerController.class);
|
|
@Autowired
|
|
@Autowired
|
|
IBannerTemplateService bat;
|
|
IBannerTemplateService bat;
|
|
@Autowired
|
|
@Autowired
|
|
IBannerService bs;
|
|
IBannerService bs;
|
|
@Autowired
|
|
@Autowired
|
|
- IOrderService orderService ;
|
|
|
|
|
|
+ IOrderService orderService;
|
|
@Autowired
|
|
@Autowired
|
|
IAdvertiserService advs;
|
|
IAdvertiserService advs;
|
|
@Autowired
|
|
@Autowired
|
|
@@ -107,76 +79,76 @@ public class CreateBannerController extends SimpleController{
|
|
ILogService logService;
|
|
ILogService logService;
|
|
@Autowired
|
|
@Autowired
|
|
Config config;
|
|
Config config;
|
|
-// @RequestMapping
|
|
|
|
-// public String index(Model model,@RequestParam Long adGroupId) {
|
|
|
|
-// model.addAttribute("adGroupId", adGroupId);
|
|
|
|
-// return redirect(page("list"));
|
|
|
|
-// }
|
|
|
|
- //文件系统可上传的文件后缀集合
|
|
|
|
- private static Set<String> noStuffixSet = new HashSet<String>();
|
|
|
|
-
|
|
|
|
- //初始化可上传文件后缀
|
|
|
|
- static {
|
|
|
|
- noStuffixSet.add("jpg");
|
|
|
|
- noStuffixSet.add("gif");
|
|
|
|
- noStuffixSet.add("png");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ // @RequestMapping
|
|
|
|
+ // public String index(Model model,@RequestParam Long adGroupId) {
|
|
|
|
+ // model.addAttribute("adGroupId", adGroupId);
|
|
|
|
+ // return redirect(page("list"));
|
|
|
|
+ // }
|
|
|
|
+ // 文件系统可上传的文件后缀集合
|
|
|
|
+ private static Set<String> noStuffixSet = new HashSet<String>();
|
|
|
|
+
|
|
|
|
+ // 初始化可上传文件后缀
|
|
|
|
+ static {
|
|
|
|
+ noStuffixSet.add("jpg");
|
|
|
|
+ noStuffixSet.add("gif");
|
|
|
|
+ noStuffixSet.add("png");
|
|
|
|
+ }
|
|
|
|
+
|
|
@RequestMapping("/list")
|
|
@RequestMapping("/list")
|
|
public String list(Model model, @RequestParam Map<String, Object> paramMap,
|
|
public String list(Model model, @RequestParam Map<String, Object> paramMap,
|
|
@RequestParam Long adGroupId,
|
|
@RequestParam Long adGroupId,
|
|
- @RequestParam(defaultValue = "1") int page,HttpServletRequest request) {
|
|
|
|
|
|
+ @RequestParam(defaultValue = "1") int page,
|
|
|
|
+ HttpServletRequest request) {
|
|
HttpSession session = request.getSession();
|
|
HttpSession session = request.getSession();
|
|
paramMap.put("adGroupId", adGroupId);
|
|
paramMap.put("adGroupId", adGroupId);
|
|
- //根据投放名,查找所有创建列表找总数
|
|
|
|
|
|
+ // 根据投放名,查找所有创建列表找总数
|
|
int totalRow = bs.countByParams(paramMap);
|
|
int totalRow = bs.countByParams(paramMap);
|
|
- LOG.debug("totalRow="+totalRow);
|
|
|
|
|
|
+ LOG.debug("totalRow=" + totalRow);
|
|
AdGroup adGroup = adGroupService.findById(adGroupId);
|
|
AdGroup adGroup = adGroupService.findById(adGroupId);
|
|
Long campaignId = adGroup.getCampaignId();
|
|
Long campaignId = adGroup.getCampaignId();
|
|
Long orderId = adGroup.getOrderId();
|
|
Long orderId = adGroup.getOrderId();
|
|
Order order = orderService.findById(orderId);
|
|
Order order = orderService.findById(orderId);
|
|
- LOG.debug("order==="+order);
|
|
|
|
|
|
+ LOG.debug("order===" + order);
|
|
Long advertiserId = order.getAdvertiserId();
|
|
Long advertiserId = order.getAdvertiserId();
|
|
model.addAttribute("campaignId", campaignId);
|
|
model.addAttribute("campaignId", campaignId);
|
|
model.addAttribute("orderId", orderId);
|
|
model.addAttribute("orderId", orderId);
|
|
model.addAttribute("advertiserId", advertiserId);
|
|
model.addAttribute("advertiserId", advertiserId);
|
|
- //查询符合条件的创意
|
|
|
|
|
|
+ // 查询符合条件的创意
|
|
Pager pager = new Pager();
|
|
Pager pager = new Pager();
|
|
pager.setPage(page);
|
|
pager.setPage(page);
|
|
pager.setTotalRow(totalRow);
|
|
pager.setTotalRow(totalRow);
|
|
List<Banner> createBannerList = bs.findByParams(paramMap, pager);
|
|
List<Banner> createBannerList = bs.findByParams(paramMap, pager);
|
|
- LOG.debug("createBannerList="+createBannerList);
|
|
|
|
|
|
+ LOG.debug("createBannerList=" + createBannerList);
|
|
model.addAllAttributes(paramMap);
|
|
model.addAllAttributes(paramMap);
|
|
model.addAttribute("pager", pager);
|
|
model.addAttribute("pager", pager);
|
|
model.addAttribute("createBannerList", createBannerList);
|
|
model.addAttribute("createBannerList", createBannerList);
|
|
model.addAttribute("adGroupId", adGroupId);
|
|
model.addAttribute("adGroupId", adGroupId);
|
|
model.addAttribute("sessionid", session.getId());
|
|
model.addAttribute("sessionid", session.getId());
|
|
return page("list");
|
|
return page("list");
|
|
- }
|
|
|
|
-
|
|
|
|
- //删除之后状态变为-1 djp
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 删除之后状态变为-1 djp
|
|
@RequestMapping("/delete")
|
|
@RequestMapping("/delete")
|
|
public @ResponseBody String delete(Long[] id) {
|
|
public @ResponseBody String delete(Long[] id) {
|
|
if (ArrayUtils.isNotEmpty(id)) {
|
|
if (ArrayUtils.isNotEmpty(id)) {
|
|
- bs.updateStatus(LangUtil.array2List(id),
|
|
|
|
- Status.delete.value);
|
|
|
|
|
|
+ bs.updateStatus(LangUtil.array2List(id), Status.delete.value);
|
|
}
|
|
}
|
|
return OK;
|
|
return OK;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
|
|
@RequestMapping("/save")
|
|
@RequestMapping("/save")
|
|
- public String save(HttpServletRequest request, Model model,@RequestParam Map<String, Object> paramMap,@RequestParam(required = false) Long adGroupId) {
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- String bannerObjs = (String)paramMap.get("bannerObjs");
|
|
|
|
|
|
+ public String save(HttpServletRequest request, Model model,
|
|
|
|
+ @RequestParam Map<String, Object> paramMap,
|
|
|
|
+ @RequestParam(required = false) Long adGroupId) {
|
|
|
|
+
|
|
|
|
+ String bannerObjs = (String) paramMap.get("bannerObjs");
|
|
LOG.debug(bannerObjs);
|
|
LOG.debug(bannerObjs);
|
|
- //JSONArray result = new JSONArray(); // 用来存储转换结果的JSONArray
|
|
|
|
|
|
+ // JSONArray result = new JSONArray(); // 用来存储转换结果的JSONArray
|
|
List<Banner> bannerList = new ArrayList<Banner>();
|
|
List<Banner> bannerList = new ArrayList<Banner>();
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
JSONArray jsonArray = new JSONArray(bannerObjs);// 传过来JSONArray
|
|
JSONArray jsonArray = new JSONArray(bannerObjs);// 传过来JSONArray
|
|
- LOG.debug("a111"+jsonArray);
|
|
|
|
-// }
|
|
|
|
|
|
+ LOG.debug("a111" + jsonArray);
|
|
|
|
+ // }
|
|
for (int i = 0; i < jsonArray.length(); i++) {
|
|
for (int i = 0; i < jsonArray.length(); i++) {
|
|
JSONObject object = jsonArray.getJSONObject(i);
|
|
JSONObject object = jsonArray.getJSONObject(i);
|
|
Banner banner = new Banner();
|
|
Banner banner = new Banner();
|
|
@@ -184,238 +156,258 @@ public class CreateBannerController extends SimpleController{
|
|
banner = bs.findById(banner.getId());
|
|
banner = bs.findById(banner.getId());
|
|
banner.setVisitAddress(object.getString("visitAddress"));
|
|
banner.setVisitAddress(object.getString("visitAddress"));
|
|
banner.setClickAddress(object.getString("clickAddress"));
|
|
banner.setClickAddress(object.getString("clickAddress"));
|
|
- banner.setImpressionAddress(object.getString("impressionAddress"));
|
|
|
|
|
|
+ banner.setImpressionAddress(object
|
|
|
|
+ .getString("impressionAddress"));
|
|
banner.getBannerTemplate().setName(object.getString("name"));
|
|
banner.getBannerTemplate().setName(object.getString("name"));
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 先得到编辑前的信息
|
|
* 先得到编辑前的信息
|
|
*/
|
|
*/
|
|
Banner formerBanner = bannerService.findById(banner.getId());
|
|
Banner formerBanner = bannerService.findById(banner.getId());
|
|
-
|
|
|
|
|
|
+
|
|
((BannerService) bs).edit(banner);
|
|
((BannerService) bs).edit(banner);
|
|
-
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 编辑成功后,与以前的banner信息进行比较如果发生了变化,则添加修改记录
|
|
* 编辑成功后,与以前的banner信息进行比较如果发生了变化,则添加修改记录
|
|
*/
|
|
*/
|
|
- //修改标志,默认为没有修改
|
|
|
|
|
|
+ // 修改标志,默认为没有修改
|
|
boolean updatedMark = false;
|
|
boolean updatedMark = false;
|
|
- //存储修改的字符串
|
|
|
|
- String str = "对原有的创意: " + formerBanner.getBannerTemplate().getName() + " 进行了修改:";
|
|
|
|
- //创意名称的比较
|
|
|
|
- if(!(formerBanner.getBannerTemplate().getName().equals(object.getString("name")))) {
|
|
|
|
- str = str + "创意名称" + " " + formerBanner.getBannerTemplate().getName() + "-->" + banner.getBannerTemplate().getName();
|
|
|
|
|
|
+ // 存储修改的字符串
|
|
|
|
+ String str = "对原有的创意: "
|
|
|
|
+ + formerBanner.getBannerTemplate().getName()
|
|
|
|
+ + " 进行了修改:";
|
|
|
|
+ // 创意名称的比较
|
|
|
|
+ if (!(formerBanner.getBannerTemplate().getName().equals(object
|
|
|
|
+ .getString("name")))) {
|
|
|
|
+ str = str + "创意名称" + " "
|
|
|
|
+ + formerBanner.getBannerTemplate().getName()
|
|
|
|
+ + "-->" + banner.getBannerTemplate().getName();
|
|
updatedMark = true;
|
|
updatedMark = true;
|
|
}
|
|
}
|
|
-
|
|
|
|
- //到达地址的比较
|
|
|
|
- if(!(formerBanner.getVisitAddress().equals(banner.getVisitAddress()))) {
|
|
|
|
- str = str + "到达地址" + " " + formerBanner.getVisitAddress() + "-->" + banner.getVisitAddress();
|
|
|
|
|
|
+
|
|
|
|
+ // 到达地址的比较
|
|
|
|
+ if (!(formerBanner.getVisitAddress().equals(banner
|
|
|
|
+ .getVisitAddress()))) {
|
|
|
|
+ str = str + "到达地址" + " " + formerBanner.getVisitAddress()
|
|
|
|
+ + "-->" + banner.getVisitAddress();
|
|
updatedMark = true;
|
|
updatedMark = true;
|
|
}
|
|
}
|
|
-
|
|
|
|
- //点击地址的比较
|
|
|
|
- if(!(formerBanner.getClickAddress().equals(banner.getClickAddress()))) {
|
|
|
|
- str = str + "点击地址" + " " + formerBanner.getClickAddress() + "-->" + banner.getClickAddress();
|
|
|
|
|
|
+
|
|
|
|
+ // 点击地址的比较
|
|
|
|
+ if (!(formerBanner.getClickAddress().equals(banner
|
|
|
|
+ .getClickAddress()))) {
|
|
|
|
+ str = str + "点击地址" + " " + formerBanner.getClickAddress()
|
|
|
|
+ + "-->" + banner.getClickAddress();
|
|
updatedMark = true;
|
|
updatedMark = true;
|
|
}
|
|
}
|
|
-
|
|
|
|
- //曝光地址的比较
|
|
|
|
- if(!(formerBanner.getImpressionAddress().equals(banner.getImpressionAddress()))) {
|
|
|
|
- str = str + "曝光地址" + " " + formerBanner.getImpressionAddress() + "-->" + banner.getImpressionAddress();
|
|
|
|
|
|
+
|
|
|
|
+ // 曝光地址的比较
|
|
|
|
+ if (!(formerBanner.getImpressionAddress().equals(banner
|
|
|
|
+ .getImpressionAddress()))) {
|
|
|
|
+ str = str + "曝光地址" + " "
|
|
|
|
+ + formerBanner.getImpressionAddress() + "-->"
|
|
|
|
+ + banner.getImpressionAddress();
|
|
updatedMark = true;
|
|
updatedMark = true;
|
|
}
|
|
}
|
|
-
|
|
|
|
- Log log= new Log();
|
|
|
|
- //对应模块
|
|
|
|
|
|
+
|
|
|
|
+ Log log = new Log();
|
|
|
|
+ // 对应模块
|
|
log.setModule("Ad");
|
|
log.setModule("Ad");
|
|
- //对应的表名
|
|
|
|
|
|
+ // 对应的表名
|
|
log.setTableName("t_banner");
|
|
log.setTableName("t_banner");
|
|
- //对应的bannerId
|
|
|
|
|
|
+ // 对应的bannerId
|
|
log.setRecordId(banner.getId());
|
|
log.setRecordId(banner.getId());
|
|
- //操作类型
|
|
|
|
- log.setActionType("编辑");
|
|
|
|
- //变更详情
|
|
|
|
|
|
+ // 操作类型
|
|
|
|
+ log.setActionType("编辑");
|
|
|
|
+ // 变更详情
|
|
log.setAction(str);
|
|
log.setAction(str);
|
|
- //下面这几个字段目前后端数据没有得到。所以仅作测试用!
|
|
|
|
|
|
+ // 下面这几个字段目前后端数据没有得到。所以仅作测试用!
|
|
log.setActionTime("100");
|
|
log.setActionTime("100");
|
|
log.setAccountId(new Long(getLoginUser().getId()));
|
|
log.setAccountId(new Long(getLoginUser().getId()));
|
|
log.setUserIp(Common.toIpAddr(request));
|
|
log.setUserIp(Common.toIpAddr(request));
|
|
log.setAccountName(getLoginUser().getAccountName());
|
|
log.setAccountName(getLoginUser().getAccountName());
|
|
-
|
|
|
|
- //判断是否编辑前后的投放信息如果真的改变则添加修改日志
|
|
|
|
- if(updatedMark) {
|
|
|
|
- logService.add(log);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- bannerList.add(banner);
|
|
|
|
- LOG.debug("a222="+bannerList);
|
|
|
|
- }
|
|
|
|
- }catch (JSONException e) {
|
|
|
|
- // TODO Auto-generated catch block
|
|
|
|
- LOG.info("@@@@@@@@解析错误");
|
|
|
|
- e.printStackTrace();
|
|
|
|
|
|
+
|
|
|
|
+ // 判断是否编辑前后的投放信息如果真的改变则添加修改日志
|
|
|
|
+ if (updatedMark) {
|
|
|
|
+ logService.add(log);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ bannerList.add(banner);
|
|
|
|
+ LOG.debug("a222=" + bannerList);
|
|
}
|
|
}
|
|
|
|
+ } catch (JSONException e) {
|
|
|
|
+ // TODO Auto-generated catch block
|
|
|
|
+ LOG.info("@@@@@@@@解析错误");
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
|
|
model.addAttribute("adGroupId", adGroupId);
|
|
model.addAttribute("adGroupId", adGroupId);
|
|
return redirect(page("../ad/list"));
|
|
return redirect(page("../ad/list"));
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
- @RequestMapping(value="/upload")
|
|
|
|
|
|
|
|
- public @ResponseBody String upload(Model model,HttpServletRequest request) throws IOException{
|
|
|
|
|
|
+ @RequestMapping(value = "/upload")
|
|
|
|
+ public @ResponseBody String upload(Model model, HttpServletRequest request)
|
|
|
|
+ throws IOException {
|
|
String uploadName;
|
|
String uploadName;
|
|
String resetName;
|
|
String resetName;
|
|
String fileType;
|
|
String fileType;
|
|
- //文件路径
|
|
|
|
|
|
+ // 文件路径
|
|
String path;
|
|
String path;
|
|
- //缩略图路径
|
|
|
|
|
|
+ // 缩略图路径
|
|
String pathSmall;
|
|
String pathSmall;
|
|
- String responseStr="null";
|
|
|
|
|
|
+ String responseStr = "null";
|
|
int width;
|
|
int width;
|
|
int height;
|
|
int height;
|
|
Long adGroupId = 1l;
|
|
Long adGroupId = 1l;
|
|
Account loginUser = getLoginUser();
|
|
Account loginUser = getLoginUser();
|
|
Long operatorId = loginUser.getOperatorId();
|
|
Long operatorId = loginUser.getOperatorId();
|
|
-
|
|
|
|
- if(request.getMethod()=="POST"){
|
|
|
|
-
|
|
|
|
- //转换成多部分request
|
|
|
|
- MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
|
|
|
|
-
|
|
|
|
- String[] ids = multiRequest.getParameterValues("adGroupId");
|
|
|
|
-
|
|
|
|
- Map<String, MultipartFile> fileMap = multiRequest.getFileMap();
|
|
|
|
- try{
|
|
|
|
- //取得request中的所有文件名
|
|
|
|
- for(Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
|
|
|
- MultipartFile file = entity.getValue();
|
|
|
|
- BannerTemplate bannerTemplate = new BannerTemplate();
|
|
|
|
- if(file != null && file.getSize()<1024*2*1000){
|
|
|
|
- //取得当前上传文件的文件名称(不加路径)
|
|
|
|
- uploadName = file.getOriginalFilename();
|
|
|
|
- resetName = bannerTemplateService.resetName(uploadName);
|
|
|
|
- //获取文件类型
|
|
|
|
- fileType = uploadName.substring(uploadName.lastIndexOf(".") + 1);
|
|
|
|
-
|
|
|
|
- //判断文件类型
|
|
|
|
- if(!noStuffixSet.contains(fileType)){
|
|
|
|
- return "不支持此文件类型";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //如果名称不为“”,说明该文件存在,否则说明该文件不存在
|
|
|
|
- if(uploadName.trim() !=""){
|
|
|
|
-
|
|
|
|
- //处理上传文件路径
|
|
|
|
- path = bannerTemplateService.getLocalFilePath(resetName);
|
|
|
|
-
|
|
|
|
- File localFile = new File(path);
|
|
|
|
- //上传目录不存在,则新建目录
|
|
|
|
- if (!localFile.getParentFile().exists()){
|
|
|
|
- localFile.getParentFile().mkdirs();
|
|
|
|
- }
|
|
|
|
- file.transferTo(localFile);
|
|
|
|
-
|
|
|
|
- //取上传图片的宽高
|
|
|
|
- BufferedImage image = ImageIO.read(new FileInputStream(path));
|
|
|
|
- width = image.getWidth();
|
|
|
|
- height = image.getHeight();
|
|
|
|
- //匹配广告位
|
|
|
|
- bannerTemplate=bannerTemplateService.suitSize(width,height, bannerTemplate);
|
|
|
|
- //图片匹配
|
|
|
|
- if(bannerTemplate==null){
|
|
|
|
- return "图片尺寸错啦!!";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //取上传文件父级目录
|
|
|
|
- String absolutePath = localFile.getParentFile().getAbsolutePath();
|
|
|
|
- //生成缩略图路径名
|
|
|
|
- pathSmall = absolutePath.concat(File.separator).concat("small_").concat(resetName);
|
|
|
|
- //生成缩略图
|
|
|
|
- bannerTemplateService.compressPicture(localFile,pathSmall,150,60);
|
|
|
|
- //判断是否需要缩放
|
|
|
|
-
|
|
|
|
- //设置文件上传路径
|
|
|
|
- bannerTemplate.setPath(bannerTemplateService.replacePath(path));
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- //保存缩略图路径
|
|
|
|
- bannerTemplate.setPathSmall(bannerTemplateService.replacePath(pathSmall));
|
|
|
|
- adGroupId =Long.parseLong(ids[0]);
|
|
|
|
- AdGroup adGroup = adGroupService.findById(adGroupId);
|
|
|
|
- Long campaignId = adGroup.getCampaignId();
|
|
|
|
- Long orderId = adGroup.getOrderId();
|
|
|
|
- Order order = orderService.findById(orderId);
|
|
|
|
- Long advertiserId = order.getAdvertiserId();
|
|
|
|
- Advertiser advertiser = advs.findById(advertiserId);
|
|
|
|
- Long agentId = advertiser.getAgentId();
|
|
|
|
- model.addAttribute("campaignId",campaignId);
|
|
|
|
- model.addAttribute("orderId",orderId);
|
|
|
|
- model.addAttribute("advertiserId",advertiserId);
|
|
|
|
- model.addAttribute("agentId", agentId);
|
|
|
|
-
|
|
|
|
- bannerTemplate.setName(uploadName);
|
|
|
|
- bannerTemplate.setType(bannerTemplateService.judgeType(fileType));
|
|
|
|
- bannerTemplate.setStatus(0);
|
|
|
|
- bannerTemplate.setAdvertiserId(advertiserId);
|
|
|
|
- bannerTemplate.setAgentId(agentId);
|
|
|
|
- bannerTemplate.setOperatorId(operatorId);
|
|
|
|
- //添加素材
|
|
|
|
- bat.add(bannerTemplate);
|
|
|
|
-
|
|
|
|
- //创建创意
|
|
|
|
- Banner banner = new Banner();
|
|
|
|
- banner.setBannerTemplate(bannerTemplate);
|
|
|
|
- banner.setAdGroupId(adGroupId);
|
|
|
|
- banner.setBannerTemplateId(bannerTemplate.getId());
|
|
|
|
- banner.setCampaignId(campaignId);
|
|
|
|
- banner.setOrderId(orderId);
|
|
|
|
- banner.setChecked(1);
|
|
|
|
- banner.setMemo("");
|
|
|
|
- banner.setStatus(0);
|
|
|
|
- banner.setVisitAddress("visitAddress");
|
|
|
|
- banner.setClickAddress("clickAddress");
|
|
|
|
- banner.setImpressionAddress("impressionAddress");
|
|
|
|
- boolean judge = bannerService.add(banner);
|
|
|
|
-
|
|
|
|
- //添加创意,如果添加成功则添加新增日志
|
|
|
|
- if(judge) {
|
|
|
|
- responseStr="文件上传成功";
|
|
|
|
- Log log = new Log();
|
|
|
|
- //对应模块,这里应该是投放模块
|
|
|
|
- log.setModule("Ad");
|
|
|
|
- //对应的表名,这里是t_adgroup
|
|
|
|
- log.setTableName("t_banner");
|
|
|
|
- //对应的投放id
|
|
|
|
- log.setRecordId(banner.getId());
|
|
|
|
- //对应的操作类型
|
|
|
|
- log.setActionType("新增");
|
|
|
|
- //变更详情
|
|
|
|
- log.setAction("新增了创意:" + bannerTemplate.getName());
|
|
|
|
- log.setActionTime("100");
|
|
|
|
- log.setAccountId(new Long(getLoginUser().getId()));
|
|
|
|
- log.setUserIp(Common.toIpAddr(request));
|
|
|
|
- log.setAccountName(getLoginUser().getAccountName());
|
|
|
|
- logService.add(log);
|
|
|
|
|
|
+
|
|
|
|
+ if (request.getMethod() == "POST") {
|
|
|
|
+
|
|
|
|
+ // 转换成多部分request
|
|
|
|
+ MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
|
|
|
|
+
|
|
|
|
+ String[] ids = multiRequest.getParameterValues("adGroupId");
|
|
|
|
+
|
|
|
|
+ Map<String, MultipartFile> fileMap = multiRequest.getFileMap();
|
|
|
|
+ try {
|
|
|
|
+ // 取得request中的所有文件名
|
|
|
|
+ for (Map.Entry<String, MultipartFile> entity : fileMap
|
|
|
|
+ .entrySet()) {
|
|
|
|
+ MultipartFile file = entity.getValue();
|
|
|
|
+ BannerTemplate bannerTemplate = new BannerTemplate();
|
|
|
|
+ if (file != null && file.getSize() < 1024 * 2 * 1000) {
|
|
|
|
+ // 取得当前上传文件的文件名称(不加路径)
|
|
|
|
+ uploadName = file.getOriginalFilename();
|
|
|
|
+ resetName = bannerTemplateService.resetName(uploadName);
|
|
|
|
+ // 获取文件类型
|
|
|
|
+ fileType = uploadName.substring(uploadName
|
|
|
|
+ .lastIndexOf(".") + 1);
|
|
|
|
+
|
|
|
|
+ // 判断文件类型
|
|
|
|
+ if (!noStuffixSet.contains(fileType)) {
|
|
|
|
+ return "不支持此文件类型";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 如果名称不为“”,说明该文件存在,否则说明该文件不存在
|
|
|
|
+ if (uploadName.trim() != "") {
|
|
|
|
+
|
|
|
|
+ // 处理上传文件路径
|
|
|
|
+ path = bannerTemplateService
|
|
|
|
+ .getLocalFilePath(resetName);
|
|
|
|
+
|
|
|
|
+ File localFile = new File(path);
|
|
|
|
+ // 上传目录不存在,则新建目录
|
|
|
|
+ if (!localFile.getParentFile().exists()) {
|
|
|
|
+ localFile.getParentFile().mkdirs();
|
|
|
|
+ }
|
|
|
|
+ file.transferTo(localFile);
|
|
|
|
+
|
|
|
|
+ // 取上传图片的宽高
|
|
|
|
+ BufferedImage image = ImageIO
|
|
|
|
+ .read(new FileInputStream(path));
|
|
|
|
+ width = image.getWidth();
|
|
|
|
+ height = image.getHeight();
|
|
|
|
+ // 匹配广告位
|
|
|
|
+ bannerTemplate = bannerTemplateService.suitSize(
|
|
|
|
+ width, height, bannerTemplate);
|
|
|
|
+ // 图片匹配
|
|
|
|
+ if (bannerTemplate == null) {
|
|
|
|
+ return "图片尺寸错啦!!";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 取上传文件父级目录
|
|
|
|
+ String absolutePath = localFile.getParentFile()
|
|
|
|
+ .getAbsolutePath();
|
|
|
|
+ // 生成缩略图路径名
|
|
|
|
+ pathSmall = absolutePath.concat(File.separator)
|
|
|
|
+ .concat("small_").concat(resetName);
|
|
|
|
+ // 生成缩略图
|
|
|
|
+ bannerTemplateService.compressPicture(localFile,
|
|
|
|
+ pathSmall, 150, 60);
|
|
|
|
+ // 判断是否需要缩放
|
|
|
|
+
|
|
|
|
+ // 设置文件上传路径
|
|
|
|
+ bannerTemplate.setPath(bannerTemplateService
|
|
|
|
+ .replacePath(path));
|
|
|
|
+
|
|
|
|
+ // 保存缩略图路径
|
|
|
|
+ bannerTemplate.setPathSmall(bannerTemplateService
|
|
|
|
+ .replacePath(pathSmall));
|
|
|
|
+ adGroupId = Long.parseLong(ids[0]);
|
|
|
|
+ AdGroup adGroup = adGroupService
|
|
|
|
+ .findById(adGroupId);
|
|
|
|
+ Long campaignId = adGroup.getCampaignId();
|
|
|
|
+ Long orderId = adGroup.getOrderId();
|
|
|
|
+ Order order = orderService.findById(orderId);
|
|
|
|
+ Long advertiserId = order.getAdvertiserId();
|
|
|
|
+ Advertiser advertiser = advs.findById(advertiserId);
|
|
|
|
+ Long agentId = advertiser.getAgentId();
|
|
|
|
+ model.addAttribute("campaignId", campaignId);
|
|
|
|
+ model.addAttribute("orderId", orderId);
|
|
|
|
+ model.addAttribute("advertiserId", advertiserId);
|
|
|
|
+ model.addAttribute("agentId", agentId);
|
|
|
|
+
|
|
|
|
+ bannerTemplate.setName(uploadName);
|
|
|
|
+ bannerTemplate.setType(bannerTemplateService
|
|
|
|
+ .judgeType(fileType));
|
|
|
|
+ bannerTemplate.setStatus(0);
|
|
|
|
+ bannerTemplate.setAdvertiserId(advertiserId);
|
|
|
|
+ bannerTemplate.setAgentId(agentId);
|
|
|
|
+ bannerTemplate.setOperatorId(operatorId);
|
|
|
|
+ // 添加素材
|
|
|
|
+ bat.add(bannerTemplate);
|
|
|
|
+
|
|
|
|
+ // 创建创意
|
|
|
|
+ Banner banner = new Banner();
|
|
|
|
+ banner.setBannerTemplate(bannerTemplate);
|
|
|
|
+ banner.setAdGroupId(adGroupId);
|
|
|
|
+ banner.setBannerTemplateId(bannerTemplate.getId());
|
|
|
|
+ banner.setCampaignId(campaignId);
|
|
|
|
+ banner.setOrderId(orderId);
|
|
|
|
+ banner.setChecked(1);
|
|
|
|
+ banner.setMemo("");
|
|
|
|
+ banner.setStatus(0);
|
|
|
|
+ banner.setVisitAddress("visitAddress");
|
|
|
|
+ banner.setClickAddress("clickAddress");
|
|
|
|
+ banner.setImpressionAddress("impressionAddress");
|
|
|
|
+ boolean judge = bannerService.add(banner);
|
|
|
|
+
|
|
|
|
+ // 添加创意,如果添加成功则添加新增日志
|
|
|
|
+ if (judge) {
|
|
|
|
+ responseStr = "文件上传成功";
|
|
|
|
+ Log log = new Log();
|
|
|
|
+ // 对应模块,这里应该是投放模块
|
|
|
|
+ log.setModule("Ad");
|
|
|
|
+ // 对应的表名,这里是t_adgroup
|
|
|
|
+ log.setTableName("t_banner");
|
|
|
|
+ // 对应的投放id
|
|
|
|
+ log.setRecordId(banner.getId());
|
|
|
|
+ // 对应的操作类型
|
|
|
|
+ log.setActionType("新增");
|
|
|
|
+ // 变更详情
|
|
|
|
+ log.setAction("新增了创意:"
|
|
|
|
+ + bannerTemplate.getName());
|
|
|
|
+ log.setActionTime("100");
|
|
|
|
+ log.setAccountId(new Long(getLoginUser()
|
|
|
|
+ .getId()));
|
|
|
|
+ log.setUserIp(Common.toIpAddr(request));
|
|
|
|
+ log.setAccountName(getLoginUser()
|
|
|
|
+ .getAccountName());
|
|
|
|
+ logService.add(log);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return "图片尺寸超过2M啦";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- return "图片尺寸超过2M啦";
|
|
|
|
- }
|
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ return "上传失败";
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
- }catch(IOException e){
|
|
|
|
- return "上传失败";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ return responseStr;
|
|
}
|
|
}
|
|
- return responseStr;
|
|
|
|
-}
|
|
|
|
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|