瀏覽代碼

友情链接与热门城市开发

anderx 4 年之前
父節點
當前提交
ebf360779e

+ 1 - 1
src/main/java/com/kede/common/controller/BaseController.java

@@ -130,7 +130,7 @@ public class BaseController {
 		model.addAttribute("isLogin", TokenManager.isLogin());
 		model.addAttribute("csrf", TokenManager.getCSRF());
 		model.addAttribute("links",getLinks());
-//		model.addAttribute("popularCities",getpopularCities());
+		model.addAttribute("popularCities",getpopularCities());
 		if (TokenManager.isLogin() && TokenManager.getToken() instanceof Admin) {
 			model.addAttribute("adminData", TokenManager.getAdminToken());
 			model.addAttribute("userName", TokenManager.getAdminToken().getName());

+ 8 - 3
src/main/java/com/kede/common/controller/PublicApiController.java

@@ -9,6 +9,7 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.kede.linksAndHot.service.LinkesService;
 import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -43,7 +44,7 @@ import com.kede.wxsdk.service.WxService;
 public class PublicApiController extends BaseController {
 	
 	@Resource
-	private BannersService	bannersService;
+	private LinkesService linkesService;
 	@Resource
 	private NewsService newsService;
 	@Resource
@@ -213,9 +214,13 @@ public class PublicApiController extends BaseController {
 		}
 		return res.data(weChatShareService.openDetails(type,pid));
 	}
-	
 
-	
+
+	@RequestMapping(value = "/getlinksAll", method = RequestMethod.GET)
+	public Result getlinksAll() {
+		Result res=new Result();
+		return res.data(linkesService.getAllLinks());
+	}
 	
 	
 }

+ 1 - 1
src/main/java/com/kede/common/mapper/LinksMapper.xml

@@ -155,6 +155,6 @@
     </if>
   </select>
   <select id="getAll" resultType="com.kede.linksAndHot.bo.publicLinks">
-    select id,name,url from links where status =1
+    select id,name,url from links where status =0
   </select>
 </mapper>

+ 1 - 14
src/main/java/com/kede/core/cache/serializer/FastJsonRedisSerializer.java

@@ -10,20 +10,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
 public class FastJsonRedisSerializer implements RedisSerializer<Object> {
 	public FastJsonRedisSerializer() {
 		ParserConfig pc = ParserConfig.getGlobalInstance();
-		pc.addAccept("com.kede.common.model.IndustryCategory");
-		pc.addAccept("com.kede.common.model.DistrictGlossory");
-		pc.addAccept("com.kede.common.model.HtmlFragment");
-		pc.addAccept("com.kede.common.model.News");
-		pc.addAccept("com.kede.news.bo.NewsSummary");
-		pc.addAccept("com.kede.common.model.Banners");
-		pc.addAccept("com.kede.common.model.EngagedFieldGlossory");
-		pc.addAccept("com.kede.star.bo.BigShotStarListBo");
-		pc.addAccept("com.kede.lecture.bo.LectureListBo");
-		pc.addAccept("com.kede.lecture.bo.BigShotLectureListBo");
-		pc.addAccept("com.kede.news.bo.NewsPortalList");
-		pc.addAccept("com.kede.common.model.Activity");
-		pc.addAccept("com.kede.portal.bo.InternationalListBo");
-		pc.addAccept("com.kede.easemob.bo.EasemobInfo");
+		pc.addAccept("com.kede.linksAndHot.bo");
 	}
 
 	@Override

+ 1 - 2
src/main/java/com/kede/linksAndHot/bo/publicLinks.java

@@ -1,9 +1,8 @@
 package com.kede.linksAndHot.bo;
 
 
-import java.io.Serializable;
 
-public class publicLinks implements Serializable {
+public class publicLinks {
     private String id;
     private String name;
     private String url;

+ 9 - 0
src/main/java/com/kede/linksAndHot/controller/AdminHotApiController.java

@@ -60,4 +60,13 @@ public class AdminHotApiController extends BaseApiController {
 		return res;
 	}
 
+
+	@RequestMapping(value = "/cleanAllpopularCities", method = RequestMethod.GET)
+	public Result cleanAllpopularCities() {
+		Result res =new Result();
+
+		res.data(popularCitiesService.cleanAllpopularCities());
+		return res;
+	}
+
 }

+ 6 - 0
src/main/java/com/kede/linksAndHot/controller/AdminLinksApiController.java

@@ -56,5 +56,11 @@ public class AdminLinksApiController extends BaseApiController {
 		res.data(linkesService.list(in));
 		return res;
 	}
+	@RequestMapping(value = "/cleanAllLinks", method = RequestMethod.GET)
+	public Result cleanAllLinks() {
+		Result res =new Result();
+		res.data(linkesService.cleanAllLinks());
+		return res;
+	}
 
 }

+ 2 - 0
src/main/java/com/kede/linksAndHot/service/LinkesService.java

@@ -16,4 +16,6 @@ public interface LinkesService {
     Object list(InputLinksList in);
 
     List<publicLinks> getAllLinks();
+
+    int cleanAllLinks();
 }

+ 2 - 0
src/main/java/com/kede/linksAndHot/service/PopularCitiesService.java

@@ -14,4 +14,6 @@ public interface PopularCitiesService {
     Object list(InputPopularCitiesList in);
 
     Object getAllpopularCities();
+
+    int cleanAllpopularCities();
 }

+ 22 - 9
src/main/java/com/kede/linksAndHot/service/impl/LinkesServiceImpl.java

@@ -2,12 +2,16 @@ package com.kede.linksAndHot.service.impl;
 
 import com.kede.common.dao.LinksMapper;
 import com.kede.common.model.Links;
+import com.kede.common.utils.LoggerUtils;
 import com.kede.core.mybatis.BaseMybatisDao;
 import com.kede.linksAndHot.bo.InputLinks;
 import com.kede.linksAndHot.bo.InputLinksList;
 import com.kede.linksAndHot.bo.publicLinks;
 import com.kede.linksAndHot.service.LinkesService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
@@ -21,6 +25,7 @@ public class LinkesServiceImpl extends BaseMybatisDao<LinksMapper> implements Li
     @Autowired
     private LinksMapper linksMapper;
 
+    private static final Logger logger = LoggerFactory.getLogger(LinkesServiceImpl.class);
 
     @Override
     public int add(InputLinks in) {
@@ -37,21 +42,29 @@ public class LinkesServiceImpl extends BaseMybatisDao<LinksMapper> implements Li
         Map<String, Object> params = new HashMap<String, Object>();
         if(in.getName()!=null)params.put("name",in.getName());
         if(in.getMutualChain()!=null)params.put("mutualChain",in.getMutualChain());
-        if(in.getStatus()!=null)params.put("status",in.getStatus());
-        if(in.getSortType()!=null)params.put("sortType",in.getSortType());
+        if(in.getStatus()!=null){
+            params.put("status",in.getStatus());
+        }
+        if(in.getSortType()!=null){
+            params.put("sortType",in.getSortType());
+        }else{
+            params.put("sortType",0);
+        }
         return findPage("linkesList","linksCount",params,in.getPageNo(), in.getPageSize());
     }
 
     @Override
-//    @Cacheable(value="getAllLinks", key = "links")
+    @Cacheable(value="getAllLinks", key = "'links'+'All'")
     public List<publicLinks> getAllLinks() {
-        List<publicLinks> list=new ArrayList<>();
-        if (list.isEmpty()){
-            list=linksMapper.getAll();
-//            redisUtil.saveObject(list,"allLinks");
+        LoggerUtils.debug(logger, "友情链接缓存");
+        return linksMapper.getAll();
+    }
 
-        }
-        return list;
+    @Override
+    @CacheEvict(value = "getAllLinks", allEntries = true)
+    public int cleanAllLinks() {
+        LoggerUtils.debug(logger, "清除友情链接缓存");
+        return 1;
     }
 
 

+ 27 - 5
src/main/java/com/kede/linksAndHot/service/impl/PopularCitiesServiceImpl.java

@@ -2,17 +2,23 @@ package com.kede.linksAndHot.service.impl;
 
 import com.kede.common.dao.PopularCitiesMapper;
 import com.kede.common.model.Links;
+import com.kede.common.utils.LoggerUtils;
 import com.kede.core.mybatis.BaseMybatisDao;
 import com.kede.linksAndHot.bo.InputLinksList;
 import com.kede.linksAndHot.bo.InputPopularCities;
 import com.kede.linksAndHot.bo.InputPopularCitiesList;
+import com.kede.linksAndHot.bo.outPopularCitiesList;
 import com.kede.linksAndHot.service.PopularCitiesService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -21,6 +27,8 @@ public class PopularCitiesServiceImpl extends BaseMybatisDao<PopularCitiesMapper
     @Autowired
     private PopularCitiesMapper popularCitiesMapper;
 
+    private static final Logger logger = LoggerFactory.getLogger(PopularCitiesServiceImpl.class);
+
     @Override
     public int add(InputPopularCities in) {
         return popularCitiesMapper.insertSelective(in);
@@ -35,15 +43,29 @@ public class PopularCitiesServiceImpl extends BaseMybatisDao<PopularCitiesMapper
     public Object list(InputPopularCitiesList in) {
         Map<String,Object> param=new HashMap<>();
         if (in.getName()!=null)param.put("name",in.getName());
-        if (in.getSortType()!=null)param.put("sortType",in.getSortType());
-        if(in.getStatus()!=null)param.put("status",in.getStatus());
+        if (in.getSortType()!=null){
+            param.put("sortType",in.getSortType());
+        }else{
+            param.put("sortType",0);
+        }
+        if(in.getStatus()!=null){
+            param.put("status",in.getStatus());
+        }
         return findPage("popularCitiesList","popularCitiesCount",param, in.getPageNo(), in.getPageSize());
     }
 
     @Override
-    public Object getAllpopularCities() {
+    @Cacheable(value="getAllpopularCities", key = "'popularCities'+'All'")
+    public List<outPopularCitiesList> getAllpopularCities() {
+        LoggerUtils.debug(logger, "热门城市缓存");
         Map<String,Object> param=new HashMap<>();
-        param.put("status",1);
-        return findList("popularCitiesList",param,1,9999);
+        param.put("status",0);
+        return (List<outPopularCitiesList>) findList("popularCitiesList",param,1,9999);
+    }
+
+    @CacheEvict(value = "getAllLinks", allEntries = true)
+    public int cleanAllpopularCities() {
+        LoggerUtils.debug(logger, "清除热门城市缓存");
+        return 1;
     }
 }

+ 2 - 1
src/main/resources/props/config_local.properties

@@ -61,7 +61,8 @@ template.cacheable=false
 avatar.upload.host=//172.16.0.255:3000/upload
 #连接开�
 portal.host=//kedejs.jishutao.com/portal/1.0.18
-static.host=//kedejs.jishutao.com/client/1.0.4
+#static.host=//kedejs.jishutao.com/client/1.0.4
+static.host=//172.16.0.255:3000/1.0.5
 avatar.host=//172.16.0.255:3000
 
 

+ 41 - 7
src/main/webapp/WEB-INF/views/common.html

@@ -383,6 +383,25 @@
 <th:block th:fragment="copyright">
     <div class="contentDown">
         <div class="container">
+            <!-- 友情链接 -->
+            <div>
+                <div class="down_left">
+                    <p>友情链接</p>
+                </div>
+                <div class="swiper-container" id="swiper5" style="height:140px">
+                    <div class="swiper-wrapper">
+                        <div class="swiper-slide" style="display:flex" >
+                            <div >
+                                <a style="color:white ;padding: 0 10px;min-width:10%;max-width:25%; word-wrap: break-word;word-break: normal;"  th:each="link:${links}" th:href="${link.url}" th:text="${link.name}"></a>
+                                <a style="color:white ;padding: 0 10px;min-width:10%;max-width:25%; word-wrap: break-word;word-break: normal;"  th:each="link:${links}" th:href="${link.url}" th:text="${link.name}"></a>
+                                <a style="color:white ;padding: 0 10px;min-width:10%;max-width:25%; word-wrap: break-word;word-break: normal;"  th:each="link:${links}" th:href="${link.url}" th:text="${link.name}"></a>
+                                <a style="color:white ;padding: 0 10px;min-width:10%;max-width:25%; word-wrap: break-word;word-break: normal;"  th:each="link:${links}" th:href="${link.url}" th:text="${link.name}"></a>
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
             <div class="row" style="position: relative;">
                 <div class="down_left col-lg-3 ">
                     <p>产品服务</p>
@@ -458,6 +477,7 @@
             </div>
         </div>
     </div>
+
     <div class="infoDown">
         <div class="container">
             <span class="info_one">Copyright 2014-2025 湖南科德信息咨询集团有限公司</span>
@@ -593,6 +613,7 @@
         globalConfig.avatarHost = /*[[${avatarHost}]]*/'';
         globalConfig.avatarUploadHost = /*[[${avatarUploadHost}]]*/'';
         globalConfig.csrfToken = /*[[${csrf}]]*/'';
+        globalConfig.links = /*[[${links}]]*/'';
         globalConfig.kfqq = '2035994611';
         window.userData = {};
         window.adminData = {};
@@ -606,13 +627,26 @@
         }
         /*]]>*/
     </script>
-    <script th:inline="javascript" th:if="${adminData!=null}">
-        /*<![CDATA[*/
-        window.paramData = {
-            links : /*[[${links}]]*/'',
-            popularCities : /*[[${popularCities}]]*/'',
-        }
-        /*]]>*/
+    <script th:src="${portalHost+'/js/swiper/swiper.min.js'}"></script>
+    <script>
+        var swiper = new Swiper("#swiper5", {
+            direction : 'vertical',
+            autoplay: {
+                delay: 3000,
+                pauseOnMouseEnter: true,
+            },
+            loop: true,
+            // slidesPerView:2,
+            grid: {
+                fill: 'column',
+                rows: 3,
+            },
+
+        });
+        // const link = globalConfig.links;
+        // link.forEach(element => {
+        //     swiper.appendSlide('<div class="swiper-slide" style="display:flex"><div style="padding: 0 4px"><a style="color:white" href='+element.url+' ><span>'+element.name+'</span></a></div></div>');
+        // });
     </script>
     <script th:if="${type}!='houtai'">
         var _hmt = _hmt || [];