yusm 6 месяцев назад
Родитель
Сommit
76d41c41bc
14 измененных файлов с 362 добавлено и 162 удалено
  1. 6 0
      fhKeeper/formulahousekeeper/webttkuaiban/pom.xml
  2. 39 5
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/ArticleController.java
  3. 105 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/controller/User.java
  4. 21 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/mapper/ArticleMapper.java
  5. 8 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/mapper/UserMapper.java
  6. 41 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/pojo/Article.java
  7. 12 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/pojo/ArticleCoverImg.java
  8. 17 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/service/ArticleService.java
  9. 50 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/service/impl/ArticleServiceImpl.java
  10. 0 67
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/BasicController.java
  11. 0 44
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/PathVariableController.java
  12. 0 43
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/User.java
  13. 4 3
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/application.properties
  14. 59 0
      fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/mapper/ArticleMapper.xml

+ 6 - 0
fhKeeper/formulahousekeeper/webttkuaiban/pom.xml

@@ -70,6 +70,12 @@
             <artifactId>fastjson</artifactId>
             <version>1.2.7</version>
         </dependency>
+        <!--分页查询插件-->
+        <dependency>
+            <groupId>com.github.pagehelper</groupId>
+            <artifactId>pagehelper-spring-boot-starter</artifactId>
+            <version>1.4.6</version>
+        </dependency>
     </dependencies>
     <dependencyManagement>
         <dependencies>

+ 39 - 5
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/ArticleController.java

@@ -14,25 +14,31 @@
  * limitations under the License.
  */
 
-package com.firerock.webttkuaiban.demos.web;
+package com.firerock.webttkuaiban.demos.controller;
 
+import com.firerock.webttkuaiban.demos.pojo.Article;
+import com.firerock.webttkuaiban.demos.service.ArticleService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
  */
 @Controller
