Browse Source

分页列表

yufeng 3 years ago
parent
commit
54b2fc8373

+ 3 - 0
.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,3 @@
1
+eclipse.preferences.version=1
2
+encoding//src/main/resource/env/dev/application.properties=UTF-8
3
+encoding//src/main/resource/env/dev/config.properties=UTF-8

+ 39 - 0
src/main/java/com/ylcm/sys/common/MyBeanUtils.java

@@ -0,0 +1,39 @@
1
+package com.ylcm.sys.common;
2
+
3
+import java.util.ArrayList;
4
+import java.util.List;
5
+
6
+import org.springframework.beans.BeanUtils;
7
+
8
+import lombok.extern.slf4j.Slf4j;
9
+
10
+@Slf4j
11
+public class MyBeanUtils {
12
+
13
+    /**
14
+     * 复制list
15
+     * @param list 源list
16
+     * @param targetClass  目标对象class
17
+     * @return list<T> ArrayList
18
+     */
19
+    public static <T> List<T> copyList(List<?> list,  Class<T> targetClass){
20
+        if(list==null){
21
+            return null;
22
+        }
23
+        List<T> result = new  ArrayList<>();
24
+        if(list.size()==0){
25
+            return  result;
26
+        }
27
+        for (Object o : list) {
28
+            try {
29
+                T t = targetClass.newInstance();
30
+                BeanUtils.copyProperties(o,t);
31
+                result.add(t);
32
+            } catch (Exception e) {
33
+               log.error(e.getMessage(),e);
34
+            }
35
+        }
36
+        return result;
37
+    }
38
+
39
+}

+ 19 - 3
src/main/java/com/ylcm/sys/controller/AdMediaController.java

@@ -1,11 +1,16 @@
1 1
 package com.ylcm.sys.controller;
2 2
 
3 3
 
4
+import java.util.ArrayList;
5
+import java.util.List;
6
+
4 7
 import javax.annotation.Resource;
5 8
 import javax.servlet.http.HttpServletRequest;
6 9
 import javax.servlet.http.HttpServletResponse;
7 10
 
11
+import org.apache.commons.collections.CollectionUtils;
8 12
 import org.apache.commons.lang.StringUtils;
13
+import org.springframework.beans.BeanUtils;
9 14
 import org.springframework.stereotype.Controller;
10 15
 import org.springframework.ui.ModelMap;
11 16
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,6 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
17 22
 import com.ylcm.sys.common.Constants;
18 23
 import com.ylcm.sys.domain.AdMedia;
19 24
 import com.ylcm.sys.service.AdMediaService;
25
+import com.ylcm.sys.vo.AdMediaVO;
20 26
 
21 27
 
