3 Commits c9d38f84f3 ... 6ba6592e15

Autore SHA1 Messaggio Data
  yonghuifan 6ba6592e15 Merge remote-tracking branch 'origin/master' 1 anno fa
  yonghuifan e0aeb4420e 点击量应用&业务 1 anno fa
  yonghuifan 6e623c33e4 上传文件文件名&类型表码 1 anno fa

+ 15 - 2
src/main/java/com/dragon/tj/portal/component/interceptor/FileInterceptor.java

@@ -1,6 +1,9 @@
 package com.dragon.tj.portal.component.interceptor;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.dragon.tj.portal.entity.SysDictItem;
 import com.dragon.tj.portal.service.FileManageService;
+import com.dragon.tj.portal.service.SysDictItemService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.HandlerInterceptor;
@@ -8,6 +11,8 @@ import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Component
 public class FileInterceptor implements HandlerInterceptor {
@@ -15,13 +20,21 @@ public class FileInterceptor implements HandlerInterceptor {
     @Autowired
     FileManageService fileManageService;
 
+    @Autowired
+    private SysDictItemService sysDictItemService;
+
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 
         String requestURI = request.getRequestURI();
         String ip = request.getRemoteAddr();
-        //写入日志
-        fileManageService.fileLog(requestURI,ip);
+        List<Integer> softwareIdList = sysDictItemService.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getType, "software_type"))
+                .stream().map(s -> s.getId()).collect(Collectors.toList());
+        String[] split = requestURI.split("/");
+        if (split.length > 2 && softwareIdList.contains(Integer.parseInt(split[2]))) {
+            //写入日志
+            fileManageService.fileLog(requestURI, ip);
+        }
 
         return true;
     }

+ 9 - 0
src/main/java/com/dragon/tj/portal/controller/AppController.java

@@ -113,6 +113,15 @@ public class AppController {
         return R.ok(appService.search(appInfoPage));
     }
 
+    /*
+     *   点击量
+     * */
+    @GetMapping("clickIncr/{id}")
+    public R clickIncr(@PathVariable("id") Long id) {
+
+        return R.ok(appService.clickIncr(id));
+    }
+
 
     /*
      *    4. 热门应用统计 定时、实时?

+ 9 - 0
src/main/java/com/dragon/tj/portal/controller/BusinessController.java

@@ -126,6 +126,15 @@ public class BusinessController {
         return R.ok(businessService.search(businessInfoPage));
     }
 
+    /*
+     *   点击量
+     * */
+    @GetMapping("clickIncr/{id}")
+    public R clickIncr(@PathVariable("id") Long id) {
+
+        return R.ok(businessService.clickIncr(id));
+    }
+
 
     /*
      *    4. 热门应用统计 定时、实时?

+ 5 - 0
src/main/java/com/dragon/tj/portal/entity/AppInfo.java

@@ -106,6 +106,11 @@ public class AppInfo implements Serializable {
      */
     private Long star;
 
+    /**
+     * 点击量
+     */
+    private Long hits;
+
     /*
      * 排序
      */

+ 5 - 0
src/main/java/com/dragon/tj/portal/entity/BusinessInfo.java