+@RequestMapping("article")
 public class ArticleController {
 
+    @Autowired
+    ArticleService articleService;
+
     // http://127.0.0.1:8080/user/123/roles/222
     @RequestMapping(value = "/articleList", method = RequestMethod.GET)
     public String articleList(Model model) {
@@ -48,4 +54,32 @@ public class ArticleController {
         return "articleList";
     }
 
+    @GetMapping("/pageList")  // 这里的 PageBean 是事先定义好的实体类
+    public Object PageList(Integer pageIndex, Integer pageSize,
+                        @RequestParam(required = false) String info)
+    {
+        List<Article> articleList= articleService.PageList(pageIndex,pageSize,info);
+        Integer total=articleService.getTotal(info);
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("data", articleList);
+        map.put("total", total);
+        return map;
+    }
+
+    @GetMapping ("/latestList")
+    public Object latestList() {
+        List<Article> latestList =articleService.latestList();
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", latestList);
+        return map;
+    }
+
+    @GetMapping ("/relatedList")
+    public Object relatedList(@RequestParam("id") Integer id) {
+        List<Article> relatedList =articleService.relatedList(id);
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", relatedList);
+        return map;
+    }
+
 }

+ 105 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/controller/User.java

@@ -0,0 +1,105 @@
+/*
+ * Copyright 2013-2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.firerock.webttkuaiban.demos.controller;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
+ */
+public class User {
+
+    private Integer id;
+    private String username;
+
+    private String password;
+
+    private String nickname;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getNickname() {
+        return nickname;
+    }
+
+    public void setNickname(String nickname) {
+        this.nickname = nickname;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getUser_pic() {
+        return user_pic;
+    }
+
+    public void setUser_pic(String user_pic) {
+        this.user_pic = user_pic;
+    }
+
+    public LocalDateTime getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(LocalDateTime createTime) {
+        this.createTime = createTime;
+    }
+
+    public LocalDateTime getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(LocalDateTime updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    private String email;
+
+    private String user_pic;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+}

+ 21 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/mapper/ArticleMapper.java

@@ -0,0 +1,21 @@
+package com.firerock.webttkuaiban.demos.mapper;
+
+import com.firerock.webttkuaiban.demos.pojo.Article;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface ArticleMapper {
+    List<Article> pageList(Integer pageIndex, Integer pageSize,String info);
+
+    Integer getTotal(String info);
+
+    List<Article> latestList();
+
+    List<Article> relatedList(List<String> strings);
+
+    @Select("select * from article where id = #{id}")
+    Article getArticleById(Integer id);
+}

+ 8 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/mapper/UserMapper.java

@@ -0,0 +1,8 @@
+package com.firerock.webttkuaiban.demos.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@Mapper
+public interface UserMapper {
+}

+ 41 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/pojo/Article.java

@@ -0,0 +1,41 @@
+package com.firerock.webttkuaiban.demos.pojo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.time.LocalDateTime;
+
+@Data
+public class Article {
+    private Integer id;//主键ID
+
+    private String title;//文章标题
+
+    private String content;//文章内容
+
+    private String profile;//简介
+//    @NotEmpty
+//    @URL
+    private byte[] coverImg;//封面图像
+
+    private MultipartFile imgFile;
+
+    private String state;//发布状态 已发布|草稿
+
+    private Integer categoryId;//文章分类id
+
+    private String categoryIds;//文章分类 category_ids
+    private Integer createUser;//创建人ID
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime createTime;//创建时间
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime updateTime;//更新时间
+}

+ 12 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/pojo/ArticleCoverImg.java

@@ -0,0 +1,12 @@
+package com.firerock.webttkuaiban.demos.pojo;
+
+import lombok.Data;
+
+@Data
+public class ArticleCoverImg {
+    private Integer id;
+
+    private Integer articleId;
+
+    private byte[] coverImgData;
+}

+ 17 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/service/ArticleService.java

@@ -0,0 +1,17 @@
+package com.firerock.webttkuaiban.demos.service;
+
+import com.firerock.webttkuaiban.demos.pojo.Article;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+public interface ArticleService {
+
+    List<Article> PageList( Integer pageIndex, Integer pageSize, String info);
+
+    Integer getTotal(String info);
+
+    List<Article> latestList();
+
+    List<Article> relatedList(Integer id);
+}

+ 50 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/service/impl/ArticleServiceImpl.java

@@ -0,0 +1,50 @@
+package com.firerock.webttkuaiban.demos.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.firerock.webttkuaiban.demos.mapper.ArticleMapper;
+import com.firerock.webttkuaiban.demos.mapper.UserMapper;
+import com.firerock.webttkuaiban.demos.pojo.Article;
+import com.firerock.webttkuaiban.demos.service.ArticleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class ArticleServiceImpl implements ArticleService {
+
+    @Autowired
+    private UserMapper userMapper;
+    @Autowired
+    private ArticleMapper articleMapper;
+
+
+    @Override
+    public List<Article> PageList(Integer pageIndex, Integer pageSize, String info) {
+        pageIndex = (pageIndex - 1) * pageSize;
+        List<Article> list=articleMapper.pageList(pageIndex,pageSize,info);
+        return list;
+    }
+
+    @Override
+    public Integer getTotal(String info) {
+        return articleMapper.getTotal(info);
+    }
+
+    @Override
+    public List<Article> latestList() {
+        return articleMapper.latestList();
+    }
+
+    @Override
+    public List<Article> relatedList(Integer articleId) {
+        Article articleById = articleMapper.getArticleById(articleId);
+        if (articleById!=null&& !StringUtils.isEmpty(articleById.getCategoryIds())){
+            List<String> strings = JSONObject.parseArray(articleById.getCategoryIds(), String.class);
+            return articleMapper.relatedList(strings);
+        }else {
+            return new ArrayList<>();
+        }
+    }
+}

+ 0 - 67
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/BasicController.java

@@ -1,67 +0,0 @@
-/*
- * Copyright 2013-2018 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.firerock.webttkuaiban.demos.web;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-/**
- * @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
- */
-@Controller
-public class BasicController {
-
-    // http://127.0.0.1:8080/hello?name=lisi
-    @RequestMapping("/hello")
-    @ResponseBody
-    public String hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) {
-        return "Hello " + name;
-    }
-
-    // http://127.0.0.1:8080/user
-    @RequestMapping("/user")
-    @ResponseBody
-    public User user() {
-        User user = new User();
-        user.setName("theonefx");
-        user.setAge(666);
-        return user;
-    }
-
-    // http://127.0.0.1:8080/save_user?name=newName&age=11
-    @RequestMapping("/save_user")
-    @ResponseBody
-    public String saveUser(User u) {
-        return "user will save: name=" + u.getName() + ", age=" + u.getAge();
-    }
-
-    // http://127.0.0.1:8080/html
-    @RequestMapping("/html")
-    public String html() {
-        return "index.html";
-    }
-
-    @ModelAttribute
-    public void parseUser(@RequestParam(name = "name", defaultValue = "unknown user") String name
-            , @RequestParam(name = "age", defaultValue = "12") Integer age, User user) {
-        user.setName("zhangsan");
-        user.setAge(18);
-    }
-}

+ 0 - 44
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/PathVariableController.java

@@ -1,44 +0,0 @@
-/*
- * Copyright 2013-2018 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.firerock.webttkuaiban.demos.web;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-/**
- * @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
- */
-@Controller
-public class PathVariableController {
-
-    // http://127.0.0.1:8080/user/123/roles/222
-    @RequestMapping(value = "/user/{userId}/roles/{roleId}", method = RequestMethod.GET)
-    @ResponseBody
-    public String getLogin(@PathVariable("userId") String userId, @PathVariable("roleId") String roleId) {
-        return "User Id : " + userId + " Role Id : " + roleId;
-    }
-
-    // http://127.0.0.1:8080/javabeat/somewords
-    @RequestMapping(value = "/javabeat/{regexp1:[a-z-]+}", method = RequestMethod.GET)
-    @ResponseBody
-    public String getRegExp(@PathVariable("regexp1") String regexp1) {
-        return "URI Part : " + regexp1;
-    }
-}

+ 0 - 43
fhKeeper/formulahousekeeper/webttkuaiban/src/main/java/com/firerock/webttkuaiban/demos/web/User.java

@@ -1,43 +0,0 @@
-/*
- * Copyright 2013-2018 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.firerock.webttkuaiban.demos.web;
-
-/**
- * @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
- */
-public class User {
-
-    private String name;
-
-    private Integer age;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Integer getAge() {
-        return age;
-    }
-
-    public void setAge(Integer age) {
-        this.age = age;
-    }
-}

+ 4 - 3
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/application.properties

@@ -4,11 +4,12 @@ server.tomcat.uri-encoding=UTF-8
 server.max-http-header-size=102400
 logging.level.com.hssx.user.mapper=debug
 #Mybatis-plus
-mybatis-plus.type-aliases-package=com.firerock.webttkuaiban.user.entity/*
+mybatis-plus.type-aliases-package=com.firerock.webttkuaiban.demos.pojo/*
 mybatis-plus.mapper-locations=mapper/*.xml
+mybatis-plus.configuration.map-underscore-to-camel-case=true
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://47.101.180.183:17089/man_hour_manager?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
+spring.datasource.url=jdbc:mysql://47.101.180.183:17089/big_event?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
 spring.datasource.username=root
 spring.datasource.password=P011430@Huoshi*
 spring.datasource.hikari.max-lifetime=60000
@@ -23,7 +24,7 @@ spring.servlet.multipart.max-request-size=100MB
 spring.servlet.multipart.resolve-lazily=false
 #Swagger????
 mconfig.swagger-ui-open=true
-#??????·??
+#??????�??
 upload.path=C:/staticproject/qh_hospital/upload/
 default.pwd=1
 #freemarker

+ 59 - 0
fhKeeper/formulahousekeeper/webttkuaiban/src/main/resources/mapper/ArticleMapper.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--这里是 ArticleMapper.java 接口文件的地址-->
+<mapper namespace="com.firerock.webttkuaiban.demos.mapper.ArticleMapper">
+
+    <select id="pageList" resultType="com.firerock.webttkuaiban.demos.pojo.Article">
+        select a.* ,aci.cover_img_data coverImg
+        from article a
+        left join  article_cover_img aci on a.id=aci.article_id
+        <where>
+            a.state='已发布'
+            <if test="info!=null and info !=''">
+                and (a.title LIKE CONCAT('%', #{info}, '%') OR a.content LIKE CONCAT('%', #{info}, '%'))
+            </if>
+        </where>
+        order by  update_time DESC
+        <if test="pageIndex!=null and pageSize!=null">
+            limit pageIndex,pageSize
+        </if>
+    </select>
+    <select id="getTotal" resultType="java.lang.Integer">
+        select count(*) total
+        from article a
+        left join  article_cover_img aci on a.id=aci.article_id
+        <where>
+            a.state='已发布'
+            <if test="info!=null and info !=''">
+                and (a.title LIKE CONCAT('%', #{info}, '%') OR a.content LIKE CONCAT('%', #{info}, '%'))
+            </if>
+        </where>
+        order by  update_time DESC
+    </select>
+    <select id="latestList" resultType="com.firerock.webttkuaiban.demos.pojo.Article">
+        select a.* ,aci.cover_img_data coverImg
+        from article a
+                 left join  article_cover_img aci on a.id=aci.article_id
+        where a.state='已发布'
+        order by  update_time DESC
+            limit 3
+    </select>
+    <select id="relatedList" resultType="com.firerock.webttkuaiban.demos.pojo.Article">
+        select a.* ,aci.cover_img_data coverImg
+        from article a
+        left join  article_cover_img aci on a.id=aci.article_id
+        <where>
+            a.state='已发布'
+            <if test="strings!=null">
+                and
+                <foreach collection="strings" item="item" separator="or" open="(" close=")">
+                    JSON_CONTAINS(category_ids, #{item})
+                </foreach>
+            </if>
+        </where>
+        order by  update_time DESC
+        limit 6
+    </select>
+</mapper>