22 28
 /**
@@ -50,7 +56,7 @@ public class AdMediaController extends BaseController{
50 56
     public void mediaList(String name, Integer rank, Integer pageSize, Integer pageNo, 
51 57
     		HttpServletRequest request, HttpServletResponse response) {
52 58
 		JSONObject result = new JSONObject();
53
-        result.put("code", Constants.CODE_FAIL);
59
+        result.put("code", Constants.CODE_SUCCESS);
54 60
         result.put("msg", "服务器异常");
55 61
         
56 62
         LambdaQueryWrapper<AdMedia> queryWrapper = new LambdaQueryWrapper<AdMedia>();
@@ -61,9 +67,19 @@ public class AdMediaController extends BaseController{
61 67
 			queryWrapper.like(AdMedia::getName, name);
62 68
 		}
63 69
         
64
-        IPage<AdMedia> page = adMediaService.page(new Page<AdMedia>(pageNo, pageSize));
70
+        IPage<AdMedia> page = adMediaService.page(new Page<AdMedia>(pageNo, pageSize), queryWrapper);
71
+        IPage<AdMediaVO> vos = new Page<AdMediaVO>();
72
+        BeanUtils.copyProperties(page, vos);
73
+        List<AdMediaVO> voList = new ArrayList<>((int) page.getSize());
74
+        if (!CollectionUtils.isEmpty(page.getRecords())) {
75
+            for (AdMedia adMedia:page.getRecords()) {
76
+                AdMediaVO adMediaVO = AdMediaVO.from(adMedia);
77
+                voList.add(adMediaVO);
78
+            }
79
+            vos.setRecords(voList);
80
+        }
65 81
 
66
-        result.put("list", page);
82
+        result.put("list", vos);
67 83
         returnResult(request, response, result);
68 84
     }
69 85
 	

+ 1 - 2
src/main/java/com/ylcm/sys/domain/AdMedia.java

@@ -55,6 +55,5 @@ public class AdMedia implements Serializable {
55 55
     @ApiModelProperty(value = "更新时间")
56 56
     @TableField("upd_time")
57 57
     private LocalDateTime updTime;
58
-
59
-
58
+    
60 59
 }

+ 51 - 0
src/main/java/com/ylcm/sys/vo/AdMediaVO.java

@@ -0,0 +1,51 @@
1
+package com.ylcm.sys.vo;
2
+
3
+import org.springframework.beans.BeanUtils;
4
+
5
+import com.ylcm.sys.domain.AdMedia;
6
+
7
+import io.swagger.annotations.ApiModelProperty;
8
+import lombok.Data;
9
+
10
+@Data
11
+public class AdMediaVO {
12
+
13
+    private Integer id;
14
+
15
+    @ApiModelProperty(value = "媒体名称")
16
+    private String name;
17
+
18
+    @ApiModelProperty(value = "媒体等级")
19
+    private String rankName;
20
+
21
+    @ApiModelProperty(value = "媒体logo")
22
+    private String imgUrl;
23
+
24
+    public static AdMediaVO from(AdMedia adMedia) {
25
+    	AdMediaVO adMediaVO = new AdMediaVO();
26
+    	
27
+    	BeanUtils.copyProperties(adMedia, adMediaVO);
28
+    	
29
+    	if (adMedia.getRank() != null) {
30
+			if (adMedia.getRank() == 0) {
31
+				adMediaVO.setRankName("央视频道");
32
+			} else if (adMedia.getRank() == 1) {
33
+				adMediaVO.setRankName("一线卫视");
34
+			} else if (adMedia.getRank() == 2) {
35
+				adMediaVO.setRankName("二线卫视");
36
+			} else if (adMedia.getRank() == 3) {
37
+				adMediaVO.setRankName("三线卫视");
38
+			} else if (adMedia.getRank() == 4) {
39
+				adMediaVO.setRankName("四线卫视");
40
+			} else if (adMedia.getRank() == 5) {
41
+				adMediaVO.setRankName("五线卫视");
42
+			} else if (adMedia.getRank() == 6) {
43
+				adMediaVO.setRankName("六线卫视");
44
+			} else if (adMedia.getRank() == 7) {
45
+				adMediaVO.setRankName("七线卫视");
46
+			}
47
+		}
48
+    	
49
+    	return adMediaVO;
50
+    }
51
+}

+ 10 - 0
src/main/resource/applicationContext-common.xml

@@ -139,6 +139,16 @@
139 139
 			</list>
140 140
 		</property>
141 141
 		<property name="configLocation" value="classpath:mybatisConfig.xml" />
142
+		<property name="plugins">
143
+		    <array>
144
+		        <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">
145
+<!-- 		            <property name="sqlParser" ref="自定义解析类、可以没有"/> -->
146
+<!-- 		            <property name="dialectClazz" value="自定义方言类、可以没有"/> -->
147
+		            <!-- COUNT SQL 解析.可以没有 -->
148
+<!-- 		            <property name="countSqlParser" ref="countSqlParser"/> -->
149
+		        </bean>
150
+		    </array>
151
+		</property>
142 152
 	</bean>
143 153
 	
144 154
 

+ 16 - 28
src/main/webapp/WEB-INF/jsp/admedia/index.jsp

@@ -12,27 +12,19 @@
12 12
         <form name="dataForm" action="ajax_list.do" method="post">
13 13
         <div class="search-group">
14 14
             <input type="hidden" name="download" value="1" />
15
-            <div class="search-item">产品型号&nbsp;&nbsp;<input type="text" id="model" name="model" class="text {text:'请输入关键字'}" size="11" /></div>
16
-            <div class="search-item">品牌&nbsp;&nbsp;<input type="text" id="brand" name="brand" class="text {text:'请输入关键字'}" size="11" /></div>
17
-            <div class="search-item">广告主&nbsp;&nbsp;<input type="text" id="advertiser" name="advertiser" class="text {text:'请输入关键字'}" size="11" /></div>
18
-            <div class="search-item">
19
-                一级行业
20
-                <div class="select {width:120,onchange:onchangeByFirstInd}">
21
-                    <select id="firstInd" name="firstInd">
22
-                        <option value="">一级行业</option>
23
-                        <c:forEach items="${brandType1}" var="item">
24
-                           <option value="${item.number}">${item.name}</option>
25
-                        </c:forEach>
26
-                    </select>
27
-                </div>
28
-            </div>
29
-            <div class="search-item">
30
-                二级行业
31
-                <div class="select">
32
-                    <select id="secondInd" name="secondInd">
33
-                        <option value="">二级行业</option>
15
+            <div class="search-item">媒体名称&nbsp;&nbsp;<input type="text" id="name" name="name" class="text {text:'请输入关键字'}" size="11" /></div>
16
+            <div class="select {width:120}">
17
+                    <select id="rank" name="rank">
18
+                        <option value="">媒体等级</option>
19
+                        <option value="0">央视频道</option>
20
+                        <option value="1">一线卫视</option>
21
+                        <option value="2">二线卫视</option>
22
+                        <option value="3">三线卫视</option>
23
+                        <option value="4">四线卫视</option>
24
+                        <option value="5">五线卫视</option>
25
+                        <option value="6">六线卫视</option>
26
+                        <option value="7">七线卫视</option>
34 27
                     </select>
35
-                </div>
36 28
             </div>
37 29
             <div class="search-item">
38 30
                 <a href="javascript:void(0);" onclick="getList(1)" class="btn-radius">搜 索</a>
@@ -67,14 +59,10 @@
67 59
             <thead>
68 60
                 <tr>
69 61
                     <th width="44"><input type="checkbox" class="checkbox checkbox-white {click:checkAll}" name="all" value="" /></th>
70
-                    <th>产品型号</th>
71
-                    <th width="98" class="nop">产品LOGO</th>
72
-                    <th>所属品牌</th>
73
-                    <th width="98" class="nop">品牌LOGO</th>
74
-                    <th>广告主</th>
75
-                    <th>一级行业</th>
76
-                    <th>二级行业</th>
77
-                    <th width="98">操作</th>
62
+                    <th>媒体名称</th>
63
+                    <th width="98" class="nop">媒体等级</th>
64
+                    <th width="198" class="nop">媒体LOGO</th>
65
+                    <th width="198">操作</th>
78 66
                 </tr>
79 67
             </thead>
80 68
             <tbody id="list"></tbody>

+ 7 - 14
src/main/webapp/static/js/admedia/admedia.js

@@ -3,28 +3,21 @@ function getList(page){
3 3
 	page = page || 1;
4 4
 	var firstInd = $("#firstInd option:selected").text();
5 5
 	var pageSize = 10, data = {
6
-		"brand" : $("#brand").val(),
7
-		"model" : $("#model").val(),
8
-		"advertiser" : $("#advertiser").val(),
9
-		"firstInd" : ( firstInd == "一级行业" ? "" : firstInd),
10
-		"secondInd" : $("#secondInd option:selected").val(),
6
+		"name" : $("#name").val(),
7
+		"rank" : $("#rank").val(),
11 8
 		"pageNo" : page,
12 9
 	    "pageSize" : pageSize
13 10
 	}, html = "";
14 11
 		
15 12
 	$("#page, #list").empty();
16 13
 	ajax("ajax_list.do", data, function(res){
17
-		if (res.code == 1 && res.list.length > 0){
18
-			$.each(res.list, function(index, item){
14
+		if (res.code == 1 && res.list.records.length > 0){
15
+			$.each(res.list.records, function(index, item){
19 16
 				html += '<tr>'+
20 17
 					'<td><input type="checkbox" class="checkbox {click:itemCheck}" name="chk" value="'+item.id+'" /><label></label></td>'+
21
-					'<td>'+item.model.toNull()+'</td>'+
22
-    				'<td class="nop">'+(item.modelImgUrl ? '<img src="'+item.modelImgUrl.toNull()+'" width="98" height="58" valign="middle" onerror="this.src=\'static/img/noimg.jpg\'"/>':'&nbsp;')+'</td>'+
23
-					'<td>'+item.brand.toNull()+'</td>'+
24
-    				'<td class="nop">'+(item.brandImgUrl ? '<img src="'+item.brandImgUrl.toNull()+'" width="98" height="58" valign="middle" onerror="this.src=\'static/img/noimg.jpg\'"/>':'&nbsp;')+'</td>'+
25
-					'<td>'+item.advertiser.toNull()+'</td>'+
26
-					'<td>'+item.firstInd.toNull()+'</td>'+
27
-					'<td>'+item.secondInd.toNull()+'</td>'+
18
+					'<td>'+item.name.toNull()+'</td>'+
19
+					'<td>'+item.rankName+'</td>'+
20
+    				'<td class="nop">'+(item.imgUrl ? '<img src="'+item.imgUrl.toNull()+'" width="98" height="58" valign="middle" onerror="this.src=\'static/img/noimg.jpg\'"/>':'&nbsp;')+'</td>'+
28 21
 					'<td class="edit">'+
29 22
     					(update_flag == 1 ? '<a href="javascript:platformModfiy(\'edit\',\'品牌型号信息\','+item.id+');">编辑</a><br />' : '') +
30 23
     					(delete_flag == 1 ? '<a href="javascript:delRecord('+item.id+');">删除</a>' : '' ) +