Bläddra i källkod

添加搜索历史,获取搜索历史列表

zhj 10 månader sedan
förälder
incheckning
d48ae4af81

+ 43 - 0
src/main/java/com/welampiot/controller/UserController.java

@@ -45,6 +45,8 @@ public class UserController extends BaseController {
     private LampService lampService;
     @Autowired
     private LampPoleService lampPoleService;
+    @Autowired
+    private UserSearchService userSearchService;
 
     /**
      * 登录demo做测试,后续删除
@@ -1193,4 +1195,45 @@ public class UserController extends BaseController {
         globalLocationVO.setList(list);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version, globalLocationVO);
     }
+
+    /**
+     * 添加搜索历史
+     */
+    @RequestMapping(value = "/saveSearchInfo", method = RequestMethod.POST)
+    public BaseResult<?> saveSearchInfo(UserSearchVO userSearchVO) {
+        Integer version = userSearchVO.getVersion();
+        List<Map<String, String>> list = userSearchVO.getList();
+        if (list == null || list.isEmpty())
+            return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR, version);
+        UserDTO userDTO = userService.getUserByUserName(userSearchVO.getUsername());
+        if (userDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL, version);
+        for (Map<String, String> map : list) {
+            UserSearchDTO userSearchDTO = new UserSearchDTO();
+            String areaId = map.get("id");
+            if (areaId == null || areaId.isEmpty()) continue;
+            userSearchDTO.setAreaId(Integer.parseInt(areaId));
+            String name = map.get("name");
+            if (name == null || name.isEmpty()) continue;
+            userSearchService.delUserSearchByAreaIdAndUserid(Integer.valueOf(areaId), userDTO.getId());
+            userSearchDTO.setName(name);
+            userSearchDTO.setNumber(Integer.parseInt(map.get("number")));
+            userSearchDTO.setUserid(userDTO.getId());
+            userSearchService.addUserSearchData(userSearchDTO);
+        }
+
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version);
+    }
+
+    /**
+     * 获取搜索历史列表
+     */
+    @RequestMapping(value = "/getSearchInfo", method = RequestMethod.POST)
+    public BaseResult<?> getSearchInfo(BaseVO baseVO) {
+        Integer version = baseVO.getVersion();
+        UserDTO userDTO = userService.findUserByUserName(baseVO.getUsername());
+        List<UserSearchDTO> list = userSearchService.getUserSearchList(userDTO.getId());
+        UserSearchDTO userSearchDTO = new UserSearchDTO();
+        userSearchDTO.setList(list);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version, userSearchDTO);
+    }
 }

+ 12 - 0
src/main/java/com/welampiot/dao/UserSearchDao.java

@@ -0,0 +1,12 @@
+package com.welampiot.dao;
+
+import com.welampiot.dto.UserSearchDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface UserSearchDao {
+    void addUserSearchData(UserSearchDTO userSearchDTO);
+    List<UserSearchDTO> getUserSearchList(@Param("userid") Integer userid);
+    void delUserSearchByAreaIdAndUserid(@Param("areaId") Integer areaId, @Param("userid") Integer userid);
+}

+ 18 - 0
src/main/java/com/welampiot/dto/UserSearchDTO.java

@@ -0,0 +1,18 @@
+package com.welampiot.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UserSearchDTO {
+    private Integer id;
+    private Integer areaId;
+    /** 搜索名称 */
+    private String name;
+    /** 点击次数 */
+    private Integer number;
+    /** 用户id */
+    private Integer userid;
+    private List<UserSearchDTO> list;
+}

+ 12 - 0
src/main/java/com/welampiot/service/UserSearchService.java

@@ -0,0 +1,12 @@
+package com.welampiot.service;
+
+import com.welampiot.dto.UserSearchDTO;
+
+import java.util.List;
+
+public interface UserSearchService {
+    void addUserSearchData(UserSearchDTO userSearchDTO);
+    List<UserSearchDTO> getUserSearchList(Integer userid);
+    void delUserSearchByAreaIdAndUserid(Integer areaId, Integer userid);
+
+}

+ 31 - 0
src/main/java/com/welampiot/service/impl/UserSearchServiceImpl.java

@@ -0,0 +1,31 @@
+package com.welampiot.service.impl;
+
+import com.welampiot.dao.UserSearchDao;
+import com.welampiot.dto.UserSearchDTO;
+import com.welampiot.service.UserSearchService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class UserSearchServiceImpl implements UserSearchService {
+
+    @Autowired
+    private UserSearchDao userSearchDao;
+
+    @Override
+    public void addUserSearchData(UserSearchDTO userSearchDTO) {
+        userSearchDao.addUserSearchData(userSearchDTO);
+    }
+
+    @Override
+    public List<UserSearchDTO> getUserSearchList(Integer userid) {
+        return userSearchDao.getUserSearchList(userid);
+    }
+
+    @Override
+    public void delUserSearchByAreaIdAndUserid(Integer areaId, Integer userid) {
+        userSearchDao.delUserSearchByAreaIdAndUserid(areaId, userid);
+    }
+}

+ 13 - 0
src/main/java/com/welampiot/vo/UserSearchVO.java

@@ -0,0 +1,13 @@
+package com.welampiot.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class UserSearchVO extends BaseVO {
+    private List<Map<String, String>> list;
+}

+ 22 - 0
src/main/resources/mapper/UserSearchMapper.xml

@@ -0,0 +1,22 @@
+<?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">
+<mapper namespace="com.welampiot.dao.UserSearchDao">
+
+    <insert id="addUserSearchData" parameterType="UserSearchDTO" useGeneratedKeys="true" keyProperty="id">
+        insert into user_search_info(areaid, name, number, user_id)
+        value (#{areaId},#{name},#{number},#{userid})
+    </insert>
+
+    <select id="getUserSearchList" resultType="UserSearchDTO">
+        select u.name,u.areaid as id,u.number
+        from user_search_info u
+        where u.user_id = #{userid}
+    </select>
+
+    <delete id="delUserSearchByAreaIdAndUserid">
+        delete
+        from user_search_info
+        where areaid = #{areaId} and user_id = #{userid};
+    </delete>
+
+</mapper>