1
0
suochencheng 7 rokov pred
rodič
commit
c9e2fee1fa

+ 1 - 1
src/main/java/com/izouma/awesomeadmin/dao/ProductCommentMapper.xml

@@ -560,7 +560,7 @@
 
         <association property="userInfo"
                      javaType="com.izouma.awesomeadmin.model.UserInfo"
-                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.queryUserInfo"
+                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.querySingleUserInfo"
                      column="{ id = user_id }"/>
 
         <association property="productInfo"

+ 3 - 1
src/main/java/com/izouma/awesomeadmin/dao/StoreInfoMapper.xml

@@ -724,8 +724,10 @@
             </trim>
             ,
         </if>
-
         rank desc , id desc
+        <if test="limitNum != null and !&quot;&quot;.equals(limitNum)">
+            LIMIT #{limitNum}
+        </if>
     </select>
     <select id="queryAllStoreInfoForHome" parameterType="java.util.Map"
             resultType="com.izouma.awesomeadmin.model.StoreInfo">

+ 2 - 0
src/main/java/com/izouma/awesomeadmin/dao/UserInfoMapper.java

@@ -30,6 +30,8 @@ public interface UserInfoMapper {
 
     UserInfo queryUserInfo(UserInfo record);
 
+    UserInfo querySingleUserInfo(UserInfo record);
+
     UserInfo login(Map<String, Object> parameter);
 
     List<String> findDepartLeader(String userId);

+ 63 - 0
src/main/java/com/izouma/awesomeadmin/dao/UserInfoMapper.xml

@@ -589,6 +589,69 @@
         </where>
         LIMIT 1
     </select>
+    <select id="querySingleUserInfo" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.UserInfo">
+        select
+        <include refid="Base_Column_List"/>
+        from sys_user
+        <where>
+            and del_flag = 'N'
+            <if test="id != null and !&quot;&quot;.equals(id)">
+                and id = #{id}
+            </if>
+            <if test="username != null and !&quot;&quot;.equals(username)">
+                and username = #{username}
+            </if>
+            <if test="nickname != null and !&quot;&quot;.equals(nickname)">
+                and nickname = #{nickname}
+            </if>
+            <if test="password != null and !&quot;&quot;.equals(password)">
+                and password = #{password}
+            </if>
+            <if test="icon != null and !&quot;&quot;.equals(icon)">
+                and icon = #{icon}
+            </if>
+            <if test="birthday != null and !&quot;&quot;.equals(birthday)">
+                and birthday = #{birthday}
+            </if>
+            <if test="sex != null and !&quot;&quot;.equals(sex)">
+                and sex = #{sex}
+            </if>
+            <if test="openId != null and !&quot;&quot;.equals(openId)">
+                and open_id = #{openId}
+            </if>
+            <if test="unionId != null and !&quot;&quot;.equals(unionId)">
+                and union_id = #{unionId}
+            </if>
+            <if test="phone != null and !&quot;&quot;.equals(phone)">
+                and phone = #{phone}
+            </if>
+            <if test="mail != null and !&quot;&quot;.equals(mail)">
+                and mail = #{mail}
+            </if>
+            <if test="country != null and !&quot;&quot;.equals(country)">
+                and country = #{country}
+            </if>
+            <if test="province != null and !&quot;&quot;.equals(province)">
+                and province = #{province}
+            </if>
+            <if test="city != null and !&quot;&quot;.equals(city)">
+                and city = #{city}
+            </if>
+            <if test="district != null and !&quot;&quot;.equals(district)">
+                and district = #{district}
+            </if>
+            <if test="roleId != null and !&quot;&quot;.equals(roleId)">
+                and role_id = #{roleId}
+            </if>
+            <if test="createTime != null and !&quot;&quot;.equals(createTime)">
+                and create_time = #{createTime}
+            </if>
+            <if test="delFlag != null and !&quot;&quot;.equals(delFlag)">
+                and del_flag = #{delFlag}
+            </if>
+        </where>
+        LIMIT 1
+    </select>
     <select id="login" resultMap="BaseResultMap" parameterType="java.util.Map">
         SELECT
         <include refid="Base_Column_List"/>

+ 19 - 5
src/main/java/com/izouma/awesomeadmin/dao/UserOrderMapper.xml

@@ -531,7 +531,7 @@
         </if>
         id desc
     </select>
-    <select id="queryAllUserOrder" parameterType="java.util.Map" resultType="com.izouma.awesomeadmin.model.UserOrder">
+    <select id="queryAllUserOrder" parameterType="java.util.Map" resultMap="AllUserOrderResult">
         select
         <include refid="Base_Column_List"/>
         from user_order
@@ -686,6 +686,9 @@
         </if>
 
         id desc
+        <if test="limitNum != null and !&quot;&quot;.equals(limitNum)">
+            LIMIT #{limitNum}
+        </if>
     </select>
     <select id="queryUserOrder" parameterType="java.util.Map" resultMap="AllInfoForGetOne">
         select
@@ -804,7 +807,7 @@
 
         <association property="userInfo"
                      javaType="com.izouma.awesomeadmin.model.UserInfo"
-                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.queryUserInfo"
+                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.querySingleUserInfo"
                      column="{ id = user_id }"/>
 
         <association property="productInfo"
@@ -818,11 +821,22 @@
                      column="{ orderId = id }"/>
 
         <collection property="orderRepairList"
-                     ofType="com.izouma.awesomeadmin.model.OrderRepair"
-                     select="com.izouma.awesomeadmin.dao.OrderRepairMapper.queryAllOrderRepair"
-                     column="{ orderId = id }"/>
+                    ofType="com.izouma.awesomeadmin.model.OrderRepair"
+                    select="com.izouma.awesomeadmin.dao.OrderRepairMapper.queryAllOrderRepair"
+                    column="{ orderId = id }"/>
 
     </resultMap>
 
+    <resultMap id="AllUserOrderResult" type="com.izouma.awesomeadmin.model.UserOrder" extends="BaseResultMap">
+
+
+        <association property="userInfo"
+                     javaType="com.izouma.awesomeadmin.model.UserInfo"
+                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.querySingleUserInfo"
+                     column="{ id = user_id }"/>
+
+    </resultMap>
+
+
 </mapper>
 

+ 1 - 1
src/main/java/com/izouma/awesomeadmin/dao/UsersSessionMapper.xml

@@ -394,7 +394,7 @@
                      column="{ id = store_id }"/>
         <association property="userInfo"
                      javaType="com.izouma.awesomeadmin.model.UserInfo"
-                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.queryUserInfo"
+                     select="com.izouma.awesomeadmin.dao.UserInfoMapper.querySingleUserInfo"
                      column="{ id = user_id }"/>
 
     </resultMap>

+ 3 - 3
src/main/java/com/izouma/awesomeadmin/model/StoreInfo.java

@@ -42,7 +42,7 @@ public class StoreInfo {
     /**
      * 需要条数
      */
-    private String limitNum;
+    private Integer limitNum;
 
     private String storelabel;
 
@@ -327,11 +327,11 @@ public class StoreInfo {
         this.memorySpace = memorySpace;
     }
 
-    public String getLimitNum() {
+    public Integer getLimitNum() {
         return limitNum;
     }
 
-    public void setLimitNum(String limitNum) {
+    public void setLimitNum(Integer limitNum) {
         this.limitNum = limitNum;
     }
 }

+ 14 - 0
src/main/java/com/izouma/awesomeadmin/model/UserOrder.java

@@ -59,6 +59,12 @@ public class UserOrder {
 
     private UserInfo userInfo;
 
+    /**
+     * 需要条数
+     */
+    private Integer limitNum;
+
+
     private String searchKey;
 
     /**
@@ -374,5 +380,13 @@ public class UserOrder {
     public void setConfirmTime(Date confirmTime) {
         this.confirmTime = confirmTime;
     }
+
+    public Integer getLimitNum() {
+        return limitNum;
+    }
+
+    public void setLimitNum(Integer limitNum) {
+        this.limitNum = limitNum;
+    }
 }
 

+ 2 - 0
src/main/java/com/izouma/awesomeadmin/service/StoreInfoService.java

@@ -12,6 +12,8 @@ public interface StoreInfoService{
 
     List<StoreInfo> getStoreInfoList(StoreInfo record);
 
+    List<StoreInfo> getStoreInfoListForHome(StoreInfo record);
+
     List<StoreInfo> getStoreInfoByPage(Page page, StoreInfo record);
 
     StoreInfo getStoreInfoById(String id);

+ 2 - 0
src/main/java/com/izouma/awesomeadmin/service/UserInfoService.java

@@ -20,6 +20,8 @@ public interface UserInfoService {
 
     UserInfo getUserInfo(UserInfo record);
 
+    UserInfo getSingleUserInfo(UserInfo record);
+
     boolean createUserInfo(UserInfo record);
 
     boolean deleteUserInfo(String id);

+ 34 - 18
src/main/java/com/izouma/awesomeadmin/service/impl/StoreInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.izouma.awesomeadmin.service.impl;
 
 import java.util.*;
+
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -11,10 +12,10 @@ import com.izouma.awesomeadmin.service.StoreInfoService;
 import com.izouma.awesomeadmin.dao.StoreInfoMapper;
 
 /**
-*  service接口实现类
-*/
+ * service接口实现类
+ */
 @Service
-public class StoreInfoServiceImpl implements StoreInfoService{
+public class StoreInfoServiceImpl implements StoreInfoService {
 
     private static Logger logger = Logger.getLogger(StoreInfoServiceImpl.class);
 
@@ -27,26 +28,41 @@ public class StoreInfoServiceImpl implements StoreInfoService{
         logger.info("getStoreInfoList");
         try {
 
-        return storeInfoMapper.queryAllStoreInfo(record);
+            return storeInfoMapper.queryAllStoreInfo(record);
+        } catch (Exception e) {
+            logger.error("getStoreInfoList", e);
+        }
+
+        return null;
+    }
+
+    @Override
+    public List<StoreInfo> getStoreInfoListForHome(StoreInfo record) {
+
+        logger.info("getStoreInfoListForHome");
+        try {
+
+            return storeInfoMapper.queryAllStoreInfoForHome(record);
         } catch (Exception e) {
-        logger.error("getStoreInfoList", e);
+            logger.error("getStoreInfoListForHome", e);
         }
 
         return null;
     }
+
     @Override
     public List<StoreInfo> getStoreInfoByPage(Page page, StoreInfo record) {
 
         logger.info("getStoreInfoByPage");
         try {
 
-        Map<String, Object> parameter = new HashMap<String, Object>();
-        parameter.put("record", record);
-        parameter.put(AppConstant.PAGE, page);
+            Map<String, Object> parameter = new HashMap<String, Object>();
+            parameter.put("record", record);
+            parameter.put(AppConstant.PAGE, page);
 
-        return storeInfoMapper.queryStoreInfoByPage(parameter);
+            return storeInfoMapper.queryStoreInfoByPage(parameter);
         } catch (Exception e) {
-        logger.error("getStoreInfoByPage", e);
+            logger.error("getStoreInfoByPage", e);
         }
 
         return null;
@@ -60,7 +76,7 @@ public class StoreInfoServiceImpl implements StoreInfoService{
 
             return storeInfoMapper.selectByPrimaryKey(Integer.valueOf(id));
         } catch (Exception e) {
-        logger.error("getStoreInfoById", e);
+            logger.error("getStoreInfoById", e);
         }
 
         return null;
@@ -74,7 +90,7 @@ public class StoreInfoServiceImpl implements StoreInfoService{
 
             return storeInfoMapper.queryStoreInfo(record);
         } catch (Exception e) {
-        logger.error("getStoreInfo", e);
+            logger.error("getStoreInfo", e);
         }
 
         return null;
@@ -89,7 +105,7 @@ public class StoreInfoServiceImpl implements StoreInfoService{
             int updates = storeInfoMapper.insertSelective(record);
 
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
             logger.error("createStoreInfo", e);
@@ -104,13 +120,13 @@ public class StoreInfoServiceImpl implements StoreInfoService{
         logger.info("deleteStoreInfo");
         try {
 
-             int updates = storeInfoMapper.delete(id);
+            int updates = storeInfoMapper.delete(id);
 
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
-             logger.error("deleteStoreInfo", e);
+            logger.error("deleteStoreInfo", e);
         }
 
         return false;
@@ -125,10 +141,10 @@ public class StoreInfoServiceImpl implements StoreInfoService{
             int updates = storeInfoMapper.updateByPrimaryKeySelective(record);
 
             if (updates > 0) {
-                 return true;
+                return true;
             }
         } catch (Exception e) {
-             logger.error("updateStoreInfo", e);
+            logger.error("updateStoreInfo", e);
         }
 
         return false;

+ 28 - 14
src/main/java/com/izouma/awesomeadmin/service/impl/UserInfoServiceImpl.java

@@ -115,6 +115,20 @@ public class UserInfoServiceImpl implements UserInfoService {
         return null;
     }
 
+    @Override
+    public UserInfo getSingleUserInfo(UserInfo record) {
+
+        logger.info("getSingleUserInfo");
+        try {
+
+            return userInfoMapper.querySingleUserInfo(record);
+        } catch (Exception e) {
+            logger.error("getSingleUserInfo", e);
+        }
+
+        return null;
+    }
+
     @Override
     public boolean createUserInfo(UserInfo record) {
 
@@ -259,21 +273,21 @@ public class UserInfoServiceImpl implements UserInfoService {
         try {
 //            AppToken appToken = sysAppTokenMapper.getToken(token);
 //            if (appToken != null) {
-                SecretKey key = Keys.hmacShaKeyFor(Base64.getDecoder().decode(PropertiesFileLoader.getProperties("jwtsecret").getBytes()));
-                Jwt jwt = Jwts.parser()
-                        .setSigningKey(key)
-                        .parse(token);
-                Claims claims = (Claims) jwt.getBody();
-                if (claims.getExpiration() != null) {
-                    if (claims.getExpiration().before(new Date())) {
-                        return null;
-                    }
-                }
-                if (claims.getSubject().equals("guest")) {
-                    userInfo = new UserInfo();
-                } else {
-                    userInfo = getUserInfoById(claims.getSubject());
+            SecretKey key = Keys.hmacShaKeyFor(Base64.getDecoder().decode(PropertiesFileLoader.getProperties("jwtsecret").getBytes()));
+            Jwt jwt = Jwts.parser()
+                    .setSigningKey(key)
+                    .parse(token);
+            Claims claims = (Claims) jwt.getBody();
+            if (claims.getExpiration() != null) {
+                if (claims.getExpiration().before(new Date())) {
+                    return null;
                 }
+            }
+            if (claims.getSubject().equals("guest")) {
+                userInfo = new UserInfo();
+            } else {
+                userInfo = getUserInfoById(claims.getSubject());
+            }
 //            }
         } catch (Exception e) {
             logger.error("loginAppToken", e);

+ 69 - 60
src/main/java/com/izouma/awesomeadmin/web/StoreInfoController.java

@@ -18,8 +18,8 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 /**
-*  controller类
-*/
+ * controller类
+ */
 @Controller
 @RequestMapping("/storeInfo")
 @RequiresAuthentication
@@ -29,8 +29,8 @@ public class StoreInfoController {
     private StoreInfoService storeInfoService;
 
     /**
-    * <p>获取全部记录。</p>
-    */
+     * <p>获取全部记录。</p>
+     */
     @RequiresAuthentication
     @RequestMapping(value = "/all", method = RequestMethod.GET)
     @ResponseBody
@@ -39,9 +39,17 @@ public class StoreInfoController {
         return new Result(true, pp);
     }
 
+    @RequiresAuthentication
+    @RequestMapping(value = "/home", method = RequestMethod.GET)
+    @ResponseBody
+    public Result home(StoreInfo record) {
+        List<StoreInfo> pp = storeInfoService.getStoreInfoListForHome(record);
+        return new Result(true, pp);
+    }
+
     /**
-    * <p>根据Id。</p>
-    */
+     * <p>根据Id。</p>
+     */
     @RequestMapping(value = "/getStoreInfo", method = RequestMethod.GET)
     @ResponseBody
     public Result getStoreInfo(@RequestParam(required = false, value = "id") String id) {
@@ -50,8 +58,8 @@ public class StoreInfoController {
     }
 
     /**
-    * <p>根据条件获取。</p>
-    */
+     * <p>根据条件获取。</p>
+     */
     @RequestMapping(value = "/getOne", method = RequestMethod.GET)
     @ResponseBody
     public Result getOne(StoreInfo record) {
@@ -61,14 +69,14 @@ public class StoreInfoController {
 
 
     /**
-    * <p>分页查询。</p>
-    */
+     * <p>分页查询。</p>
+     */
     @RequestMapping(value = "/page", method = RequestMethod.GET)
     @ResponseBody
     public Result page(Page page, StoreInfo record) {
         Map<String, Object> result = new HashMap<>();
 
-        List<StoreInfo> pp =storeInfoService.getStoreInfoByPage(page, record);
+        List<StoreInfo> pp = storeInfoService.getStoreInfoByPage(page, record);
 
         result.put(AppConstant.PAGE, page);
         result.put("pp", pp);
@@ -77,104 +85,105 @@ public class StoreInfoController {
 
 
     /**
-    * <p>保存。</p>
-    */
+     * <p>保存。</p>
+     */
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ResponseBody
     public Result save(StoreInfo record) {
         boolean num = storeInfoService.createStoreInfo(record);
         if (num) {
-        return new Result(true, record.getId());
+            return new Result(true, record.getId());
         }
         return new Result(false, "保存异常");
     }
 
     /**
-    * <p>更新信息。</p>
-    */
+     * <p>更新信息。</p>
+     */
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     @ResponseBody
     public Result updateStoreInfo(StoreInfo record) {
         boolean num = storeInfoService.updateStoreInfo(record);
         if (num) {
-        return new Result(true, "保存成功");
+            return new Result(true, "保存成功");
         }
         return new Result(false, "保存异常");
     }
 
     /**
-    * <p>删除。</p>
-    */
+     * <p>删除。</p>
+     */
     @RequestMapping(value = "/del", method = RequestMethod.POST)
     @ResponseBody
     public Result deleteStoreInfo(@RequestParam(required = true, value = "id") String id) {
 
         boolean num = storeInfoService.deleteStoreInfo(id);
         if (num) {
-        return new Result(true, "删除成功");
+            return new Result(true, "删除成功");
         }
         return new Result(false, "删除异常");
     }
 
     /**
-    * 导出Excel
-    * @param request
-    * @param response
-    * @param record
-    * @throws Exception
-    */
+     * 导出Excel
+     *
+     * @param request
+     * @param response
+     * @param record
+     * @throws Exception
+     */
     @RequestMapping(value = "/exportExcel", method = RequestMethod.GET)
     @ResponseBody
     public void exportExcel(HttpServletRequest request, HttpServletResponse response, StoreInfo record) throws Exception {
 
-    List<StoreInfo> storeInfos = storeInfoService.getStoreInfoList(record);
+        List<StoreInfo> storeInfos = storeInfoService.getStoreInfoList(record);
 
 
         String sheetName = "store_info";
         String titleName = "店铺信息数据表";
         String fileName = "店铺信息表";
         int columnNumber = 28;
-        int[] columnWidth = { 20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20,  20 };
-        String[] columnName = {  "" ,   "删除标识" ,   "更新时间" ,   "更新人" ,   "创建时间" ,   "创建人" ,   "用户ID" ,   "用户" ,   "店铺名称" ,   "服务类型" ,   "描述" ,   "头像" ,   "省" ,   "市" ,   "区" ,   "详细地址" ,   "银行卡号" ,   "开户行" ,   "开户人" ,   "信誉等级" ,   "可用" ,   "排序" ,   "响应时间" ,   "返片率" ,   "热门" ,   "首页" ,   "类型" ,   "服务小类"  };
+        int[] columnWidth = {20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20};
+        String[] columnName = {"", "删除标识", "更新时间", "更新人", "创建时间", "创建人", "用户ID", "用户", "店铺名称", "服务类型", "描述", "头像", "省", "市", "区", "详细地址", "银行卡号", "开户行", "开户人", "信誉等级", "可用", "排序", "响应时间", "返片率", "热门", "首页", "类型", "服务小类"};
         String[][] dataList = new String[storeInfos.size()][28];
 
         for (int i = 0; i < storeInfos.size(); i++) {
 
-                        dataList[i][0] = String.valueOf(storeInfos.get(i).getId());
-                        dataList[i][1] = String.valueOf(storeInfos.get(i).getDelFlag());
-                        dataList[i][2] = String.valueOf(storeInfos.get(i).getUpdateTime());
-                        dataList[i][3] = String.valueOf(storeInfos.get(i).getUpdateUser());
-                        dataList[i][4] = String.valueOf(storeInfos.get(i).getCreateTime());
-                        dataList[i][5] = String.valueOf(storeInfos.get(i).getCreateUser());
-                        dataList[i][6] = String.valueOf(storeInfos.get(i).getUserId());
-                        dataList[i][7] = String.valueOf(storeInfos.get(i).getUserName());
-                        dataList[i][8] = String.valueOf(storeInfos.get(i).getStoreName());
-                        dataList[i][9] = String.valueOf(storeInfos.get(i).getServiceType());
-                        dataList[i][10] = String.valueOf(storeInfos.get(i).getDescription());
-                        dataList[i][11] = String.valueOf(storeInfos.get(i).getIcon());
-                        dataList[i][12] = String.valueOf(storeInfos.get(i).getProvince());
-                        dataList[i][13] = String.valueOf(storeInfos.get(i).getCitye());
-                        dataList[i][14] = String.valueOf(storeInfos.get(i).getDistrict());
-                        dataList[i][15] = String.valueOf(storeInfos.get(i).getAddressDetail());
-                        dataList[i][16] = String.valueOf(storeInfos.get(i).getBankCard());
-                        dataList[i][17] = String.valueOf(storeInfos.get(i).getBankName());
-                        dataList[i][18] = String.valueOf(storeInfos.get(i).getOpenName());
-                        dataList[i][19] = String.valueOf(storeInfos.get(i).getCredit());
-                        dataList[i][20] = String.valueOf(storeInfos.get(i).getUseFlag());
-                        dataList[i][21] = String.valueOf(storeInfos.get(i).getRank());
-                        dataList[i][22] = String.valueOf(storeInfos.get(i).getResponseTime());
-                        dataList[i][23] = String.valueOf(storeInfos.get(i).getReworkRate());
-                        dataList[i][24] = String.valueOf(storeInfos.get(i).getHotFlag());
-                        dataList[i][25] = String.valueOf(storeInfos.get(i).getHomeFlag());
-                        dataList[i][26] = String.valueOf(storeInfos.get(i).getTypeFlag());
-                        dataList[i][27] = String.valueOf(storeInfos.get(i).getSubclass());
-                    }
+            dataList[i][0] = String.valueOf(storeInfos.get(i).getId());
+            dataList[i][1] = String.valueOf(storeInfos.get(i).getDelFlag());
+            dataList[i][2] = String.valueOf(storeInfos.get(i).getUpdateTime());
+            dataList[i][3] = String.valueOf(storeInfos.get(i).getUpdateUser());
+            dataList[i][4] = String.valueOf(storeInfos.get(i).getCreateTime());
+            dataList[i][5] = String.valueOf(storeInfos.get(i).getCreateUser());
+            dataList[i][6] = String.valueOf(storeInfos.get(i).getUserId());
+            dataList[i][7] = String.valueOf(storeInfos.get(i).getUserName());
+            dataList[i][8] = String.valueOf(storeInfos.get(i).getStoreName());
+            dataList[i][9] = String.valueOf(storeInfos.get(i).getServiceType());
+            dataList[i][10] = String.valueOf(storeInfos.get(i).getDescription());
+            dataList[i][11] = String.valueOf(storeInfos.get(i).getIcon());
+            dataList[i][12] = String.valueOf(storeInfos.get(i).getProvince());
+            dataList[i][13] = String.valueOf(storeInfos.get(i).getCitye());
+            dataList[i][14] = String.valueOf(storeInfos.get(i).getDistrict());
+            dataList[i][15] = String.valueOf(storeInfos.get(i).getAddressDetail());
+            dataList[i][16] = String.valueOf(storeInfos.get(i).getBankCard());
+            dataList[i][17] = String.valueOf(storeInfos.get(i).getBankName());
+            dataList[i][18] = String.valueOf(storeInfos.get(i).getOpenName());
+            dataList[i][19] = String.valueOf(storeInfos.get(i).getCredit());
+            dataList[i][20] = String.valueOf(storeInfos.get(i).getUseFlag());
+            dataList[i][21] = String.valueOf(storeInfos.get(i).getRank());
+            dataList[i][22] = String.valueOf(storeInfos.get(i).getResponseTime());
+            dataList[i][23] = String.valueOf(storeInfos.get(i).getReworkRate());
+            dataList[i][24] = String.valueOf(storeInfos.get(i).getHotFlag());
+            dataList[i][25] = String.valueOf(storeInfos.get(i).getHomeFlag());
+            dataList[i][26] = String.valueOf(storeInfos.get(i).getTypeFlag());
+            dataList[i][27] = String.valueOf(storeInfos.get(i).getSubclass());
+        }
 
 
         ExportExcelUtil.ExportWithResponse(sheetName, titleName, fileName,
-        columnNumber, columnWidth, columnName, dataList, response);
+                columnNumber, columnWidth, columnName, dataList, response);
 
 
-        }
     }
+}
 

+ 8 - 24
src/main/java/com/izouma/awesomeadmin/web/UserInfoController.java

@@ -1,27 +1,14 @@
 package com.izouma.awesomeadmin.web;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.izouma.awesomeadmin.constant.AppConstant;
 import com.izouma.awesomeadmin.dto.Page;
 import com.izouma.awesomeadmin.dto.Result;
-import com.izouma.awesomeadmin.dto.TreeNode;
-import com.izouma.awesomeadmin.model.DepartInfo;
+import com.izouma.awesomeadmin.model.UserInfo;
 import com.izouma.awesomeadmin.service.DepartInfoService;
-import com.izouma.awesomeadmin.service.PowerInfoService;
-import com.izouma.awesomeadmin.service.SysMenuService;
-import com.izouma.awesomeadmin.shiro.PhoneCodeToken;
-import com.izouma.awesomeadmin.util.CookieUtil;
+import com.izouma.awesomeadmin.service.UserInfoService;
 import com.izouma.awesomeadmin.util.ExportExcelUtil;
-import com.izouma.awesomeadmin.util.MD5Util;
-import org.activiti.engine.IdentityService;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authc.AuthenticationException;
-import org.apache.shiro.authc.UsernamePasswordToken;
 import org.apache.shiro.authz.annotation.RequiresAuthentication;
 import org.apache.shiro.subject.Subject;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,12 +18,11 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import com.izouma.awesomeadmin.model.UserInfo;
-import com.izouma.awesomeadmin.service.UserInfoService;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * user_info controller类
@@ -49,8 +35,6 @@ public class UserInfoController {
 
     @Autowired
     private UserInfoService userInfoService;
-    @Autowired
-    private DepartInfoService departInfoService;
 
     /**
      * <p>获取全部记录。</p>
@@ -101,7 +85,7 @@ public class UserInfoController {
     @ResponseBody
     public Result getOne(UserInfo record) {
 
-        UserInfo data = userInfoService.getUserInfo(record);
+        UserInfo data = userInfoService.getSingleUserInfo(record);
         return new Result(true, data);
     }
 
@@ -218,7 +202,7 @@ public class UserInfoController {
         UserInfo data = new UserInfo();
         data.setUsername(userInfo.getUsername());
 
-        data = userInfoService.getUserInfo(data);
+        data = userInfoService.getSingleUserInfo(data);
         if (data != null) {
             return new Result(true, "用户名已存在");
         }
@@ -226,7 +210,7 @@ public class UserInfoController {
         UserInfo data2 = new UserInfo();
         data2.setPhone(userInfo.getPhone());
 
-        data2 = userInfoService.getUserInfo(data2);
+        data2 = userInfoService.getSingleUserInfo(data2);
         if (data2 != null) {
             return new Result(true, "手机号已存在");
         }

+ 213 - 84
src/main/vue/package-lock.json

@@ -87,11 +87,15 @@
         "json-schema-traverse": "0.3.1"
       }
     },
+    "ajv-errors": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.0.tgz",
+      "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk="
+    },
     "ajv-keywords": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz",
-      "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=",
-      "dev": true
+      "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74="
     },
     "align-text": {
       "version": "0.1.4",
@@ -150,8 +154,7 @@
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
     },
     "are-we-there-yet": {
       "version": "1.1.5",
@@ -1240,8 +1243,7 @@
     "balanced-match": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-      "dev": true
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
     },
     "base": {
       "version": "0.11.2",
@@ -1329,8 +1331,7 @@
     "bluebird": {
       "version": "3.5.1",
       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
-      "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
-      "dev": true
+      "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
     },
     "bn.js": {
       "version": "4.11.8",
@@ -1388,7 +1389,6 @@
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
       "requires": {
         "balanced-match": "1.0.0",
         "concat-map": "0.0.1"
@@ -1540,8 +1540,7 @@
     "buffer-from": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz",
-      "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==",
-      "dev": true
+      "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA=="
     },
     "buffer-indexof": {
       "version": "1.1.1",
@@ -1768,8 +1767,7 @@
     "chownr": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
-      "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=",
-      "dev": true
+      "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
     },
     "cipher-base": {
       "version": "1.0.4",
@@ -2070,8 +2068,7 @@
     "commondir": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
+      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
     },
     "component-emitter": {
       "version": "1.2.1",
@@ -2103,17 +2100,189 @@
         "vary": "1.1.2"
       }
     },
+    "compression-webpack-plugin": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/compression-webpack-plugin/download/compression-webpack-plugin-2.0.0.tgz",
+      "integrity": "sha1-RkdjUMHrJ/eD3Mx5rC9wm6os/7w=",
+      "requires": {
+        "cacache": "11.2.0",
+        "find-cache-dir": "2.0.0",
+        "neo-async": "2.5.1",
+        "schema-utils": "1.0.0",
+        "serialize-javascript": "1.4.0",
+        "webpack-sources": "1.1.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.5.3",
+          "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-6.5.3.tgz",
+          "integrity": "sha1-caVp0Yns9PTzISJP7LFm8HHdkPk=",
+          "requires": {
+            "fast-deep-equal": "2.0.1",
+            "fast-json-stable-stringify": "2.0.0",
+            "json-schema-traverse": "0.4.1",
+            "uri-js": "4.2.2"
+          }
+        },
+        "cacache": {
+          "version": "11.2.0",
+          "resolved": "http://registry.npm.taobao.org/cacache/download/cacache-11.2.0.tgz",
+          "integrity": "sha1-YXvcCwKESvVjEOQRwIeJQdVzmWU=",
+          "requires": {
+            "bluebird": "3.5.1",
+            "chownr": "1.0.1",
+            "figgy-pudding": "3.5.1",
+            "glob": "7.1.2",
+            "graceful-fs": "4.1.11",
+            "lru-cache": "4.1.3",
+            "mississippi": "3.0.0",
+            "mkdirp": "0.5.1",
+            "move-concurrently": "1.0.1",
+            "promise-inflight": "1.0.1",
+            "rimraf": "2.6.2",
+            "ssri": "6.0.1",
+            "unique-filename": "1.1.0",
+            "y18n": "4.0.0"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "2.0.1",
+          "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz",
+          "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+        },
+        "find-cache-dir": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.0.0.tgz",
+          "integrity": "sha1-TB+u1Z9FGEUw+51/oSOk0EqYRy0=",
+          "requires": {
+            "commondir": "1.0.1",
+            "make-dir": "1.2.0",
+            "pkg-dir": "3.0.0"
+          }
+        },
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
+          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+          "requires": {
+            "locate-path": "3.0.0"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "0.4.1",
+          "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+          "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
+        },
+        "locate-path": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
+          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
+          "requires": {
+            "p-locate": "3.0.0",
+            "path-exists": "3.0.0"
+          }
+        },
+        "lru-cache": {
+          "version": "4.1.3",
+          "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.3.tgz",
+          "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=",
+          "requires": {
+            "pseudomap": "1.0.2",
+            "yallist": "2.1.2"
+          }
+        },
+        "mississippi": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz",
+          "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=",
+          "requires": {
+            "concat-stream": "1.6.2",
+            "duplexify": "3.5.4",
+            "end-of-stream": "1.4.1",
+            "flush-write-stream": "1.0.3",
+            "from2": "2.3.0",
+            "parallel-transform": "1.1.0",
+            "pump": "3.0.0",
+            "pumpify": "1.4.0",
+            "stream-each": "1.2.2",
+            "through2": "2.0.3"
+          }
+        },
+        "p-limit": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/p-limit/download/p-limit-2.0.0.tgz",
+          "integrity": "sha1-5iTtVO6MRgp3izyfNnBJb/ileuw=",
+          "requires": {
+            "p-try": "2.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
+          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+          "requires": {
+            "p-limit": "2.0.0"
+          }
+        },
+        "p-try": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/p-try/download/p-try-2.0.0.tgz",
+          "integrity": "sha1-hQgLuHxkaI+keZb+j3376CEXYLE="
+        },
+        "pkg-dir": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz",
+          "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
+          "requires": {
+            "find-up": "3.0.0"
+          }
+        },
+        "pump": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
+          "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
+          "requires": {
+            "end-of-stream": "1.4.1",
+            "once": "1.4.0"
+          }
+        },
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
+          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+          "requires": {
+            "ajv": "6.5.3",
+            "ajv-errors": "1.0.0",
+            "ajv-keywords": "3.1.0"
+          }
+        },
+        "ssri": {
+          "version": "6.0.1",
+          "resolved": "http://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz",
+          "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=",
+          "requires": {
+            "figgy-pudding": "3.5.1"
+          }
+        },
+        "uri-js": {
+          "version": "4.2.2",
+          "resolved": "http://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz",
+          "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
+          "requires": {
+            "punycode": "2.1.0"
+          }
+        }
+      }
+    },
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
     },
     "concat-stream": {
       "version": "1.6.2",
       "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
       "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
       "requires": {
         "buffer-from": "1.0.0",
         "inherits": "2.0.3",
@@ -2191,7 +2360,6 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
       "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
       "requires": {
         "aproba": "1.2.0",
         "fs-write-stream-atomic": "1.0.10",
@@ -2623,8 +2791,7 @@
     "cyclist": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
-      "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
-      "dev": true
+      "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA="
     },
     "d": {
       "version": "1.0.0",
@@ -2925,7 +3092,6 @@
       "version": "3.5.4",
       "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz",
       "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
-      "dev": true,
       "requires": {
         "end-of-stream": "1.4.1",
         "inherits": "2.0.3",
@@ -3011,7 +3177,6 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
       "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
-      "dev": true,
       "requires": {
         "once": "1.4.0"
       }
@@ -3549,6 +3714,11 @@
         "websocket-driver": "0.7.0"
       }
     },
+    "figgy-pudding": {
+      "version": "3.5.1",
+      "resolved": "http://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz",
+      "integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A="
+    },
     "file-loader": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
@@ -3663,7 +3833,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
       "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "readable-stream": "2.3.5"
@@ -3785,7 +3954,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
       "requires": {
         "inherits": "2.0.3",
         "readable-stream": "2.3.5"
@@ -3795,7 +3963,6 @@
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
       "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
       "requires": {
         "graceful-fs": "4.1.11",
         "iferr": "0.1.5",
@@ -3806,8 +3973,7 @@
     "fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
     },
     "fsevents": {
       "version": "1.2.4",
@@ -4430,7 +4596,6 @@
       "version": "7.1.2",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
       "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
-      "dev": true,
       "requires": {
         "fs.realpath": "1.0.0",
         "inflight": "1.0.6",
@@ -5005,8 +5170,7 @@
     "iferr": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
     },
     "ignore": {
       "version": "3.3.7",
@@ -5033,8 +5197,7 @@
     "imurmurhash": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
     },
     "in-publish": {
       "version": "2.0.0",
@@ -5067,7 +5230,6 @@
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
       "requires": {
         "once": "1.4.0",
         "wrappy": "1.0.2"
@@ -5076,8 +5238,7 @@
     "inherits": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
     },
     "interactjs": {
       "version": "1.3.4",
@@ -5417,8 +5578,7 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
     },
     "isexe": {
       "version": "2.0.0",
@@ -5744,7 +5904,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz",
       "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==",
-      "dev": true,
       "requires": {
         "pify": "3.0.0"
       }
@@ -6007,7 +6166,6 @@
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
       "requires": {
         "brace-expansion": "1.1.11"
       }
@@ -6089,7 +6247,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
       "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
       "requires": {
         "aproba": "1.2.0",
         "copy-concurrently": "1.0.5",
@@ -6558,7 +6715,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
       "requires": {
         "wrappy": "1.0.2"
       }
@@ -6715,7 +6871,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
       "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
-      "dev": true,
       "requires": {
         "cyclist": "0.2.2",
         "inherits": "2.0.3",
@@ -6809,14 +6964,12 @@
     "path-exists": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
     },
     "path-is-absolute": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
     },
     "path-is-inside": {
       "version": "1.0.2",
@@ -8974,8 +9127,7 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
-      "dev": true
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
     },
     "promise": {
       "version": "7.3.1",
@@ -8989,8 +9141,7 @@
     "promise-inflight": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
     },
     "proxy-addr": {
       "version": "2.0.3",
@@ -9010,8 +9161,7 @@
     "pseudomap": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
     },
     "public-encrypt": {
       "version": "4.0.2",
@@ -9030,7 +9180,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
       "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dev": true,
       "requires": {
         "end-of-stream": "1.4.1",
         "once": "1.4.0"
@@ -9040,7 +9189,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz",
       "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
-      "dev": true,
       "requires": {
         "duplexify": "3.5.4",
         "inherits": "2.0.3",
@@ -9050,8 +9198,7 @@
     "punycode": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
-      "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
-      "dev": true
+      "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0="
     },
     "q": {
       "version": "1.5.1",
@@ -9235,7 +9382,6 @@
       "version": "2.3.5",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
       "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
-      "dev": true,
       "requires": {
         "core-util-is": "1.0.2",
         "inherits": "2.0.3",
@@ -9557,7 +9703,6 @@
       "version": "2.6.2",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
       "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
-      "dev": true,
       "requires": {
         "glob": "7.1.2"
       }
@@ -9576,7 +9721,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
       "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
       "requires": {
         "aproba": "1.2.0"
       }
@@ -9873,8 +10017,7 @@
     "serialize-javascript": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz",
-      "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=",
-      "dev": true
+      "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU="
     },
     "serve-index": {
       "version": "1.9.1",
@@ -10198,8 +10341,7 @@
     "source-list-map": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
-      "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
-      "dev": true
+      "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A=="
     },
     "source-map": {
       "version": "0.6.1",
@@ -10456,7 +10598,6 @@
       "version": "1.2.2",
       "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz",
       "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==",
-      "dev": true,
       "requires": {
         "end-of-stream": "1.4.1",
         "stream-shift": "1.0.0"
@@ -10504,8 +10645,7 @@
     "stream-shift": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
-      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
-      "dev": true
+      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
     },
     "strict-uri-encode": {
       "version": "1.1.0",
@@ -10550,7 +10690,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
       "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
-      "dev": true,
       "requires": {
         "safe-buffer": "5.1.1"
       }
@@ -10635,7 +10774,6 @@
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
       "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
-      "dev": true,
       "requires": {
         "readable-stream": "2.3.5",
         "xtend": "4.0.1"
@@ -10791,8 +10929,7 @@
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
     },
     "uglify-js": {
       "version": "3.3.18",
@@ -10948,7 +11085,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz",
       "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=",
-      "dev": true,
       "requires": {
         "unique-slug": "2.0.0"
       }
@@ -10957,7 +11093,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz",
       "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=",
-      "dev": true,
       "requires": {
         "imurmurhash": "0.1.4"
       }
@@ -11126,8 +11261,7 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "utila": {
       "version": "0.4.0",
@@ -11687,7 +11821,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
       "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
-      "dev": true,
       "requires": {
         "source-list-map": "2.0.0",
         "source-map": "0.6.1"
@@ -11786,8 +11919,7 @@
     "wrappy": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
     },
     "ws": {
       "version": "4.1.0",
@@ -11802,8 +11934,7 @@
     "xtend": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
-      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
-      "dev": true
+      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
     },
     "xxhashjs": {
       "version": "0.2.2",
@@ -11817,14 +11948,12 @@
     "y18n": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
-      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
-      "dev": true
+      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
     },
     "yallist": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-      "dev": true
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
     },
     "yargs": {
       "version": "8.0.2",

+ 1 - 0
src/main/vue/package.json

@@ -16,6 +16,7 @@
     "axios": "^0.18.0",
     "babel-polyfill": "^6.26.0",
     "chart.js": "^2.7.2",
+    "compression-webpack-plugin": "^2.0.0",
     "date-fns": "^1.29.0",
     "element-ui": "^2.4.1",
     "es6-promise": "^4.2.4",