|
@@ -1,5 +1,7 @@
|
|
package com.cloudcross.ssp.web.advertiser.main.ad.target;
|
|
package com.cloudcross.ssp.web.advertiser.main.ad.target;
|
|
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.io.PrintWriter;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -8,11 +10,14 @@ import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
+import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
+import org.apache.commons.lang.ArrayUtils;
|
|
import org.apache.log4j.Logger;
|
|
import org.apache.log4j.Logger;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONException;
|
|
import org.json.JSONException;
|
|
@@ -28,8 +33,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|
import com.cloudcross.ssp.base.utils.freemarker.FreemarkerTemplateProcessor;
|
|
import com.cloudcross.ssp.base.utils.freemarker.FreemarkerTemplateProcessor;
|
|
import com.cloudcross.ssp.base.web.SimpleController;
|
|
import com.cloudcross.ssp.base.web.SimpleController;
|
|
import com.cloudcross.ssp.common.consts.DirectType;
|
|
import com.cloudcross.ssp.common.consts.DirectType;
|
|
|
|
+import com.cloudcross.ssp.common.consts.Status;
|
|
import com.cloudcross.ssp.common.utils.AdvertiserSortByDate;
|
|
import com.cloudcross.ssp.common.utils.AdvertiserSortByDate;
|
|
import com.cloudcross.ssp.common.utils.Common;
|
|
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.Pager;
|
|
import com.cloudcross.ssp.common.utils.SqlHelper;
|
|
import com.cloudcross.ssp.common.utils.SqlHelper;
|
|
import com.cloudcross.ssp.model.Account;
|
|
import com.cloudcross.ssp.model.Account;
|
|
@@ -210,15 +217,23 @@ public class OperatorAdGroupController extends SimpleController{
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- *
|
|
|
|
|
|
+ * 页面传position拼接的字符串,已逗号隔开
|
|
* @param position 根据广告位的位置选择广告位
|
|
* @param position 根据广告位的位置选择广告位
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@RequestMapping("/zonelist")
|
|
@RequestMapping("/zonelist")
|
|
@ResponseBody
|
|
@ResponseBody
|
|
- public List<Zone> queryZoneByPosition(Integer position){
|
|
|
|
|
|
+ public List<Zone> queryZoneByPosition(String position){
|
|
Map<String,Object>condition = new HashMap<String,Object>();
|
|
Map<String,Object>condition = new HashMap<String,Object>();
|
|
- condition.put("position", position);
|
|
|
|
|
|
+ List<Integer> positionList = new ArrayList<Integer>();
|
|
|
|
+ if(position != null && position != ""){
|
|
|
|
+ String posStr[] = position.split(",");
|
|
|
|
+ for(int i=0;i<posStr.length;i++){
|
|
|
|
+ positionList.add(Integer.parseInt(posStr[i]));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ condition.put("positionList", positionList);
|
|
condition.put("operatorId", getLoginUser().getOperatorId());
|
|
condition.put("operatorId", getLoginUser().getOperatorId());
|
|
return this.zoneService.queryZoneByCondition(condition);
|
|
return this.zoneService.queryZoneByCondition(condition);
|
|
}
|
|
}
|
|
@@ -251,8 +266,10 @@ public class OperatorAdGroupController extends SimpleController{
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@RequestMapping("/edit")
|
|
@RequestMapping("/edit")
|
|
- public String edit(Model model,Long adGroupId) {
|
|
|
|
- AdGroup adGroup = adGroupService.findById(adGroupId);
|
|
|
|
|
|
+ public String edit(Model model,Long id) {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ AdGroup adGroup = adGroupService.findById(id);
|
|
|
|
|
|
//找到这个投放对应的活动,然后保存活动预算
|
|
//找到这个投放对应的活动,然后保存活动预算
|
|
Campaign campaign = campaignService.findById(adGroup.getCampaignId());
|
|
Campaign campaign = campaignService.findById(adGroup.getCampaignId());
|
|
@@ -261,6 +278,22 @@ public class OperatorAdGroupController extends SimpleController{
|
|
//找到所有的场景,并且显示出来
|
|
//找到所有的场景,并且显示出来
|
|
List<Place> placeList = placeService.findAll();
|
|
List<Place> placeList = placeService.findAll();
|
|
|
|
|
|
|
|
+ //已选广告位
|
|
|
|
+ List<Zone> selectZoneList = this.zoneService.queryZoneByAdgroupId(id);;
|
|
|
|
+ //未选广告位
|
|
|
|
+ List<Zone> unselectZoneList = getUnSelectZoneList(selectZoneList);
|
|
|
|
+ model.addAttribute("selectZoneList", selectZoneList);
|
|
|
|
+ model.addAttribute("unselectZoneList", unselectZoneList);
|
|
|
|
+
|
|
|
|
+ //已选分组
|
|
|
|
+ List<WifiGroupInfo> selectWifiGroupInfoList = this.wifiGroupInfoService.queryWifiGroupInfoByadgroupId(id);;
|
|
|
|
+ //全部分组
|
|
|
|
+ Map<String,Object>condition = new HashMap<String,Object>();
|
|
|
|
+ condition.put("operatorId", getLoginUser().getOperatorId());
|
|
|
|
+ List<WifiGroupInfo> allWifiGroupInfoList = this.wifiGroupInfoService.queryWifiGroupInfoByCondition(condition);
|
|
|
|
+ model.addAttribute("selectWifiGroupInfoList", selectWifiGroupInfoList);
|
|
|
|
+ model.addAttribute("allWifiGroupInfoList", allWifiGroupInfoList);
|
|
|
|
+
|
|
//获取所有已选择的场景并且用,分割存放到place里面
|
|
//获取所有已选择的场景并且用,分割存放到place里面
|
|
String place = "0,";
|
|
String place = "0,";
|
|
List<AdGroupPlace> adGroupPlaceList = adGroupPlaceService.findAll(adGroup.getId());
|
|
List<AdGroupPlace> adGroupPlaceList = adGroupPlaceService.findAll(adGroup.getId());
|
|
@@ -316,7 +349,7 @@ public class OperatorAdGroupController extends SimpleController{
|
|
areas = locationDirect.getBackShow();
|
|
areas = locationDirect.getBackShow();
|
|
}
|
|
}
|
|
//批量查询
|
|
//批量查询
|
|
- List<Direct> directs = directService.findByBatch(adGroupId);
|
|
|
|
|
|
+ List<Direct> directs = directService.findByBatch(id);
|
|
Long campaignId = adGroup.getCampaignId();
|
|
Long campaignId = adGroup.getCampaignId();
|
|
model.addAttribute("campaignId", campaignId);
|
|
model.addAttribute("campaignId", campaignId);
|
|
if(directs!=null){
|
|
if(directs!=null){
|
|
@@ -339,6 +372,323 @@ public class OperatorAdGroupController extends SimpleController{
|
|
model.addAttribute("adGroupPlaceList",adGroupPlaceList);
|
|
model.addAttribute("adGroupPlaceList",adGroupPlaceList);
|
|
return page("edit");
|
|
return page("edit");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * @param all 全部广告位
|
|
|
|
+ * @param select 已选广告位
|
|
|
|
+ * @return 未选广告位
|
|
|
|
+ */
|
|
|
|
+ List<Zone> getUnSelectZoneList(List<Zone> select){
|
|
|
|
+ Map<String,Object> condition = new HashMap<String,Object>();
|
|
|
|
+ condition.put("operatorId", getLoginUser().getOperatorId());
|
|
|
|
+ //全部广告位
|
|
|
|
+ List<Zone> allZoneList = zoneService.queryZoneByCondition(condition);
|
|
|
|
+ allZoneList.removeAll(select);
|
|
|
|
+ return allZoneList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @RequestMapping("/enable")
|
|
|
|
+ @ResponseBody
|
|
|
|
+ public String enable(HttpServletRequest request,Long[] id) {
|
|
|
|
+
|
|
|
|
+ if (ArrayUtils.isNotEmpty(id)) {
|
|
|
|
+ //循环得到投放名称
|
|
|
|
+ List<String> adGroupNameList = new ArrayList<String>();
|
|
|
|
+
|
|
|
|
+ for(int i = 0; i < id.length; i++) {
|
|
|
|
+ AdGroup adGroup = adGroupService.findById(id[i]);
|
|
|
|
+ adGroupNameList.add(adGroup.getAdGroupName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //如果开启成功,则增加对应的修改记录
|
|
|
|
+ if(adGroupService.updateStatus(LangUtil.array2List(id),Status.enable.value)) {
|
|
|
|
+ for(int i = 0; i < id.length; i++) {
|
|
|
|
+ Log log = new Log();
|
|
|
|
+ //对应模块,这里应该是投放模块
|
|
|
|
+ log.setModule("AdGroup");
|
|
|
|
+ //对应的表名,这里是t_adgroup
|
|
|
|
+ log.setTableName("t_adgroup");
|
|
|
|
+ //对应的投放id
|
|
|
|
+ log.setRecordId(id[i]);
|
|
|
|
+ //对应的操作类型
|
|
|
|
+ log.setActionType("开启");
|
|
|
|
+ //变更详情
|
|
|
|
+ log.setAction("开启了投放:" + adGroupNameList.get(i));
|
|
|
|
+ log.setActionTime("100");
|
|
|
|
+ log.setAccountId(new Long(getLoginUser().getId()));
|
|
|
|
+ log.setUserIp(Common.toIpAddr(request));
|
|
|
|
+ log.setAccountName(getLoginUser().getAccountName());
|
|
|
|
+ logService.add(log);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return OK;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @RequestMapping("/disable")
|
|
|
|
+ @ResponseBody
|
|
|
|
+ String disable(HttpServletRequest request,Long[] id) {
|
|
|
|
+ if (ArrayUtils.isNotEmpty(id)) {
|
|
|
|
+ //循环得到投放名称
|
|
|
|
+ List<String> adGroupNameList = new ArrayList<String>();
|
|
|
|
+
|
|
|
|
+ for(int i = 0; i < id.length; i++) {
|
|
|
|
+ AdGroup adGroup = adGroupService.findById(id[i]);
|
|
|
|
+ adGroupNameList.add(adGroup.getAdGroupName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //如果停用成功,则增加对应的修改记录
|
|
|
|
+ if(adGroupService.updateStatus(LangUtil.array2List(id),Status.disable.value)) {
|
|
|
|
+ for(int i = 0; i < id.length; i++) {
|
|
|
|
+ Log log = new Log();
|
|
|
|
+ //对应模块,这里应该是投放模块
|
|
|
|
+ log.setModule("AdGroup");
|
|
|
|
+ //对应的表名,这里是t_adgroup
|
|
|
|
+ log.setTableName("t_adgroup");
|
|
|
|
+ //对应的投放id
|
|
|
|
+ log.setRecordId(id[i]);
|
|
|
|
+ //对应的操作类型
|
|
|
|
+ log.setActionType("停用");
|
|
|
|
+ //变更详情
|
|
|
|
+ log.setAction("停用了投放:" + adGroupNameList.get(i));
|
|
|
|
+ //下面这几个字段目前后端数据没有得到。所以仅作测试用!
|
|
|
|
+ log.setActionTime("100");
|
|
|
|
+ log.setAccountId(new Long(getLoginUser().getId()));
|
|
|
|
+ log.setUserIp(Common.toIpAddr(request));
|
|
|
|
+ log.setAccountName(getLoginUser().getAccountName());
|
|
|
|
+ logService.add(log);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return OK;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 批量删除时只是把这些选中的行的状态改为-1,并没有把它从表里面删掉
|
|
|
|
+ * @param id
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping("/delete")
|
|
|
|
+ @ResponseBody
|
|
|
|
+ public String delete(HttpServletRequest request, Long[] id) {
|
|
|
|
+ if (ArrayUtils.isNotEmpty(id)) {
|
|
|
|
+ //循环得到投放名称
|
|
|
|
+ List<String> adGroupNameList = new ArrayList<String>();
|
|
|
|
+
|
|
|
|
+ for(int i = 0; i < id.length; i++) {
|
|
|
|
+ AdGroup adGroup = adGroupService.findById(id[i]);
|
|
|
|
+ adGroupNameList.add(adGroup.getAdGroupName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //如果删除成功则添加修改记录
|
|
|
|
+ if(adGroupService.updateStatusAll(LangUtil.array2List(id),Status.delete.value)) {
|
|
|
|
+
|
|
|
|
+ for(int i = 0; i < id.length; i++) {
|
|
|
|
+ Log log = new Log();
|
|
|
|
+ //对应模块,这里应该是投放模块
|
|
|
|
+ log.setModule("AdGroup");
|
|
|
|
+ //对应的表名,这里是t_adgroup
|
|
|
|
+ log.setTableName("t_adgroup");
|
|
|
|
+ //对应的投放id
|
|
|
|
+ log.setRecordId(id[i]);
|
|
|
|
+ //对应的操作类型
|
|
|
|
+ log.setActionType("删除");
|
|
|
|
+ //变更详情
|
|
|
|
+ log.setAction("删除了投放:" + adGroupNameList.get(i));
|
|
|
|
+ //下面这几个字段目前后端数据没有得到。所以仅作测试用!
|
|
|
|
+ log.setActionTime("100");
|
|
|
|
+ log.setAccountId(new Long(getLoginUser().getId()));
|
|
|
|
+ log.setUserIp(Common.toIpAddr(request));
|
|
|
|
+ log.setAccountName(getLoginUser().getAccountName());
|
|
|
|
+ logService.add(log);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return OK;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @RequestMapping("/getLocations")
|
|
|
|
+ public String getLocations(Model model) {
|
|
|
|
+ ArrayList<Location> list = (ArrayList) locationService.findAll("中国");
|
|
|
|
+ LinkedHashMap<String, ArrayList<Location>> hashMap = new LinkedHashMap<String, ArrayList<Location>>();
|
|
|
|
+ // 用来保存省份和对应的编码
|
|
|
|
+ LinkedHashMap<String, String> hashCode = new LinkedHashMap<String, String>();
|
|
|
|
+ ArrayList<Location> tmpList;
|
|
|
|
+ for (Location locate : list) {
|
|
|
|
+ if (hashMap.containsKey(locate.getCn())) {
|
|
|
|
+ hashMap.get(locate.getCn()).add(locate);
|
|
|
|
+ } else {
|
|
|
|
+ tmpList = new ArrayList<Location>();
|
|
|
|
+ tmpList.add(locate);
|
|
|
|
+ hashMap.put(locate.getCn(), tmpList);
|
|
|
|
+ hashCode.put(locate.getCn(),
|
|
|
|
+ locate.getLocation1() + locate.getLocation2());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ model.addAttribute("hashMap", hashMap);
|
|
|
|
+ model.addAttribute("hashCode", hashCode);
|
|
|
|
+ return page("locations");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 有时间重写方法
|
|
|
|
+ * @param request
|
|
|
|
+ * @param response
|
|
|
|
+ * @param selectedStatus
|
|
|
|
+ * @param paramMap
|
|
|
|
+ */
|
|
|
|
+ @RequestMapping("/exportAdGroupExcel")
|
|
|
|
+ public void exportOtherReportExcel(HttpServletRequest request,
|
|
|
|
+ HttpServletResponse response,
|
|
|
|
+ @RequestParam(defaultValue = "0") int selectedStatus,
|
|
|
|
+ @RequestParam Map<String, Object> paramMap) {
|
|
|
|
+
|
|
|
|
+ Long campaignId = null;
|
|
|
|
+ Long orderId = null;
|
|
|
|
+ Long advertiserId = null;
|
|
|
|
+ /**
|
|
|
|
+ * 对传入的数据做处理
|
|
|
|
+ * 第一:如果传入的活动id值为空值或者空字符串或者是-1的话则表明这个活动id代表的是全部的活动,这时让它的值设为-1,并且加上一个活动标志它的值设为全部(它用在sql语句的判断上)
|
|
|
|
+ * 第二:如果传入的订单id值为空值或者空字符串或者是-1的话,这时不能够直接认为它是全部的订单,要对活动id进行判断一下,如果活动id是全部活动的话,那么这时就是全部的订单,订单
|
|
|
|
+ * id就设为-1并且加上一个订单标志值设为全部,否则订单id的值为通过活动id查找到的订单id值
|
|
|
|
+ * 第三:如果传入的广告主id值为空值或者空字符串或者是-1的话则,这时也不能够直接认为它是全部的广告主,要对订单id进行判断,如果订单id是全部订单的话,那么这是就是全部广告主
|
|
|
|
+ * 这时广告主id的值为-1,同时通过当前登录账号得到代理商的id,使查出来的信息是该登录账号下的全部广告主,否则广告主id的值为通过订单id查找到的广告主id值
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+ if(null == paramMap.get("campaignId") || "".equals(paramMap.get("campaignId"))
|
|
|
|
+ || "-1".equals(paramMap.get("campaignId"))) {
|
|
|
|
+ paramMap.put("campaignMark", "全部");
|
|
|
|
+ paramMap.put("campaignId", -1l);
|
|
|
|
+ paramMap.put("selectedcampaignName", "全部活动");
|
|
|
|
+ } else {
|
|
|
|
+ //将前端传过来的campaignId变成Long型
|
|
|
|
+ campaignId = Long.parseLong(String.valueOf(paramMap.get("campaignId")));
|
|
|
|
+ paramMap.put("campaignId", campaignId);
|
|
|
|
+ Campaign campaignObj = campaignService.findById(Long.valueOf(paramMap.get("campaignId").toString()));
|
|
|
|
+ paramMap.put("selectedcampaignName", campaignObj.getName());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if(null == paramMap.get("orderId") || "".equals(paramMap.get("orderId"))
|
|
|
|
+ || "-1".equals(paramMap.get("orderId"))) {
|
|
|
|
+
|
|
|
|
+ if(campaignId == null) {
|
|
|
|
+ paramMap.put("orderMark", "全部");
|
|
|
|
+ paramMap.put("orderId", -1l);
|
|
|
|
+ paramMap.put("selectedorderName", "全部订单");
|
|
|
|
+ } else {
|
|
|
|
+ Campaign campaign = campaignService.findById(campaignId);
|
|
|
|
+ orderId = campaign.getOrderId();
|
|
|
|
+ paramMap.put("orderId", orderId);
|
|
|
|
+ String orderName = orderService.selectOrderNameById(orderId);
|
|
|
|
+ paramMap.put("selectedorderName", orderName);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ //将前端传过来的orderId变成Long型
|
|
|
|
+ orderId = Long.parseLong(String.valueOf(paramMap.get("orderId")));
|
|
|
|
+ paramMap.put("orderId", orderId);
|
|
|
|
+ String orderName = orderService.selectOrderNameById(orderId);
|
|
|
|
+ paramMap.put("selectedorderName", orderName);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if(null == paramMap.get("advertiserId") || "".equals(paramMap.get("advertiserId"))
|
|
|
|
+ || "-1".equals(paramMap.get("advertiserId"))) {
|
|
|
|
+
|
|
|
|
+ if(orderId == null) {
|
|
|
|
+ paramMap.put("agentId", getLoginUser().getAgentId());
|
|
|
|
+ paramMap.put("advertiserId", -1l);
|
|
|
|
+ paramMap.put("selectedadvertiserName", "全部广告主");
|
|
|
|
+ } else {
|
|
|
|
+ paramMap.put("agentId", null);
|
|
|
|
+ Order order = orderService.findById(orderId);
|
|
|
|
+ advertiserId = order.getAdvertiserId();
|
|
|
|
+ paramMap.put("advertiserId", advertiserId);
|
|
|
|
+ String advertiserName = advertiserService.selectAdvertiserNameById(advertiserId);
|
|
|
|
+ paramMap.put("selectedadvertiserName", advertiserName);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ paramMap.put("agentId", null);
|
|
|
|
+ //将前端传过来的advertiserId变成Long型
|
|
|
|
+ advertiserId = Long.parseLong(String.valueOf(paramMap.get("advertiserId")));
|
|
|
|
+ paramMap.put("advertiserId", advertiserId);
|
|
|
|
+ String advertiserName = advertiserService.selectAdvertiserNameById(advertiserId);
|
|
|
|
+ paramMap.put("selectedadvertiserName", advertiserName);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 这里的搜索只是对投放名称进行搜索
|
|
|
|
+ String adGroupName = null;
|
|
|
|
+ if (null != paramMap.get("searchValue")) {
|
|
|
|
+ try {
|
|
|
|
+ adGroupName = new String((String.valueOf(paramMap
|
|
|
|
+ .get("searchValue"))).getBytes("ISO-8859-1"), "UTF-8");
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ adGroupName = SqlHelper.doLike(adGroupName);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ paramMap.put("adGroupName", adGroupName);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据状态来进行查询
|
|
|
|
+ * 设置0-表示全部,1-表示投放中,2-表示未投放,3-投放结束,4-停用
|
|
|
|
+ * 没选默认时status应该是为0
|
|
|
|
+ * 实现思想:这里如果是选择的是0(全部的)话那就不用加什么条件,那如果选择的是1的话,就在paramMap上加上一个键值对
|
|
|
|
+ * key的名字就设置为selectedStatus1,那这样就可以在mapper文件中对key值进行判断,然后增加相应的条件,下面的就以此
|
|
|
|
+ * 类推
|
|
|
|
+ */
|
|
|
|
+ switch(selectedStatus) {
|
|
|
|
+ //当所选择的状态是0表示全部时就不用添加什么条件了,只要把所有的都找出来就行
|
|
|
|
+ case 0:break;
|
|
|
|
+ //当选择的状态是1时表示的是投放中,那这时找的就应该是当前时间处于投放开始时间和投放结束时间之间并且应该是开启的状态
|
|
|
|
+ case 1:paramMap.put("selectedStatus1", selectedStatus);break;
|
|
|
|
+ //当选择的状态是2时表示的是未投放,那这时就应该是投放开始时间要大于当前时间
|
|
|
|
+ case 2:paramMap.put("selectedStatus2", selectedStatus);break;
|
|
|
|
+ //当选择的状态是3时表示的是投放结束,那这时就应该是投放的结束时间小于当前时间
|
|
|
|
+ case 3:paramMap.put("selectedStatus3", selectedStatus);break;
|
|
|
|
+ //当选择的状态是4时表示的是停用,那这时只要在写数据库查询时加上它的投放表中的status字段等于1就行了
|
|
|
|
+ case 4:paramMap.put("selectedStatus4", selectedStatus);break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<AdGroup> adGroupList = adGroupService.findByParams(paramMap);
|
|
|
|
+
|
|
|
|
+ response.reset();
|
|
|
|
+ // Content-Type:application/vnd.ms-excel;charset=utf8或者text/xml;charset=utf8
|
|
|
|
+ response.setContentType("application/vnd.ms-excel;charset=utf8");
|
|
|
|
+ // 设置excel文件名称
|
|
|
|
+ SimpleDateFormat df2 = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
+ String fileName = "report" + df2.format(new Date());
|
|
|
|
+ response.setHeader("Content-Disposition", "attachment;filename="
|
|
|
|
+ + fileName + ".xls");
|
|
|
|
+ // 需要对excel的列和行的总数进行指定
|
|
|
|
+ int column = 6;
|
|
|
|
+ paramMap.put("dataList", adGroupList);
|
|
|
|
+ paramMap.put("dataSize", (adGroupList.size() + 100));
|
|
|
|
+ paramMap.put("column", column);
|
|
|
|
+ String excelTemplate = templateProcessor.processTemplate(
|
|
|
|
+ "excel/adGroup.ftl", paramMap);
|
|
|
|
+ try {
|
|
|
|
+ PrintWriter out = response.getWriter();
|
|
|
|
+ out.write(excelTemplate);
|
|
|
|
+ out.flush();
|
|
|
|
+ out.close();
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ // TODO Auto-generated catch block
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 媒体自投保存
|
|
* 媒体自投保存
|
|
* @param request
|
|
* @param request
|
|
@@ -351,7 +701,7 @@ public class OperatorAdGroupController extends SimpleController{
|
|
* @param paramMap
|
|
* @param paramMap
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- @RequestMapping("/saveAdGroup")
|
|
|
|
|
|
+ @RequestMapping("/save")
|
|
public String saveAdGroup(HttpServletRequest request, Model model,@ModelAttribute("form") AdGroup adGroup
|
|
public String saveAdGroup(HttpServletRequest request, Model model,@ModelAttribute("form") AdGroup adGroup
|
|
,@RequestParam String place
|
|
,@RequestParam String place
|
|
,@RequestParam String areas
|
|
,@RequestParam String areas
|