@@ -95,6 +95,11 @@ public class BusinessInfo {
      */
     private Long star;
 
+    /**
+     * 点击量
+     */
+    private Long hits;
+
     /*
      * 排序
      */

+ 2 - 0
src/main/java/com/dragon/tj/portal/service/AppService.java

@@ -49,4 +49,6 @@ public interface AppService {
     IPage<AppInfo> installApp(PageParam<AppInfo> appInfoPage, LoginUser loginUser);
 
     void updateAppStat();
+
+    int clickIncr(Long id);
 }

+ 2 - 0
src/main/java/com/dragon/tj/portal/service/BusinessService.java

@@ -49,4 +49,6 @@ public interface BusinessService {
     IPage<BusinessInfo> installApp(PageParam<BusinessInfo> businessInfoPage, LoginUser loginUser);
 
     void updateAppStat();
+
+    int clickIncr(Long id);
 }

+ 21 - 9
src/main/java/com/dragon/tj/portal/service/impl/AppServiceImpl.java

@@ -3,6 +3,8 @@ package com.dragon.tj.portal.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dragon.tj.portal.auth.model.LoginUser;
 import com.dragon.tj.portal.common.base.R;
@@ -11,7 +13,6 @@ import com.dragon.tj.portal.mapper.app.AppInfoMapper;
 import com.dragon.tj.portal.mapper.app.InstallInfoMapper;
 import com.dragon.tj.portal.service.AppService;
 import com.dragon.tj.portal.service.SysDictItemService;
-import com.dragon.tj.portal.service.SysDictService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -32,14 +33,14 @@ public class AppServiceImpl implements AppService {
     private InstallInfoMapper installInfoMapper;
 
     @Autowired
-    private SysDictService sysDictService;
+    private SysDictItemService sysDictItemService;
 
 
-    private static List<SysDict> appTypeDict;
+    private static List<SysDictItem> appTypeDict;
 
-    public List<SysDict> getAppTypeDict(){
+    public List<SysDictItem> getAppTypeDict(){
         if (appTypeDict == null || appTypeDict.size() == 0) {
-            appTypeDict = sysDictService.getDict("app_type");
+            appTypeDict = sysDictItemService.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getType, "app_type").orderByAsc(SysDictItem::getSort));
         }
 
         return appTypeDict;
@@ -79,7 +80,7 @@ public class AppServiceImpl implements AppService {
      * */
     @Override
     public R getType() {
-        return R.ok(sysDictService.getDict("app_type"));
+        return R.ok(getAppTypeDict());
     }
 
     /*
@@ -101,7 +102,7 @@ public class AppServiceImpl implements AppService {
         queryWrapper.eq(appInfo.getAppType() != null,AppInfo::getAppType, appInfo.getAppType());
         queryWrapper.eq(appInfo.getDelFlag() != null,AppInfo::getDelFlag, appInfo.getDelFlag());
 
-        queryWrapper.orderByDesc(AppInfo::getStar);
+        rowPage.addOrder(OrderItem.desc(appInfoPage.getOrder()));
 
         return appInfoMapper.selectPage(rowPage, queryWrapper);
     }
@@ -161,8 +162,8 @@ public class AppServiceImpl implements AppService {
         map.put("delFlag", params.getDelFlag());
         Integer appType = params.getAppType();
         if (appType != null){
-            List<SysDict> appTypeList = getAppTypeDict();
-            SysDict  specialToolDict = appTypeList.stream().filter(item -> "专项工具".equals(item.getDescription())).findFirst().get();
+            List<SysDictItem> appTypeList = getAppTypeDict();
+            SysDictItem  specialToolDict = appTypeList.stream().filter(item -> "专项工具".equals(item.getLabel())).findFirst().get();
             map.put("std", specialToolDict.getId());//专项工具
 
             if (appType == specialToolDict.getId()){
@@ -193,4 +194,15 @@ public class AppServiceImpl implements AppService {
 
     }
 
+    @Override
+    public int clickIncr(Long id) {
+        QueryWrapper<AppInfo> wrapper = new QueryWrapper<>();
+        wrapper.eq("id",id);
+        AppInfo appInfo = appInfoMapper.selectOne(wrapper);
+        appInfo.setId(id);
+        appInfo.setHits(appInfo.getHits() + 1);
+
+        return appInfoMapper.updateById(appInfo);
+    }
+
 }

+ 14 - 1
src/main/java/com/dragon/tj/portal/service/impl/BusinessServiceImpl.java

@@ -3,6 +3,7 @@ package com.dragon.tj.portal.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dragon.tj.portal.auth.model.LoginUser;
 import com.dragon.tj.portal.common.base.R;
@@ -120,7 +121,7 @@ public class BusinessServiceImpl implements BusinessService {
                 BusinessInfo::getDelFlag,
                 businessInfo.getDelFlag());
 
-        queryWrapper.orderByDesc(BusinessInfo::getStar);
+        rowPage.addOrder(OrderItem.desc(businessInfoPage.getOrder()));
 
         return businessMapper.selectPage(rowPage, queryWrapper);
     }
@@ -217,4 +218,16 @@ public class BusinessServiceImpl implements BusinessService {
 
     }
 
+    @Override
+    public int clickIncr(Long id) {
+        QueryWrapper<BusinessInfo> wrapper = new QueryWrapper<>();
+        wrapper.eq("id",id);
+        BusinessInfo businessInfo = businessMapper.selectOne(wrapper);
+        businessInfo.setId(id);
+        businessInfo.setHits(businessInfo.getHits() + 1);
+
+        return businessMapper.updateById(businessInfo);
+    }
+
+
 }

+ 2 - 13
src/main/java/com/dragon/tj/portal/service/impl/FileManageServiceImpl.java

@@ -44,16 +44,13 @@ public class FileManageServiceImpl implements FileManageService {
     @Override
     public FileInfo upload(MultipartFile file,Integer type) {
         String originalFilename = file.getOriginalFilename();
-        System.out.println(originalFilename);
-
-        String uuidFilename = UploadUtils.getUUIDName(originalFilename);
 
         File dateDir = new File(localPath + type);
         if (!dateDir.exists()) {
             dateDir.mkdirs();
         }
 
-        File newFile = new File(dateDir.getPath(),uuidFilename);
+        File newFile = new File(dateDir.getPath(),originalFilename);
 
         try {
             file.transferTo(newFile);
@@ -72,15 +69,7 @@ public class FileManageServiceImpl implements FileManageService {
         fileInfo.setContentType(file.getContentType());
         LoginUser loginUser = SecurityUtils.getLoginUser();
         fileInfo.setCreateUser(loginUser.getUsername());
-
-        try {
-            String hostAddress = InetAddress.getLocalHost().getHostAddress();
-            String port = applicationContext.getEnvironment().getProperty("server.port");
-            String url = "http://"+ hostAddress + ":" + port + "/file/" + type + "/" +uuidFilename;
-            fileInfo.setUrl(url);
-        } catch (UnknownHostException e) {
-            e.printStackTrace();
-        }
+        fileInfo.setUrl("/file/" + type + "/" + originalFilename);
 
         //save to db
         fileManageMapper.insert(fileInfo);