dongbw 8 жил өмнө
parent
commit
a5de12962f
55 өөрчлөгдсөн 1292 нэмэгдсэн , 548 устгасан
  1. 36 44
      donate-console/src/main/java/com/uas/console/donate/controller/ActivityController.java
  2. 9 19
      donate-console/src/main/java/com/uas/console/donate/controller/ActivityRecodeController.java
  3. 0 37
      donate-console/src/main/java/com/uas/console/donate/controller/AwardController.java
  4. 5 1
      donate-console/src/main/java/com/uas/console/donate/controller/BaseController.java
  5. 4 1
      donate-console/src/main/java/com/uas/console/donate/controller/CarouselController.java
  6. 8 1
      donate-console/src/main/java/com/uas/console/donate/controller/MessageController.java
  7. 57 44
      donate-console/src/main/java/com/uas/console/donate/controller/OrgController.java
  8. 8 8
      donate-console/src/main/java/com/uas/console/donate/controller/ProjectConcludeController.java
  9. 34 27
      donate-console/src/main/java/com/uas/console/donate/controller/ProjectController.java
  10. 17 9
      donate-console/src/main/java/com/uas/console/donate/controller/ProjectFinanceController.java
  11. 11 5
      donate-console/src/main/java/com/uas/console/donate/controller/ProjectRecodeController.java
  12. 10 4
      donate-console/src/main/java/com/uas/console/donate/controller/ProjectReportController.java
  13. 4 0
      donate-console/src/main/java/com/uas/console/donate/controller/SecurityController.java
  14. 12 0
      donate-console/src/main/java/com/uas/console/donate/controller/UserController.java
  15. 16 0
      donate-console/src/main/java/com/uas/console/donate/dao/UsageLogDao.java
  16. 71 0
      donate-console/src/main/java/com/uas/console/donate/model/UsageBufferedLogger.java
  17. 207 0
      donate-console/src/main/java/com/uas/console/donate/model/UsageLog.java
  18. 0 12
      donate-console/src/main/java/com/uas/console/donate/service/AwardService.java
  19. 24 0
      donate-console/src/main/java/com/uas/console/donate/service/UsageLogService.java
  20. 0 1
      donate-console/src/main/java/com/uas/console/donate/service/impl/ActivityRecodeServiceImpl.java
  21. 1 1
      donate-console/src/main/java/com/uas/console/donate/service/impl/ActivityServiceImpl.java
  22. 0 26
      donate-console/src/main/java/com/uas/console/donate/service/impl/AwardServiceImpl.java
  23. 1 1
      donate-console/src/main/java/com/uas/console/donate/service/impl/OrgServiceImpl.java
  24. 52 0
      donate-console/src/main/java/com/uas/console/donate/service/impl/UsageLogServiceImpl.java
  25. 15 0
      donate-console/src/main/java/com/uas/console/donate/util/DateFormatUtils.java
  26. 10 0
      donate-service/src/main/java/com/uas/service/donate/MessageConfiguration.java
  27. 9 6
      donate-service/src/main/java/com/uas/service/donate/controller/ActiveCenterController.java
  28. 25 9
      donate-service/src/main/java/com/uas/service/donate/controller/ActivityController.java
  29. 19 16
      donate-service/src/main/java/com/uas/service/donate/controller/ActivityRecodeController.java
  30. 0 25
      donate-service/src/main/java/com/uas/service/donate/controller/AwardController.java
  31. 0 1
      donate-service/src/main/java/com/uas/service/donate/controller/IndexController.java
  32. 3 0
      donate-service/src/main/java/com/uas/service/donate/controller/OrgController.java
  33. 8 0
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectConcludeController.java
  34. 75 55
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectController.java
  35. 13 1
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectEvolveController.java
  36. 9 0
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectFinanceController.java
  37. 0 85
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectListController.java
  38. 15 6
      donate-service/src/main/java/com/uas/service/donate/controller/ProjectRecodeController.java
  39. 25 11
      donate-service/src/main/java/com/uas/service/donate/controller/UserController.java
  40. 16 0
      donate-service/src/main/java/com/uas/service/donate/dao/UsageLogDao.java
  41. 71 0
      donate-service/src/main/java/com/uas/service/donate/model/UsageBufferedLogger.java
  42. 207 0
      donate-service/src/main/java/com/uas/service/donate/model/UsageLog.java
  43. 1 4
      donate-service/src/main/java/com/uas/service/donate/service/ActivityRecodeService.java
  44. 0 9
      donate-service/src/main/java/com/uas/service/donate/service/AwardService.java
  45. 24 0
      donate-service/src/main/java/com/uas/service/donate/service/UsageLogService.java
  46. 3 23
      donate-service/src/main/java/com/uas/service/donate/service/impl/ActivityRecodeServiceImpl.java
  47. 20 0
      donate-service/src/main/java/com/uas/service/donate/service/impl/ActivityServiceImpl.java
  48. 0 19
      donate-service/src/main/java/com/uas/service/donate/service/impl/AwardServiceImpl.java
  49. 9 0
      donate-service/src/main/java/com/uas/service/donate/service/impl/MessageServiceImpl.java
  50. 52 0
      donate-service/src/main/java/com/uas/service/donate/service/impl/UsageLogServiceImpl.java
  51. 5 2
      donate-service/src/main/java/com/uas/service/donate/service/impl/UserServiceImpl.java
  52. 1 0
      donate-service/src/main/resources/config/application-dev.properties
  53. 1 0
      donate-service/src/main/resources/config/application-prod.properties
  54. 1 0
      donate-service/src/main/resources/config/application-test.properties
  55. 68 35
      donate-service/src/main/webapp/resources/js/user/controllers/UserCtrl.js

+ 36 - 44
donate-console/src/main/java/com/uas/console/donate/controller/ActivityController.java

@@ -1,14 +1,12 @@
 package com.uas.console.donate.controller;
 
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.*;
-import com.uas.console.donate.service.ActivityRecodeService;
 import com.uas.console.donate.service.ActivityService;
-import com.uas.console.donate.service.AwardService;
 import com.uas.console.donate.util.StringUtils;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
@@ -17,9 +15,6 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
-import org.springframework.data.repository.query.Param;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
@@ -38,27 +33,25 @@ import java.util.List;
 @RequestMapping("/activity")
 public class ActivityController {
 
-    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyymmddhhmmsssss");
+    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyyMMddhhmmsssss");
 
     @Autowired
     private ActivityService activityService;
 
-    @Autowired
-    private AwardService awardService;
-
-    @Autowired
-    private ActivityRecodeService activityRecodeService;
-
     @Autowired
     private FileClient fileClient;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 发起活动,有草稿取出草稿,没有就新建活动表单
      */
     @ResponseBody
     @RequestMapping(value = "/show", method = RequestMethod.GET)
     public Activity show(){
-        return activityService.show();
+        Activity activity = activityService.show();
+        logger.log("活动中心", "获取活动草稿");
+        return activity;
     }
 
     /**
@@ -78,7 +71,9 @@ public class ActivityController {
             String file2=fileClient.upload(banner.getBytes(),banner.getSize(),"jpg",null);
             activity.setBanner(file2);
         }
-        return activityService.save(activity);
+        Activity act = activityService.save(activity);
+        logger.log("活动中心", "保存活动", null, act.getCode(), act.getId());
+        return act;
     }
 
     /**
@@ -98,7 +93,9 @@ public class ActivityController {
             String file2=fileClient.upload(banner.getBytes(),banner.getSize(),"jpg",null);
             activity.setBanner(file2);
         }
-        return activityService.submit(activity);
+        Activity act = activityService.submit(activity);
+        logger.log("活动中心", "发布活动", null, act.getCode(), act.getId());
+        return act;
     }
 
     /**
@@ -119,7 +116,9 @@ public class ActivityController {
     public Page<Activity> findNotStart(@RequestParam(value = "page",defaultValue = "0")Integer page,
                                             @RequestParam(value = "size",defaultValue = "10")Integer size){
         Pageable pageable=pageSort(page,size);
-        return activityService.findNotStart(pageable);
+        Page<Activity> activityPage = activityService.findNotStart(pageable);
+        logger.log("活动中心", "查看还没开始的活动");
+        return activityPage;
     }
 
     /**
@@ -130,7 +129,9 @@ public class ActivityController {
     public Page<Activity> findInProcess(@RequestParam(value = "page",defaultValue = "0")Integer page,
                                             @RequestParam(value = "size",defaultValue = "10")Integer size){
         Pageable pageable=pageSort(page,size);
-        return activityService.findInprocess(pageable);
+        Page<Activity> activityPage = activityService.findInprocess(pageable);
+        logger.log("活动中心", "查看正在进行的活动");
+        return activityPage;
     }
 
     /**
@@ -141,7 +142,9 @@ public class ActivityController {
     public Page<Activity> findEndActivities(@RequestParam(value = "page",defaultValue = "0")Integer page,
                                     @RequestParam(value = "size",defaultValue = "10")Integer size){
         Pageable pageable=pageSort(page,size);
-        return activityService.findEndActivities(pageable);
+        Page<Activity> activityPage = activityService.findEndActivities(pageable);
+        logger.log("活动中心", "查看已结束的活动");
+        return activityPage;
     }
 
 
@@ -158,30 +161,6 @@ public class ActivityController {
         return pageable;
     }
 
-    /**
-     * 展示某具体活动
-     */
-    @ResponseBody
-    @RequestMapping("/detail")
-    public List<Object> findById(Long id){
-        //查询活动信息
-        Activity activity=activityService.findOne(id);
-        //查询活动奖品信息
-        List<Award> awardList=awardService.findByActivityId(id);
-        //查询活动获奖者信息
-        List<ActivityRecode> activityRecodeList=activityRecodeService.whoGetAward(id);
-
-        List<Object> list=new ArrayList<Object>();
-
-        list.add(activity);
-
-        list.add(awardList);
-
-        list.add(activityRecodeList);
-
-        return list;
-    }
-
     /**
      * 获取活动列表 (全部)
      * @return
@@ -191,6 +170,7 @@ public class ActivityController {
     public Page<Activity> getAllActivities(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("活动中心", "查看全部活动列表");
         return activityService.getAllActivities(pageInfo, filter);
     }
 
@@ -203,6 +183,7 @@ public class ActivityController {
     public Page<Activity> getDoneActivities(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("活动中心", "查看正在进行活动列表");
         return activityService.getDoneActivities(pageInfo, filter);
     }
 
@@ -215,6 +196,7 @@ public class ActivityController {
     public Page<Activity> getEndActivities(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("活动中心", "查看已结束活动列表");
         return activityService.getEndActivities(pageInfo, filter);
     }
 
@@ -227,6 +209,7 @@ public class ActivityController {
     public Page<Activity> getTodoActivities(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("活动中心", "查看已结束活动列表");
         return activityService.getTodoActivities(pageInfo, filter);
     }
 
@@ -239,6 +222,7 @@ public class ActivityController {
     public Page<Activity> getWaitingActivities(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("活动中心", "查看活动草稿");
         return activityService.getWaitingActivities(pageInfo, filter);
     }
 
@@ -249,6 +233,7 @@ public class ActivityController {
     @RequestMapping(value="/getActivitiesNum", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getActivitiesNum(){
+        logger.log("活动中心", "获取各类活动数量");
         return activityService.getActivitiesNum();
     }
 
@@ -260,6 +245,7 @@ public class ActivityController {
     @RequestMapping(value = "/detail/{id}", method = RequestMethod.GET)
     @ResponseBody
     public Activity getDetailById(@PathVariable("id") Long id) {
+        logger.log("活动中心", "查看活动详情");
         return activityService.findOne(id);
     }
 
@@ -271,6 +257,7 @@ public class ActivityController {
     @RequestMapping(value = "/openAward/{id}", method = RequestMethod.POST)
     @ResponseBody
     public ModelMap openAward(@PathVariable("id") Long id){
+        logger.log("活动中心", "开奖", "key为活动id", null, id);
         return activityService.openAward(id);
     }
 
@@ -288,6 +275,7 @@ public class ActivityController {
             List<String> temp = Arrays.asList(selectedIds.split(","));
             proIds.addAll(temp);
         }
+        logger.log("活动中心", "发起活动时,获取可选关联项目");
         return activityService.getActivityRelatedProjects(keyword, proIds);
     }
 
@@ -297,7 +285,9 @@ public class ActivityController {
     @RequestMapping(value = "/upload/prizeImg", method = RequestMethod.POST)
     @ResponseBody
     public Attach uploadPrizeImg(MultipartFile file) throws Exception {
-        return activityService.uploadPrizeImg(file);
+        Attach attach = activityService.uploadPrizeImg(file);
+        logger.log("活动中心", "上传奖品图片", attach.getPath(), null, attach.getId());
+        return attach;
     }
 
     /**
@@ -306,6 +296,7 @@ public class ActivityController {
     @RequestMapping(value = "/delete/prizeImg", method = RequestMethod.DELETE)
     @ResponseBody
     public void deletePrizeImg(@RequestParam String path) {
+        logger.log("活动中心", "删除奖品图片", path);
         activityService.deletePrizeImg(path);
     }
 
@@ -318,6 +309,7 @@ public class ActivityController {
         List<String> paths = new ArrayList<>();
         List<String> temp = Arrays.asList(path.split(","));
         paths.addAll(temp);
+        logger.log("活动中心", "删除奖品时批量删除图片");
         activityService.deletePrizeImgByBatch(paths);
     }
 }

+ 9 - 19
donate-console/src/main/java/com/uas/console/donate/controller/ActivityRecodeController.java

@@ -2,9 +2,10 @@ package com.uas.console.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.ActivityRecode;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.ActivityRecodeService;
 import com.uas.console.donate.service.ActivityService;
-import com.uas.console.donate.service.AwardService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -19,12 +20,11 @@ public class ActivityRecodeController {
     @Autowired
     private ActivityRecodeService activityRecodeService;
 
-    @Autowired
-    private AwardService awardService;
-
     @Autowired
     private ActivityService activityService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 保存活动参与人信息
      */
@@ -32,8 +32,9 @@ public class ActivityRecodeController {
     @RequestMapping("/join")
     public ActivityRecode join(String jsonStr) {
         ActivityRecode activityRecode = JSONObject.parseObject(jsonStr, ActivityRecode.class);
-        ActivityRecode activity = activityRecodeService.save(activityRecode);
-        return activity;
+        ActivityRecode recode = activityRecodeService.save(activityRecode);
+        logger.log("活动中心", "参加活动", recode.getActivity().getName(), recode.getActivity().getCode(), recode.getActivityId());
+        return recode;
     }
 
     /**
@@ -42,21 +43,10 @@ public class ActivityRecodeController {
     @ResponseBody
     @RequestMapping("/queryOne")
     public List<ActivityRecode> queryOne(Long uuid) {
+        logger.log("活动中心", "查找用户参加过的活动" + uuid);
         return activityRecodeService.queryOne(uuid);
     }
 
-    /**
-     * 查询某一活动获奖者信息
-     * @param activityId
-     * @return
-     */
-    @ResponseBody
-    @RequestMapping("/whoget")
-    public List<ActivityRecode> whoGetAward(Long activityId) {
-
-        return activityRecodeService.whoGetAward(activityId);
-    }
-
     /**
      * 查询某一活动参与人信息
      * @param activityId
@@ -65,7 +55,7 @@ public class ActivityRecodeController {
     @ResponseBody
     @RequestMapping("/joins")
     public List<ActivityRecode> joins(Long activityId) {
-
+        logger.log("活动中心", "查询某一活动参与人信息", null, null, activityId);
         return activityRecodeService.joins(activityId);
     }
 }

+ 0 - 37
donate-console/src/main/java/com/uas/console/donate/controller/AwardController.java

@@ -1,37 +0,0 @@
-package com.uas.console.donate.controller;
-
-import com.uas.console.donate.model.Award;
-import com.uas.console.donate.service.AwardService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import java.util.List;
-
-@Controller
-@RequestMapping("/award")
-public class AwardController {
-
-    @Autowired
-    private AwardService awardService;
-    /**
-     * 发布奖品
-     */
-    @ResponseBody
-    @RequestMapping("/save")
-    public Award save(Award award){
-        return  awardService.save(award);
-    }
-
-    /**
-     * 展示某一活动的所有奖品
-     */
-    @ResponseBody
-    @RequestMapping("/awards")
-    public List<Award> awardList(Long activityId){
-
-        return awardService.findByActivityId(activityId);
-    }
-
-}

+ 5 - 1
donate-console/src/main/java/com/uas/console/donate/controller/BaseController.java

@@ -1,6 +1,8 @@
 package com.uas.console.donate.controller;
 
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -19,6 +21,8 @@ public class BaseController {
     @Autowired
     private FileClient fileClient;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 上传图片
      */
@@ -27,7 +31,7 @@ public class BaseController {
     public String ueditorUpload(MultipartFile file) throws IOException {
         //上传图片
         String path=fileClient.upload(file.getBytes(),file.getSize(),"jpg",null);
-
+        logger.log("上传", "上传图片", path);
         return path;
 
     }

+ 4 - 1
donate-console/src/main/java/com/uas/console/donate/controller/CarouselController.java

@@ -1,13 +1,14 @@
 package com.uas.console.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.CarouselService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
@@ -18,6 +19,8 @@ public class CarouselController {
     @Autowired
     private CarouselService carouselService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     @ResponseBody
     @RequestMapping("/getAll")
     public List<JSONObject> getCarousels(@RequestParam("useFor") String useFor){

+ 8 - 1
donate-console/src/main/java/com/uas/console/donate/controller/MessageController.java

@@ -2,7 +2,9 @@ package com.uas.console.donate.controller;
 
 import com.uas.console.donate.model.Message;
 import com.uas.console.donate.model.SearchFilter;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.MessageService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
@@ -25,6 +27,8 @@ public class MessageController {
     @Autowired
     private MessageService messageService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 获取所有消息
      * @param pageParams 分页参数
@@ -36,6 +40,7 @@ public class MessageController {
     public Page<Message> getAllMessages(PageParams pageParams, String searchFilter){
         PageInfo pageInfo = new PageInfo(pageParams);
         SearchFilter filter = FlexJsonUtils.fromJson(searchFilter, SearchFilter.class);
+        logger.log("消息中心", "获取所有消息");
         return messageService.getAllMessages(pageInfo, filter);
     }
 
@@ -47,7 +52,9 @@ public class MessageController {
     @ResponseBody
     @RequestMapping(value= "/detail/{id}", method = RequestMethod.GET)
     public Message getDetailById(@PathVariable("id") Long id){
-        return messageService.getDetailById(id);
+        Message message = messageService.getDetailById(id);
+        logger.log("消息中心", "查看消息详情", null, null, message.getId());
+        return message;
     }
 
 

+ 57 - 44
donate-console/src/main/java/com/uas/console/donate/controller/OrgController.java

@@ -2,10 +2,11 @@ package com.uas.console.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.Org;
-import com.uas.console.donate.model.Project;
 import com.uas.console.donate.model.SearchFilter;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.OrgService;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
@@ -21,29 +22,27 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 import java.util.List;
 
 @Controller
 @RequestMapping("/org")
 public class OrgController {
 
-    private final Logger logger= LogManager.getLogger(getClass());
-
-
     @Autowired
     private OrgService orgService;
 
     @Autowired
     private FileClient fileClient;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 发起机构,有草稿取出草稿,没有草稿就新增
      */
     @ResponseBody
     @RequestMapping(value = "/show",method = RequestMethod.GET)
     public Org show(Long uuid){
+        logger.log("机构入驻", "获取机构草稿");
         return orgService.show(uuid);
     }
 
@@ -91,7 +90,9 @@ public class OrgController {
             String file7=fileClient.upload(certify.getBytes(),certify.getSize(),"jpg",null);
             org.setCertify(file7);
         }
-        return orgService.save(org);
+        ModelMap map = orgService.save(org);
+        logger.log("机构入驻", "保存机构申请", null, null, (Long) map.get("id"));
+        return map;
     }
 
     /**
@@ -137,7 +138,9 @@ public class OrgController {
             org.setCertify(file7);
         }
 
-        return orgService.sumbit(org);
+        ModelMap map = orgService.sumbit(org);
+        logger.log("机构入驻", "提交机构申请", null, null, (Long) map.get("id"));
+        return map;
     }
 
     /**
@@ -146,7 +149,9 @@ public class OrgController {
     @ResponseBody
     @RequestMapping(value = "/detail/{id}",method = RequestMethod.GET)
     public Org detail(@PathVariable("id") Long id){
-        return orgService.findOne(id);
+        Org org = orgService.findOne(id);
+        logger.log("机构", "查询某一机构详情信息", org.getName(), org.getCode(), org.getId());
+        return org;
     }
 
     /**
@@ -155,6 +160,7 @@ public class OrgController {
     @ResponseBody
     @RequestMapping(value = "/approve/{id}",method = RequestMethod.POST)
     public ModelMap approve(@PathVariable("id") Long id){
+        logger.log("机构入驻", "批准机构申请", null, null, id);
         return orgService.approve(id);
     }
 
@@ -164,91 +170,97 @@ public class OrgController {
     @ResponseBody
     @RequestMapping(value = "/unapprove/{id}",method = RequestMethod.POST)
     public ModelMap unapprove(@PathVariable("id") Long id,String refuse){
+        logger.log("机构入驻", "驳回机构申请", "理由:" + refuse, null, id);
         return orgService.unapprove(id,refuse);
     }
 
-   /**
-    * 展示特定机构信息
-    * type=0,展示全部type,major=0展示所有major
-    * 默认展示已审核的机构信息
-    */
-     @ResponseBody
-     @RequestMapping(value = "/showOrgs",method = RequestMethod.GET)
-     public List<Org> showOrgs(@RequestParam(defaultValue ="0") Integer type, @RequestParam(defaultValue="0") Integer majorArea, @RequestParam(defaultValue="1")Integer status) {
-         if (type == 0 && majorArea != 0) {
-             return orgService.findByMajorArea(majorArea,status);
-         } else if (type != 0 && majorArea == 0) {
-             return orgService.findByType(type,status);
-         } else if(type!=0 && majorArea!=0 ){
-             return orgService.findByTypeAndMajorArea(type, majorArea,status);
-         }else{
-             return orgService.findByStatus(status);
-         }
-     }
-
-
-    //根据搜索框查询机构信息
-    @ResponseBody
-    @RequestMapping(value = "/search",method = RequestMethod.GET)
-    public List<Org> search(String search){
-         return orgService.search(search);
-    }
+//   /**
+//    * 展示特定机构信息
+//    * type=0,展示全部type,major=0展示所有major
+//    * 默认展示已审核的机构信息
+//    */
+//     @ResponseBody
+//     @RequestMapping(value = "/showOrgs",method = RequestMethod.GET)
+//     public List<Org> showOrgs(@RequestParam(defaultValue ="0") Integer type, @RequestParam(defaultValue="0") Integer majorArea, @RequestParam(defaultValue="1")Integer status) {
+//         if (type == 0 && majorArea != 0) {
+//             return orgService.findByMajorArea(majorArea,status);
+//         } else if (type != 0 && majorArea == 0) {
+//             return orgService.findByType(type,status);
+//         } else if(type!=0 && majorArea!=0 ){
+//             return orgService.findByTypeAndMajorArea(type, majorArea,status);
+//         }else{
+//             return orgService.findByStatus(status);
+//         }
+//     }
 
     /**
-     * 获取项目列表 (全部)
-     * @return
+     * 获取机构列表 (全部)
+     * @param params 分页参数
+     * @param searchFilter 查询条件过滤
+     * @return 机构分页
      */
     @RequestMapping(method = RequestMethod.GET)
     @ResponseBody
     public Page<Org> getAllOrgs(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("机构", "获取全部机构列表");
         return orgService.getAllOrgs(pageInfo, filter);
     }
 
     /**
-     * 获取项目列表 (已审核)
-     * @return
+     * 获取机构列表 (已审核)
+     * @param params 分页参数
+     * @param searchFilter 查询条件过滤
+     * @return 机构分页
      */
     @RequestMapping(params = RequestState.DONE, method = RequestMethod.GET)
     @ResponseBody
     public Page<Org> getAuditedOrgs(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("机构", "获取已审核机构列表");
         return orgService.getAuditedOrgs(pageInfo, filter);
     }
 
     /**
-     * 获取项目列表 (未审核)
-     * @return
+     * 获取机构列表 (未审核)
+     * @param params 分页参数
+     * @param searchFilter 查询条件过滤
+     * @return 机构分页
      */
     @RequestMapping(params = RequestState.TODO, method = RequestMethod.GET)
     @ResponseBody
     public Page<Org> getUnauditedProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("机构", "获取未审核机构列表");
         return orgService.getUnauditedOrgs(pageInfo, filter);
     }
 
     /**
-     * 获取项目列表 (未通过)
-     * @return
+     * 获取机构列表 (未通过)
+     * @param params 分页参数
+     * @param searchFilter 查询条件过滤
+     * @return 机构分页
      */
     @RequestMapping(params = RequestState.REFUSED, method = RequestMethod.GET)
     @ResponseBody
     public Page<Org> getDisagreedProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("机构", "获取未通过机构列表");
         return orgService.getDisagreedOrgs(pageInfo, filter);
     }
 
     /**
      * 获取各类机构数量
-     * @return
+     * @return 各机构数量
      */
     @RequestMapping(value="/getOrgsNum", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getOrgsNum(){
+        logger.log("机构", "获取各类机构数量");
         return orgService.getOrgsNum();
     }
 
@@ -260,6 +272,7 @@ public class OrgController {
     @RequestMapping(value="/delete/{id}", method = RequestMethod.DELETE)
     @ResponseBody
     public ModelMap delete(@PathVariable("id") Long id){
+        logger.log("机构", "删除机构信息(未通过)", null, null, id);
         return orgService.delete(id);
     }
 }

+ 8 - 8
donate-console/src/main/java/com/uas/console/donate/controller/ProjectConcludeController.java

@@ -2,9 +2,10 @@ package com.uas.console.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.ProjectConclude;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.ProjectConcludeService;
-import com.uas.console.donate.util.StringUtils;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -12,10 +13,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
 
 @Controller
 @RequestMapping("/projectconclude")
@@ -27,6 +25,8 @@ public class ProjectConcludeController {
     @Autowired
     private FileClient fileClient;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 提交项目结项
      * @param jsonStr
@@ -35,10 +35,10 @@ public class ProjectConcludeController {
     @ResponseBody
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     public ProjectConclude save(String jsonStr) throws IOException{
-
         ProjectConclude projectConclude= JSONObject.parseObject(jsonStr,ProjectConclude.class);
-
-        return projectConcludeService.save(projectConclude);
+        ProjectConclude conclude = projectConcludeService.save(projectConclude);
+        logger.log("项目结项", "提交结项报告", null, null, conclude.getId());
+        return conclude;
     }
 
     /**
@@ -49,7 +49,7 @@ public class ProjectConcludeController {
     public String ueditorUpload(MultipartFile file) throws IOException {
         //上传图片
         String path=fileClient.upload(file.getBytes(),file.getSize(),"jpg",null);
-
+        logger.log("项目结项", "上传结项相关图片", path);
         return path;
 
     }

+ 34 - 27
donate-console/src/main/java/com/uas/console/donate/controller/ProjectController.java

@@ -6,6 +6,7 @@ import com.uas.console.donate.service.AttachService;
 import com.uas.console.donate.service.ProjectRecodeService;
 import com.uas.console.donate.service.ProjectService;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
@@ -20,13 +21,14 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.List;
 
 @Controller
 @RequestMapping("/project")
 public class ProjectController {
 
-    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyymmddhhmmsssss");
+    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyyMMddhhmmsssss");
 
     @Autowired
     private ProjectService projectService ;
@@ -40,6 +42,8 @@ public class ProjectController {
     @Autowired
     private AttachService attachService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
 
     /**
      * 审核通过项目
@@ -47,6 +51,7 @@ public class ProjectController {
     @RequestMapping(value = "/approve",method = RequestMethod.POST)
     @ResponseBody
     public ModelMap approve(Long id){
+        logger.log("项目", "审核通过项目", null, null, id);
         return projectService.approve(id);
     }
 
@@ -56,6 +61,7 @@ public class ProjectController {
     @RequestMapping(value = "/unapprove",method = RequestMethod.POST)
     @ResponseBody
     public ModelMap unapprove(Long id,String refuse){
+        logger.log("项目", "审核驳回项目", "原因:" + refuse, null, id);
         return projectService.unapprove(id,refuse);
     }
 
@@ -65,6 +71,7 @@ public class ProjectController {
     @RequestMapping(value = "/reapply", method = RequestMethod.POST)
     @ResponseBody
     public ModelMap reapply(Long id){
+        logger.log("项目", "重新申请项目", null, null, id);
         return projectService.reapply(id);
     }
 
@@ -74,19 +81,10 @@ public class ProjectController {
     @RequestMapping(value = "/getProjectQualification",method = RequestMethod.GET)
     @ResponseBody
     public List<Project> getProjectQualification(){
+        logger.log("项目", "获取所有未被活动关联到的项目");
         return projectService.getProjects();
     }
 
-
-    /**
-     * 判断项目中有没有草稿,有,展示到项目填写表单,没有,就新建表单
-     */
-    @ResponseBody
-    @RequestMapping("/show")
-    public Project show(){
-        return projectService.show();
-    }
-
     /**
      * 保存项目草稿
      */
@@ -115,7 +113,9 @@ public class ProjectController {
             String file4=fileClient.upload(mobileListImg.getBytes(),mobileListImg.getSize(),"jpg",null);
             project.setListImg(file4);
         }
-        return projectService.save(project);
+        Project pro = projectService.save(project);
+        logger.log("项目", "保存项目", null, pro.getCode(), pro.getId());
+        return pro;
     }
 
     /**
@@ -126,7 +126,7 @@ public class ProjectController {
     public String ueditorUpload(MultipartFile file) throws IOException {
         //上传图片
         String path=fileClient.upload(file.getBytes(),file.getSize(),"jpg",null);
-
+        logger.log("项目", "上传项目相关图片", path);
         return path;
 
     }
@@ -168,7 +168,9 @@ public class ProjectController {
         //设置默认项目已筹集总金额
         project.setTotalAmount(0.00);
 
-        return projectService.submit(project);
+        Project pro = projectService.submit(project);
+        logger.log("项目", "提交项目", null, pro.getCode(), pro.getId());
+        return pro;
     }
 
 //    /**
@@ -194,17 +196,6 @@ public class ProjectController {
 //        return list;
 //    }
 
-    /**
-     *项目列表搜索框查询
-     * @param search
-     * @return
-     */
-    @ResponseBody
-    @RequestMapping(value = "/search",method = RequestMethod.GET)
-    public List<Project> search(String search){
-        return projectService.search(search);
-    }
-
     /**
      * 获取项目列表 (全部)
      * @return
@@ -214,6 +205,7 @@ public class ProjectController {
     public Page<Project> getAllProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取项目列表(全部)");
         return projectService.getAllProjects(pageInfo, filter);
     }
 
@@ -226,6 +218,7 @@ public class ProjectController {
     public Page<Project> getAuditedProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取项目列表(已审核)");
         return projectService.getAuditedProjects(pageInfo, filter);
     }
 
@@ -238,6 +231,7 @@ public class ProjectController {
     public Page<Project> getUnauditedProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取项目列表(未审核)");
         return projectService.getUnauditedProjects(pageInfo, filter);
     }
 
@@ -250,6 +244,7 @@ public class ProjectController {
     public Page<Project> getDisagreedProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取项目列表(未通过)");
         return projectService.getDisagreedProjects(pageInfo, filter);
     }
 
@@ -262,6 +257,7 @@ public class ProjectController {
     public Page<Project> getNotEndProjects(PageParams params, String searchFilter){
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取项目列表(未结项)");
         return projectService.getNotEndProjects(pageInfo, filter);
     }
 
@@ -273,6 +269,7 @@ public class ProjectController {
     @RequestMapping(value = "/detail/{id}", method = RequestMethod.GET)
     @ResponseBody
     public Project getProjectDetail(@PathVariable("id") Long id) {
+        logger.log("项目", "获取项目详情", null, null, id);
         return projectService.findOne(id);
     }
 
@@ -286,7 +283,9 @@ public class ProjectController {
     @ResponseBody
     public Project saveBaseInfo(@RequestBody String json) {
         Project project = JSONObject.parseObject(json, Project.class);
-        return projectService.saveBaseInfo(project);
+        Project pro = projectService.saveBaseInfo(project);
+        logger.log("项目", "保存项目基本信息", null, null, pro.getId());
+        return pro;
     }
 
     /**
@@ -305,6 +304,7 @@ public class ProjectController {
                 finance.setPath(path);
             }
         }
+        logger.log("项目", "保存财务信息", null, null, id);
         return projectService.saveFinance(finance, id);
     }
 
@@ -324,6 +324,7 @@ public class ProjectController {
                 report.setPath(path);
             }
         }
+        logger.log("项目", "保存进度报告", null, null, id);
         return projectService.saveReport(report, id);
     }
 
@@ -338,6 +339,7 @@ public class ProjectController {
         ModelMap map = new ModelMap();
         map.put("executeDays", projectService.getExecuteDaysById(id));
         map.put("updateTimes", projectService.getUpdateTimesById(id));
+        logger.log("项目", "获取项目执行日期和更新次数");
         return map;
     }
 
@@ -356,6 +358,7 @@ public class ProjectController {
                 conclude.setPath(path);
             }
         }
+        logger.log("项目", "保存结项报告", null, null, id);
         return projectService.saveConclude(conclude, id);
     }
 
@@ -366,6 +369,7 @@ public class ProjectController {
     @RequestMapping(value = "/getSavedProject", method = RequestMethod.GET)
     @ResponseBody
     public Project getSavedProject() {
+        logger.log("项目", "获取已保存草稿");
         return projectService.getSavedProject();
     }
 
@@ -376,6 +380,7 @@ public class ProjectController {
     @RequestMapping(value="/getProjectsNum", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getProjectsNum(){
+        logger.log("项目", "获取各类项目数量");
         return projectService.getProjectsNum();
     }
 
@@ -387,7 +392,9 @@ public class ProjectController {
     public void deletePrizeImg(@RequestParam String path) {
         try {
             fileClient.delete(path);
+            logger.log("项目", "编辑器删除图片成功");
         } catch (RuntimeException e) {
+            logger.log("项目", "编辑器删除图片失败", path);
             e.printStackTrace();
         }
     }

+ 17 - 9
donate-console/src/main/java/com/uas/console/donate/controller/ProjectFinanceController.java

@@ -2,10 +2,11 @@ package com.uas.console.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.ProjectFinance;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.FileService;
 import com.uas.console.donate.service.ProjectFinanceService;
-import com.uas.console.donate.util.StringUtils;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -14,16 +15,11 @@ 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.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.multipart.MultipartRequest;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 @Controller
 @RequestMapping("/projectFinance")
@@ -38,23 +34,34 @@ public class ProjectFinanceController {
     @Autowired
     private FileClient fileClient;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
+    /**
+     * 保存项目财务报告
+     * @param url  附件
+     * @param jsonStr  内容
+     * @return 财务报告
+     * @throws IOException
+     */
     @ResponseBody
     @RequestMapping("/save")
-    public ProjectFinance save(MultipartFile url,String jsonStr, HttpServletRequest request, HttpServletResponse response)throws IOException{
+    public ProjectFinance save(MultipartFile url,String jsonStr)throws IOException{
         ProjectFinance projectFinance= JSONObject.parseObject(jsonStr,ProjectFinance.class);
         String path = fileClient.upload(url.getBytes(), url.getSize(), "jpg", null);
         projectFinance.setPath(path);
+        logger.log("项目", "保存项目财务报告");
         return projectFinanceService.save(projectFinance);
     }
 
     /**
      * 展示某项目的所有财务信息
-     * @param proId
-     * @return
+     * @param proId 项目id
+     * @return 财务报告list
      */
     @ResponseBody
     @RequestMapping("/showFinance")
     public List<ProjectFinance> show(Long proId){
+        logger.log("项目", "查看项目财务报告");
         return projectFinanceService.findByProId(proId);
     }
 
@@ -79,6 +86,7 @@ public class ProjectFinanceController {
         // 项目支出
         Double projectCost = projectFinanceService.getProjectCostByProId(proId);
         map.put("projectCost", projectCost);
+        logger.log("项目", "获取单个项目的项目财务报告", null, null, proId);
         return map;
     }
 

+ 11 - 5
donate-console/src/main/java/com/uas/console/donate/controller/ProjectRecodeController.java

@@ -3,7 +3,9 @@ package com.uas.console.donate.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.ProjectRecode;
 import com.uas.console.donate.model.SearchFilter;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.ProjectRecodeService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,26 +24,30 @@ public class ProjectRecodeController {
     @Autowired
     private ProjectRecodeService projectRecodeService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 查询所有捐款记录
      */
     @RequestMapping(value="/getRecords/{proId}", method = RequestMethod.GET)
     public List<ProjectRecode> getRecords(@PathVariable("proId")Long proId) {
+        logger.log("项目", "查询所有捐款记录", null, null, proId);
         return projectRecodeService.findProjectDetail(proId);
     }
 
     /**
-     * 查询捐款记录
+     * 分页查询捐款记录
+     * @param params  分页参数
+     * @param searchFilter 查询filter
+     * @return 项目捐款记录page
      */
     @RequestMapping(value="/getRecordsPage", method = RequestMethod.GET)
     public Page<ProjectRecode> getRecordsPage(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
         Long proId = Long.valueOf(filter.getType());
-        if (null != proId) {
-            return projectRecodeService.getRecordsPage(proId, pageInfo, filter);
-        }
-        return null;
+        logger.log("项目", "查询捐款记录", null, null, proId);
+        return projectRecodeService.getRecordsPage(proId, pageInfo, filter);
     }
 
 }

+ 10 - 4
donate-console/src/main/java/com/uas/console/donate/controller/ProjectReportController.java

@@ -2,10 +2,11 @@ package com.uas.console.donate.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
-import com.uas.console.donate.model.ProjectEvolve;
 import com.uas.console.donate.model.ProjectReport;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.service.ProjectReportService;
 import com.uas.dfs.service.FileClient;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -25,6 +26,8 @@ public class ProjectReportController {
     @Autowired
     private FileClient fileClient;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 提交进度结项
      * @param jsonStr
@@ -33,10 +36,11 @@ public class ProjectReportController {
     @ResponseBody
     @RequestMapping(value = "/save",method = RequestMethod.POST)
     public ProjectReport save(String jsonStr){
-
         ProjectReport projectReport= JSONObject.parseObject(jsonStr,ProjectReport.class);
 
-        return projectReportService.save(projectReport);
+        ProjectReport report = projectReportService.save(projectReport);
+        logger.log("项目", "提交进度结项", null, null, report.getId());
+        return report;
     }
 
     /**
@@ -47,7 +51,7 @@ public class ProjectReportController {
     public String ueditorUpload(@RequestParam(required = false) MultipartFile file) throws IOException {
         //上传图片
         String path=fileClient.upload(file.getBytes(),file.getSize(),"jpg",null);
-
+        logger.log("项目", "上传进度报告图片");
         return path;
 
     }
@@ -62,6 +66,7 @@ public class ProjectReportController {
     public ModelMap deleteById(@PathVariable("id") Long id){
         try {
             projectReportService.deleteById(id);
+            logger.log("项目", "根据进展报告id删除某一条项目进展", null, null, id);
         } catch (Exception e) {
             return new ModelMap("error", true);
         }
@@ -77,6 +82,7 @@ public class ProjectReportController {
     @RequestMapping(value = "/getSchedules/{proId}", method = RequestMethod.GET)
     public List<ProjectReport> findAll(@PathVariable("proId")Long proId){
         List<ProjectReport> list = projectReportService.findByProId(proId);
+        logger.log("项目", "根据项目id查找项目所有进度", null, null, proId);
         return projectReportService.findByProId(proId);
     }
 

+ 4 - 0
donate-console/src/main/java/com/uas/console/donate/controller/SecurityController.java

@@ -2,10 +2,12 @@ package com.uas.console.donate.controller;
 
 import com.uas.account.entity.UserView;
 import com.uas.console.donate.core.support.SystemSession;
+import com.uas.console.donate.model.UsageBufferedLogger;
 import com.uas.console.donate.model.User;
 import com.uas.console.donate.service.UserService;
 import com.uas.console.donate.util.FastjsonUtils;
 import com.uas.console.donate.web.CommonController;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.sso.AuthToken;
 import com.uas.sso.SSOConfig;
 import com.uas.sso.SSOHelper;
@@ -33,6 +35,8 @@ public class SecurityController extends CommonController {
     @Autowired
     private UserService userService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 账户信息、SSO配置
      *

+ 12 - 0
donate-console/src/main/java/com/uas/console/donate/controller/UserController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.uas.console.donate.model.*;
 import com.uas.console.donate.service.UserService;
 import com.uas.console.donate.web.CommonController;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
@@ -32,6 +33,8 @@ public class UserController extends CommonController {
     @Autowired
     private UserService userService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 获取所以用户信息
      * @return 用户list
@@ -39,6 +42,7 @@ public class UserController extends CommonController {
     @ResponseBody
     @RequestMapping("/getUsers")
     public List<User> getUsers() {
+        logger.log("用户", "获取所有用户信息");
         return userService.findAll();
     }
 
@@ -50,6 +54,7 @@ public class UserController extends CommonController {
     @ResponseBody
     @RequestMapping(value = "/detail/{userUU}", method = RequestMethod.GET)
     public User getDetailByUserUU(@PathVariable("userUU") Long userUU) {
+        logger.log("用户", "获取单个用户信息:" + userUU);
         return userService.findOne(userUU);
     }
 
@@ -64,6 +69,7 @@ public class UserController extends CommonController {
     public Page<User> getAllUsers(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取用户列表(全部)");
         return userService.getAllUsers(pageInfo, filter);
     }
 
@@ -78,6 +84,7 @@ public class UserController extends CommonController {
     public Page<User> getAdmins(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取用户列表(管理员)");
         return userService.getAdmins(pageInfo, filter);
     }
 
@@ -92,6 +99,7 @@ public class UserController extends CommonController {
     public Page<User> getOrgUsers(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取用户列表(机构用户)");
         return userService.getOrgUsers(pageInfo, filter);
     }
 
@@ -106,6 +114,7 @@ public class UserController extends CommonController {
     public Page<User> getOrgOperators(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取用户列表(机构操作员)");
         return userService.getOrgOperators(pageInfo, filter);
     }
 
@@ -116,6 +125,7 @@ public class UserController extends CommonController {
     @RequestMapping(value = "/getUserNum", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getUserNum() {
+        logger.log("项目", "获取各类用户数量");
         return userService.getUserNum();
     }
 
@@ -130,6 +140,7 @@ public class UserController extends CommonController {
     public Page<ProjectRecode> getJoinedProjectRecords(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取已参与项目");
         return userService.getJoinedProjectRecords(pageInfo, filter);
     }
 
@@ -144,6 +155,7 @@ public class UserController extends CommonController {
     public Page<ActivityRecode> getJoinedActivityRecords(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        logger.log("项目", "获取已参与活动");
         return userService.getJoinedActivityRecords(pageInfo, filter);
     }
 

+ 16 - 0
donate-console/src/main/java/com/uas/console/donate/dao/UsageLogDao.java

@@ -0,0 +1,16 @@
+package com.uas.console.donate.dao;
+
+import com.uas.console.donate.model.UsageLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 使用日志
+ * dongbw 2018年1月3日 15:33:53
+ */
+
+@Repository
+public interface UsageLogDao extends JpaSpecificationExecutor<UsageLog>, JpaRepository<UsageLog, Long> {
+
+}

+ 71 - 0
donate-console/src/main/java/com/uas/console/donate/model/UsageBufferedLogger.java

@@ -0,0 +1,71 @@
+package com.uas.console.donate.model;
+
+import com.uas.console.donate.service.UsageLogService;
+import com.uas.console.donate.util.ContextUtils;
+import com.uas.console.donate.util.PathUtils;
+import com.uas.platform.core.logging.BufferedLogger;
+
+/**
+ * 异步日志记录的工具
+ *
+ * @author yingp
+ * dongbw 2018年1月3日 11:40:16 引入
+ *
+ */
+public class UsageBufferedLogger extends BufferedLogger<UsageLog> {
+
+	public UsageBufferedLogger() {
+		super(PathUtils.getFilePath(), UsageLog.class, ContextUtils
+				.getBean(UsageLogService.class));
+	}
+
+	/**
+	 * 记录使用日志
+	 *
+	 * @param title
+	 *            消息标题
+	 * @param message
+	 *            消息
+	 * @param userUU
+	 *  		  用户uu
+	 */
+	public void log(String title, String message) {
+		log(new UsageLog(title, message, null, null));
+	}
+
+	/**
+	 * 记录使用日志
+	 *
+	 * @param title
+	 *            消息标题
+	 * @param message
+	 *            消息
+	 * @param description
+	 *            消息详细描述
+	 * @param userUU
+	 * 			  用户uu
+	 */
+	public void log(String title, String message, String description) {
+		log(new UsageLog(title, message, description, null, null));
+	}
+
+	/**
+	 * 记录具体单据操作日志
+	 *
+	 * @param title
+	 *            消息标题
+	 * @param message
+	 *            消息
+	 * @param description
+	 *            消息详细描述
+	 * @param relativeCode
+	 *            相关单据号
+	 * @param relativeKey
+	 *            相关单据主键
+	 */
+	public void log(String title, String message, String description,
+			String relativeCode, Long relativeKey) {
+		log(new UsageLog(title, message, description, relativeCode, relativeKey));
+	}
+
+}

+ 207 - 0
donate-console/src/main/java/com/uas/console/donate/model/UsageLog.java

@@ -0,0 +1,207 @@
+package com.uas.console.donate.model;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.uas.platform.core.logging.BufferedLogable;
+import com.uas.service.donate.core.support.SystemSession;
+import org.springframework.util.StringUtils;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * 使用日志
+ *
+ * @author yingp
+ * dongbw 2018年1月3日 15:34:11 引入
+ */
+@Entity
+@Table(name = "log$usage")
+public class UsageLog extends BufferedLogable {
+
+	/**
+	 * id
+	 */
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "log_id")
+	private Long id;
+
+	/**
+	 * 操作用户uu
+	 */
+	@NotNull
+	@Column(name = "log_useruu")
+	private Long userUU;
+
+	/**
+	 * 操作用户
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "log_useruu", insertable = false, updatable = false)
+	private User user;
+
+	/**
+	 * 日志时间
+	 */
+	@Column(name = "log_time")
+	private Date time;
+
+	/**
+	 * 日志标题
+	 */
+	@Column(name = "log_title")
+	private String title;
+
+	/**
+	 * 内容
+	 */
+	@Column(name = "log_message")
+	private String message;
+
+	/**
+	 * 详细内容
+	 */
+	@Column(name = "log_detail", length = 1000)
+	private String detail;
+
+	/**
+	 * 相关单据号
+	 */
+	@Column(name = "rel_code")
+	private String code;
+
+	/**
+	 * 相关单据主键
+	 */
+	@Column(name = "rel_key")
+	private Long key;
+
+	@JsonIgnore
+	@JSONField(serialize = false)
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getUserUU() {
+		return userUU;
+	}
+
+	public void setUserUU(Long userUU) {
+		this.userUU = userUU;
+	}
+
+	public User getUser() {
+		return user;
+	}
+
+	public void setUser(User user) {
+		this.user = user;
+	}
+
+	public Date getTime() {
+		return time;
+	}
+
+	public void setTime(Date time) {
+		this.time = time;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	public String getDetail() {
+		return detail;
+	}
+
+	public void setDetail(String detail) {
+		this.detail = detail;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Long getKey() {
+		return key;
+	}
+
+	public void setKey(Long key) {
+		this.key = key;
+	}
+
+	public UsageLog() {
+
+	}
+
+	public UsageLog(String title, String message, String detail, String code, Long key) {
+		this.title = title;
+		this.message = message;
+		this.detail = detail;
+		this.code = code;
+		this.key = key;
+		this.time = new Date();
+		this.userUU = null != SystemSession.getUser() ? SystemSession.getUser().getUserUU() : null;
+	}
+
+	public UsageLog(String title, String message, String code, Long key) {
+		this.title = title;
+		this.message = message;
+		this.code = code;
+		this.key = key;
+		this.time = new Date();
+		this.userUU = null != SystemSession.getUser() ? SystemSession.getUser().getUserUU() : null;
+	}
+
+	public void bufferedLog(String bufferedMessage) {
+		String[] strArray = bufferedMessage.split(separator);
+		if (strArray.length == 7) {
+			Date date = new Date();
+			date.setTime(Long.parseLong(strArray[0]));
+			this.time = date;
+			this.userUU = Long.parseLong(strArray[1]);
+			this.title = strArray[2];
+			this.message = strArray[3];
+			this.detail = StringUtils.hasText(strArray[4]) ? strArray[4] : null;
+			this.code = StringUtils.hasText(strArray[5]) ? strArray[5] : null;
+			this.key = StringUtils.hasText(strArray[6]) ? Long
+					.parseLong(strArray[6]) : null;
+		}
+	}
+
+	@Override
+	public String bufferedMessage() {
+		StringBuffer sb = new StringBuffer();
+		sb.append(this.time).append(separator);
+		sb.append(this.userUU).append(separator);
+		sb.append(this.title).append(separator);
+		sb.append(this.message).append(separator);
+		sb.append(this.detail == null ? "" : this.detail).append(separator);
+		sb.append(this.code == null ? "" : this.code).append(separator);
+		sb.append(this.key == null ? " " : this.key);
+		return sb.toString();
+	}
+
+}

+ 0 - 12
donate-console/src/main/java/com/uas/console/donate/service/AwardService.java

@@ -1,12 +0,0 @@
-package com.uas.console.donate.service;
-
-import com.uas.console.donate.model.Award;
-
-import java.util.List;
-
-public interface AwardService {
-
-    List<Award> findByActivityId(Long activityId);
-
-    Award save(Award award);
-}

+ 24 - 0
donate-console/src/main/java/com/uas/console/donate/service/UsageLogService.java

@@ -0,0 +1,24 @@
+package com.uas.console.donate.service;
+
+import com.uas.console.donate.model.SearchFilter;
+import com.uas.console.donate.model.UsageLog;
+import com.uas.platform.core.logging.LogService;
+import com.uas.platform.core.model.PageInfo;
+import org.springframework.data.domain.Page;
+
+/**
+ * 使用日志
+ * dongbw 2018年1月3日 15:33:59
+ */
+
+public interface UsageLogService extends LogService<UsageLog> {
+
+	/**
+	 * 分页查找使用日志
+	 * 
+	 * @param pageInfo
+	 * @return
+	 */
+	public Page<UsageLog> findAllByPageInfo(PageInfo pageInfo, SearchFilter filter);
+
+}

+ 0 - 1
donate-console/src/main/java/com/uas/console/donate/service/impl/ActivityRecodeServiceImpl.java

@@ -4,7 +4,6 @@ import com.uas.console.donate.dao.ActivityRecodeDao;
 import com.uas.console.donate.model.ActivityRecode;
 import com.uas.console.donate.service.ActivityRecodeService;
 import com.uas.console.donate.service.ActivityService;
-import com.uas.console.donate.service.AwardService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/service/impl/ActivityServiceImpl.java

@@ -32,7 +32,7 @@ import java.util.*;
 @Service
 public class ActivityServiceImpl implements ActivityService{
 
-    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyymmddhhmmsssss");
+    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyyMMddhhmmsssss");
 
     @Autowired
     private ActivityDao activityDao;

+ 0 - 26
donate-console/src/main/java/com/uas/console/donate/service/impl/AwardServiceImpl.java

@@ -1,26 +0,0 @@
-package com.uas.console.donate.service.impl;
-
-import com.uas.console.donate.dao.AwardDao;
-import com.uas.console.donate.model.Award;
-import com.uas.console.donate.service.AwardService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class AwardServiceImpl implements AwardService{
-
-    @Autowired
-    private AwardDao awardDao;
-
-    public Award save(Award award){
-
-       return awardDao.saveAndFlush(award);
-    }
-
-    public List<Award> findByActivityId(Long activityId){
-        return awardDao.findByActivityId(activityId);
-    }
-
-}

+ 1 - 1
donate-console/src/main/java/com/uas/console/donate/service/impl/OrgServiceImpl.java

@@ -27,7 +27,7 @@ import java.util.List;
 @Service
 public class OrgServiceImpl implements OrgService {
 
-    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyymmddhhmmsssss");
+    private static final SimpleDateFormat codesdf=new SimpleDateFormat("yyyyMMddhhmmsssss");
 
     @Autowired
     private OrgDao orgDao;

+ 52 - 0
donate-console/src/main/java/com/uas/console/donate/service/impl/UsageLogServiceImpl.java

@@ -0,0 +1,52 @@
+package com.uas.console.donate.service.impl;
+
+
+import com.uas.console.donate.dao.UsageLogDao;
+import com.uas.console.donate.model.SearchFilter;
+import com.uas.console.donate.model.UsageLog;
+import com.uas.console.donate.service.UsageLogService;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+@Service
+public class UsageLogServiceImpl implements UsageLogService {
+
+	@Autowired
+	private UsageLogDao usageLogDao;
+
+	@Override
+	public void save(UsageLog logable) {
+		usageLogDao.save(logable);
+	}
+
+	@Override
+	public void save(Iterable<UsageLog> logables) {
+		usageLogDao.save(logables);
+	}
+
+	@Override
+	public Page<UsageLog> findAllByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+		if (filter != null) {
+			if(filter.getFromDate() != null)
+				pageInfo.expression(PredicateUtils.gte("time", filter.getFromDate(), false));
+			if(filter.getEndDate() != null)
+				pageInfo.expression(PredicateUtils.lte("time", filter.getEndDate(), false));
+		}
+		return usageLogDao.findAll(new Specification<UsageLog>() {
+			public Predicate toPredicate(Root<UsageLog> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
+}

+ 15 - 0
donate-console/src/main/java/com/uas/console/donate/util/DateFormatUtils.java

@@ -0,0 +1,15 @@
+package com.uas.console.donate.util;
+
+import org.apache.commons.lang3.time.FastDateFormat;
+
+/**
+ * 日期工具类
+ * dongbw 2018年1月3日 11:39:46引入
+ */
+public class DateFormatUtils {
+
+	public static final FastDateFormat DATETIME_FORMAT = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");
+	
+	public static final FastDateFormat DATE_FORMAT = FastDateFormat.getInstance("yyyy-MM-dd");
+
+}

+ 10 - 0
donate-service/src/main/java/com/uas/service/donate/MessageConfiguration.java

@@ -27,6 +27,12 @@ public class MessageConfiguration {
 	@Value("${messageGotPrize}")
 	private String messageGotPrize;
 
+	/**
+	 * 短信模板id:领奖短信模版id
+	 */
+	@Value("${messageTakeAward}")
+	private String messageTakeAward;
+
 
 	public String getMessageUrl() {
 		return messageUrl;
@@ -39,4 +45,8 @@ public class MessageConfiguration {
 	public String getMessageGotPrize() {
 		return messageGotPrize;
 	}
+
+	public String getMessageTakeAward() {
+		return messageTakeAward;
+	}
 }

+ 9 - 6
donate-service/src/main/java/com/uas/service/donate/controller/ActiveCenterController.java

@@ -1,10 +1,10 @@
 package com.uas.service.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.model.Activity;
-import com.uas.service.donate.model.Award;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ActivityService;
-import com.uas.service.donate.service.AwardService;
 import com.uas.service.donate.service.CarouselService;
 import com.uas.service.donate.service.ProjectRecodeService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,9 +16,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
-import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * 活动中心
+ * @author shicr
+ */
 
 @Controller
 public class ActiveCenterController {
@@ -29,12 +32,11 @@ public class ActiveCenterController {
     @Autowired
     private ActivityService activityService;
 
-    @Autowired
-    private AwardService awardService;
-
     @Autowired
     private CarouselService carouselService;
 
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 返回一元捐活动列表freemarker页面
      * @param modelMap
@@ -79,6 +81,7 @@ public class ActiveCenterController {
         modelMap.put("carouselList",carouselList);
         modelMap.put("historyPerson", historyPerson);
         modelMap.put("totality", totality);
+        logger.log("活动中心", "查看活动列表");
         return "activeCenter";
     }
 

+ 25 - 9
donate-service/src/main/java/com/uas/service/donate/controller/ActivityController.java

@@ -1,12 +1,15 @@
 package com.uas.service.donate.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.model.Activity;
 import com.uas.service.donate.model.ActivityRecode;
 import com.uas.service.donate.model.Project;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ActivityService;
-import com.uas.service.donate.service.AwardService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
@@ -14,6 +17,10 @@ import org.springframework.web.bind.annotation.*;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * 活动相关
+ * @modified dongbw 2018年1月3日 16:14:03
+ */
 
 @Controller
 @RequestMapping("/activity")
@@ -22,9 +29,7 @@ public class ActivityController {
     @Autowired
     private ActivityService activityService;
 
-    @Autowired
-    private AwardService awardService;
-
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
     /**
      * 展示进行中和已结束的活动列表
@@ -39,6 +44,7 @@ public class ActivityController {
         }else if("已结束".equals(status)){
             return activityService.findEndActivities();
         }
+        logger.log("活动中心", "查看行中和已结束的活动列表");
         return activityList;
     }
 
@@ -49,6 +55,7 @@ public class ActivityController {
     @ResponseBody
     @RequestMapping(value = "/detail/{id}", method = RequestMethod.GET)
     public Activity findById(@PathVariable("id") Long id){
+        logger.log("活动中心", "查看具体活动");
         return activityService.fingById(id);
     }
 
@@ -60,6 +67,7 @@ public class ActivityController {
     @ResponseBody
     @RequestMapping(value = "/getRelatedProjects/{id}", method = RequestMethod.GET)
     public List<Project> getRelatedProjects(@PathVariable("id") Long id){
+        logger.log("活动中心", "查看活动相关项目列表");
         return activityService.getRelatedProjects(id);
     }
 
@@ -69,21 +77,23 @@ public class ActivityController {
     @ResponseBody
     @RequestMapping(value = "/inprocessActivities",method = RequestMethod.GET)
     public List<Activity> findInProcess(){
+        logger.log("活动中心", "查看正在进行的活动");
         return activityService.findInProcess();
     }
 
- /*   *//**
+    /**
      * 分页,所有正在进行中的活动
      * @param page
      * @param size
      * @return
-     *//*
+     */
     @ResponseBody
     public Page<Activity> findInProcess(@RequestParam(defaultValue = "0")int page,
                                         @RequestParam(defaultValue = "7")int size){
         PageRequest pageRequest=new PageRequest(page,size);
+        logger.log("活动中心", "查看正在进行中的活动");
         return  activityService.findInProcess(pageRequest);
-    }*/
+    }
 
     /**
      * 搜索出所有已结束的活动,当前时间大于活动结束时间
@@ -92,18 +102,23 @@ public class ActivityController {
     @ResponseBody
     @RequestMapping("/endActivities")
     public List<Activity> findEndActivities(){
+        logger.log("活动中心", "查看已结束的活动");
         return activityService.findEndActivities();
     }
 
     /**
-     * 获取当前登录用户参加活动资格
+     * 获取当前登录用户参加活动记录
      * @param id 活动id
      * @return 0无资格  1有已参加
      */
     @ResponseBody
     @RequestMapping(value = "/record/{id}", method = RequestMethod.GET)
     public ModelMap getActivityRecord(@PathVariable("id") Long id) {
-        return new ModelMap("record", activityService.getActivityRecord(id));
+        ActivityRecode record = activityService.getActivityRecord(id);
+        if (null != record) {
+            logger.log("活动中心", "获取用户当前活动记录", "活动code,参与记录id", record.getActivity().getCode(), record.getId());
+        }
+        return new ModelMap("record", record);
     }
 
     /**
@@ -115,6 +130,7 @@ public class ActivityController {
     @RequestMapping(value = "/takeAward",method = RequestMethod.POST)
     public ModelMap takeAward(@RequestBody String json) {
         ActivityRecode record = JSON.parseObject(json, ActivityRecode.class);
+        logger.log("活动中心", "用户领奖", "活动code,参与记录id", record.getActivity().getCode(), record.getId());
         return activityService.takeAward(record);
     }
 }

+ 19 - 16
donate-service/src/main/java/com/uas/service/donate/controller/ActivityRecodeController.java

@@ -1,7 +1,9 @@
 package com.uas.service.donate.controller;
 
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.core.support.SystemSession;
 import com.uas.service.donate.model.ActivityRecode;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ActivityRecodeService;
 import com.uas.service.donate.service.ActivityService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,6 +14,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.util.List;
 
+/**
+ * 活动参与记录相关
+ * @modified dongbw 2018年1月3日 17:12
+ */
 @Controller
 @RequestMapping("/activityRecode")
 public class ActivityRecodeController {
@@ -22,38 +28,34 @@ public class ActivityRecodeController {
     @Autowired
     private ActivityService activityService;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 参与活动
+     * @param activityId 活动id
+     * @param uuid  用户uu
+     * @return  活动参与记录
      */
     @ResponseBody
     @RequestMapping(value = "/join",method = RequestMethod.POST)
     public ActivityRecode join(Long activityId,Long uuid){
-
-      return activityRecodeService.join(activityId,uuid);
+        ActivityRecode recode = activityRecodeService.join(activityId,uuid);
+        logger.log("活动中心", "参与活动", null, recode.getActivity().getCode(), activityId);
+        return recode;
     }
 
     /**
      * 查询某一活动参与者
-     * @param activityId
-     * @return
+     * @param activityId 活动id
+     * @return 活动参与记录list
      */
     @ResponseBody
     @RequestMapping(value = "/joins",method = RequestMethod.GET)
     public List<ActivityRecode> joins(Long activityId){
-
+        logger.log("活动中心", "查询某一活动的参与记录", null, null, activityId);
         return activityRecodeService.joins(activityId);
     }
 
-    /**
-     * 领奖  1.未领取 2.已领取
-     */
-    @ResponseBody
-    @RequestMapping(value = "/receive",method = RequestMethod.POST)
-    public ActivityRecode receive(Long activityId,Long uuid){
-
-        return activityRecodeService.receive(activityId,uuid);
-    }
-
     /**
      * 付款完毕后调用,参加对应活动
      * @param projectRecodeId
@@ -62,7 +64,8 @@ public class ActivityRecodeController {
     @RequestMapping(value = "/joinAfterDonate",method = RequestMethod.POST)
     public void joinAfterDonate(Long projectRecodeId){
         if (null != SystemSession.getUser().getUserUU()) {
-            activityRecodeService.joinAfterDonate(projectRecodeId, SystemSession.getUser().getUserUU());
+            ActivityRecode recode = activityRecodeService.joinAfterDonate(projectRecodeId, SystemSession.getUser().getUserUU());
+            logger.log("活动中心", "捐款完毕,参与活动", "donate$projectrecode-id,donate$activity-code", recode.getActivity().getCode(), projectRecodeId);
         }
     }
 

+ 0 - 25
donate-service/src/main/java/com/uas/service/donate/controller/AwardController.java

@@ -1,25 +0,0 @@
-package com.uas.service.donate.controller;
-
-import com.uas.service.donate.model.Award;
-import com.uas.service.donate.service.AwardService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import java.util.List;
-
-@Controller
-@RequestMapping("/award")
-public class AwardController {
-
-    @Autowired
-    private AwardService awardService;
-
-    @ResponseBody
-    @RequestMapping("/getAwards")
-    public List<Award> getAwards(Long id) {
-        return awardService.getAwards(id);
-    }
-}

+ 0 - 1
donate-service/src/main/java/com/uas/service/donate/controller/IndexController.java

@@ -87,7 +87,6 @@ public class IndexController {
                 return null;
             }
         }
-
         return "forward:/index";
     }
 

+ 3 - 0
donate-service/src/main/java/com/uas/service/donate/controller/OrgController.java

@@ -14,6 +14,9 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Map;
 
+/**
+ * 机构入驻移到console。此类暂时弃用
+ */
 @Controller
 @RequestMapping("/org")
 public class OrgController {

+ 8 - 0
donate-service/src/main/java/com/uas/service/donate/controller/ProjectConcludeController.java

@@ -1,7 +1,9 @@
 package com.uas.service.donate.controller;
 
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.model.ProjectConclude;
 import com.uas.service.donate.model.ProjectFinance;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ProjectConcludeService;
 import com.uas.service.donate.service.ProjectFinanceService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +15,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.util.List;
 
+/**
+ * 项目结项报告和财务记录
+ */
 @Controller
 @RequestMapping("/projectconclude")
 public class ProjectConcludeController {
@@ -23,6 +28,8 @@ public class ProjectConcludeController {
     @Autowired
     private ProjectFinanceService projectFinanceService;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 展示某项目的项目结项和财务记录
      * @param proId
@@ -36,6 +43,7 @@ public class ProjectConcludeController {
         List<ProjectFinance> projectFinanceList=projectFinanceService.findAll(proId);
         map.put("report", projectConcludeList);
         map.put("finance", projectFinanceList);
+        logger.log("项目报告", "展示项目结项和财务记录", null, null, proId);
         return map;
     }
 

+ 75 - 55
donate-service/src/main/java/com/uas/service/donate/controller/ProjectController.java

@@ -2,14 +2,14 @@ package com.uas.service.donate.controller;
 
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
 import com.uas.service.donate.model.Project;
 import com.uas.service.donate.model.SearchFilter;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ProjectService;
-import com.uas.service.donate.util.FileUrl;
-import com.uas.service.donate.util.HttpUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -19,10 +19,12 @@ import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 import java.util.List;
-import java.util.Map;
+
+/**
+ * 项目相关
+ * @author dongbw 2018年1月3日
+ */
 
 @Controller
 @RequestMapping("/project")
@@ -31,9 +33,13 @@ public class ProjectController{
     @Autowired
     private ProjectService projectService ;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 获取项目列表 (全部)
-     * @return
+     * @param params 页面参数
+     * @param searchFilter 搜索过滤条件
+     * @return 项目page
      */
     @RequestMapping(value = "/get", method = RequestMethod.GET)
     @ResponseBody
@@ -45,7 +51,9 @@ public class ProjectController{
 
     /**
      * 获取项目列表 (筹备中)
-     * @return
+     * @param params 页面参数
+     * @param searchFilter 搜索过滤条件
+     * @return 项目page
      */
     @RequestMapping(value = "/get", params = RequestState.WAITING, method = RequestMethod.GET)
     @ResponseBody
@@ -57,7 +65,9 @@ public class ProjectController{
 
     /**
      * 获取项目列表 (进行中)
-     * @return
+     * @param params 页面参数
+     * @param searchFilter 搜索过滤条件
+     * @return 项目page
      */
     @RequestMapping(value = "/get", params = RequestState.TODO, method = RequestMethod.GET)
     @ResponseBody
@@ -69,7 +79,9 @@ public class ProjectController{
 
     /**
      * 获取项目列表 (已结束)
-     * @return
+     * @param params 页面参数
+     * @param searchFilter 搜索过滤条件
+     * @return 项目page
      */
     @RequestMapping(value = "/get", params = RequestState.END, method = RequestMethod.GET)
     @ResponseBody
@@ -81,7 +93,9 @@ public class ProjectController{
 
     /**
      * 获取项目列表 (机构相关)
-     * @return
+     * @param params 页面参数
+     * @param searchFilter 搜索过滤条件
+     * @return 项目page
      */
     @RequestMapping(value = "/getOrgProjects", method = RequestMethod.GET)
     @ResponseBody
@@ -93,7 +107,7 @@ public class ProjectController{
 
     /**
      * 返回所有进行中和已结束的捐款项目,移动端不分页专用
-     * @return
+     * @return 项目list
      */
     @ResponseBody
     @RequestMapping(value = "/findAll",method = RequestMethod.GET)
@@ -103,9 +117,9 @@ public class ProjectController{
 
     /**
      * 获取所有审核通过,进行中或者已结束的捐款项目,angular分页用
-     * @param page
-     * @param size
-     * @return
+     * @param page 页次
+     * @param size 每页内容
+     * @return 项目page
      */
     @RequestMapping(value = "/getProjects",method = RequestMethod.GET)
     @ResponseBody
@@ -195,13 +209,15 @@ public class ProjectController{
 
     /**
      * 点击查看项目详情
-     * @param id
-     * @return
+     * @param id 项目id
+     * @return 项目
      */
     @ResponseBody
     @RequestMapping(value = "/detail/{id}",method = RequestMethod.GET)
-    public Project showDetail(@PathVariable("id") Long id, HttpServletRequest request) {
-        return projectService.findOne(id);
+    public Project showDetail(@PathVariable("id") Long id) {
+        Project project =  projectService.findOne(id);
+        logger.log("项目", "查看项目详情", null, project.getCode(), project.getId());
+        return project;
     }
 
     /**
@@ -225,43 +241,43 @@ public class ProjectController{
     }
 
 
-    /**
-     * 保存项目
-     * @param jsonStr
-     * @param projectAttaches
-     * @return
-     * @throws Exception
-     */
-    public Project saveform(String jsonStr, Map<String,String> projectAttaches) throws Exception{
-        Project project = JSONObject.parseObject(jsonStr, Project.class);
-        for(Map.Entry<String,String> projectAttach:projectAttaches.entrySet()){
-            String fileName=projectAttach.getKey();
-            String fileValue=projectAttach.getValue();
-
-            HttpUtils.Response response = HttpUtils.upload(FileUrl.FILE_UPLOAD,fileValue,null);
-            if(200 == response.getStatusCode()) {
-                JSONObject object = JSONObject.parseObject(response.getResponseText());
-                if(null != object) {
-                    String path = (String) object.get("path");
-                    switch(fileName){
-                        case "pcImg":project.setPcImg(path);
-                            break;
-                        case "mobileImg":project.setMobileImg(path);
-                            break;
-                        case "listImg":project.setListImg(path);
-                            break;
-                        case "logo":project.setLogo(path);
-                            break;
-                    }
-                }
-            }
-        }
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
-        project.setSubmitTime(new Date());
-
-        return project;
-    }
+//    /**
+//     * 保存项目
+//     * @param jsonStr
+//     * @param projectAttaches
+//     * @return
+//     * @throws Exception
+//     */
+//    public Project saveform(String jsonStr, Map<String,String> projectAttaches) throws Exception{
+//        Project project = JSONObject.parseObject(jsonStr, Project.class);
+//        for(Map.Entry<String,String> projectAttach:projectAttaches.entrySet()){
+//            String fileName=projectAttach.getKey();
+//            String fileValue=projectAttach.getValue();
+//
+//            HttpUtils.Response response = HttpUtils.upload(FileUrl.FILE_UPLOAD,fileValue,null);
+//            if(200 == response.getStatusCode()) {
+//                JSONObject object = JSONObject.parseObject(response.getResponseText());
+//                if(null != object) {
+//                    String path = (String) object.get("path");
+//                    switch(fileName){
+//                        case "pcImg":project.setPcImg(path);
+//                            break;
+//                        case "mobileImg":project.setMobileImg(path);
+//                            break;
+//                        case "listImg":project.setListImg(path);
+//                            break;
+//                        case "logo":project.setLogo(path);
+//                            break;
+//                    }
+//                }
+//            }
+//        }
+//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+//
+//        project.setSubmitTime(new Date());
+//
+//        return project;
+//    }
 
 
     /**
@@ -272,6 +288,7 @@ public class ProjectController{
     @RequestMapping(value = "/donation/{id}", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getTotalDonation (@PathVariable("id") Long id) {
+        logger.log("项目", "查询当前项目历史参加人数", null, null, id);
         return projectService.getThisDonation(id);
     }
 
@@ -281,6 +298,7 @@ public class ProjectController{
     @RequestMapping(value = "/findSimilar/{id}",method = RequestMethod.GET)
     @ResponseBody
     public List<Project> findSimilar(@PathVariable("id") Long id){
+        logger.log("项目", "查找某项目的同类项目", null, null, id);
         return projectService.findSimilar(id);
     }
 
@@ -299,6 +317,7 @@ public class ProjectController{
     @RequestMapping(value = "/getJoinedActivity/{id}", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getJoinedActivity(@PathVariable("id") Long id){
+        logger.log("项目", "查找某项目关联活动", null, null, id);
         return new ModelMap("activity", projectService.getJoinedActivity(id));
     }
 
@@ -311,6 +330,7 @@ public class ProjectController{
     @RequestMapping(value = "/joinAfterDonate", method = RequestMethod.POST)
     @ResponseBody
     public ModelMap joinAfterDonate(Long projectRecodeId, Long userUU){
+        logger.log("项目捐款", "捐款完毕再注册参与活动", "key为项目参与记录id", null, projectRecodeId);
         return  projectService.joinAfterDonate(projectRecodeId, userUU);
     }
 

+ 13 - 1
donate-service/src/main/java/com/uas/service/donate/controller/ProjectEvolveController.java

@@ -1,6 +1,8 @@
 package com.uas.service.donate.controller;
 
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.model.ProjectEvolve;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ProjectEvolveService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -11,6 +13,10 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.util.List;
 
+/**
+ * 项目进度
+ * dongbw 2018年1月3日 23:42:59
+ */
 @Controller
 @RequestMapping("/projectevolve")
 public class ProjectEvolveController {
@@ -18,10 +24,16 @@ public class ProjectEvolveController {
     @Autowired
     private ProjectEvolveService projectEvolveService;
 
-    //查找某项目所有的项目进度
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
+    /**
+     * 查找某项目所有的项目进度
+     * @param proId 项目id
+     */
     @ResponseBody
     @RequestMapping( value = "/getEvolves/{proId}",method = RequestMethod.GET)
     public List<ProjectEvolve> findAll(@PathVariable("proId") Long proId){
+        logger.log("项目进度", "查找某项目所有的项目进度", null, null, proId);
         return projectEvolveService.findAll(proId);
     }
 

+ 9 - 0
donate-service/src/main/java/com/uas/service/donate/controller/ProjectFinanceController.java

@@ -1,6 +1,8 @@
 package com.uas.service.donate.controller;
 
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.model.ProjectFinance;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ProjectFinanceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -11,12 +13,18 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.util.List;
 
+/**
+ * 项目财务
+ * @author dongbw 2018年1月4日 00:01:48
+ */
 @Controller
 @RequestMapping("/projectfinance")
 public class ProjectFinanceController {
     @Autowired
     private ProjectFinanceService projectFinanceService;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 查找某项目的所有财务信息
      * @param proId
@@ -25,6 +33,7 @@ public class ProjectFinanceController {
     @ResponseBody
     @RequestMapping(value = "/findAllFinance/{proId}",method = RequestMethod.GET)
     public List<ProjectFinance> findAll(@PathVariable("proId") Long proId){
+        logger.log("项目财务", "查找某项目的所有的财务信息", null, null, proId);
         return projectFinanceService.findAll(proId);
     }
 

+ 0 - 85
donate-service/src/main/java/com/uas/service/donate/controller/ProjectListController.java

@@ -1,85 +0,0 @@
-package com.uas.service.donate.controller;
-
-
-import com.alibaba.fastjson.JSONObject;
-import com.uas.platform.core.model.PageInfo;
-import com.uas.platform.core.model.PageParams;
-import com.uas.platform.core.web.bind.RequestState;
-import com.uas.service.donate.model.Project;
-import com.uas.service.donate.model.SearchFilter;
-import com.uas.service.donate.service.ProjectService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-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;
-
-@Controller
-@RequestMapping("/api/project")
-public class ProjectListController {
-
-    @Autowired
-    private ProjectService projectService ;
-
-    /**
-     * 获取项目列表 (全部)
-     * @return
-     */
-    @RequestMapping(method = RequestMethod.GET)
-    @ResponseBody
-    public Page<Project> getAllProjects(PageParams params, String searchFilter){
-        PageInfo pageInfo = new PageInfo(params);
-        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return projectService.getAllProjects(pageInfo, filter);
-    }
-
-    /**
-     * 获取项目列表 (筹备中)
-     * @return
-     */
-    @RequestMapping(params = RequestState.WAITING, method = RequestMethod.GET)
-    @ResponseBody
-    public Page<Project> getWaitingProjects(PageParams params, String searchFilter){
-        PageInfo pageInfo = new PageInfo(params);
-        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return projectService.getWaitingProjects(pageInfo, filter);
-    }
-
-    /**
-     * 获取项目列表 (进行中)
-     * @return
-     */
-    @RequestMapping(params = RequestState.TODO, method = RequestMethod.GET)
-    @ResponseBody
-    public Page<Project> getTodoProjects(PageParams params, String searchFilter){
-        PageInfo pageInfo = new PageInfo(params);
-        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return projectService.getTodoProjects(pageInfo, filter);
-    }
-
-    /**
-     * 获取项目列表 (已结束)
-     * @return
-     */
-    @RequestMapping(params = RequestState.END, method = RequestMethod.GET)
-    @ResponseBody
-    public Page<Project> getEndProjects(PageParams params, String searchFilter){
-        PageInfo pageInfo = new PageInfo(params);
-        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return projectService.getEndProjects(pageInfo, filter);
-    }
-
-    /**
-     * 查询当前项目历史参加人数
-     * @param id
-     * @return
-     */
-    @RequestMapping(value = "/donation/{id}", method = RequestMethod.GET)
-    @ResponseBody
-    public ModelMap getTotalDonation (@PathVariable("id") Long id) {
-        return projectService.getThisDonation(id);
-    }
-}

+ 15 - 6
donate-service/src/main/java/com/uas/service/donate/controller/ProjectRecodeController.java

@@ -1,7 +1,9 @@
 package com.uas.service.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.service.donate.model.ProjectRecode;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.ProjectRecodeService;
 import com.uas.service.donate.service.ProjectService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,8 +13,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import java.util.List;
-
+/**
+ * 项目参与记录
+ * dongbw 2018年1月4日 00:03:32
+ */
 @Controller
 @RequestMapping("/projectrecode")
 public class ProjectRecodeController {
@@ -23,6 +27,8 @@ public class ProjectRecodeController {
     @Autowired
     private ProjectService projectService;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
 
     /**
      * 参与捐款,重新设置项目捐款总额
@@ -32,9 +38,8 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/join",method = RequestMethod.POST)
     public ProjectRecode join(String jsonStr){
-
         ProjectRecode projectRecode= JSONObject.parseObject(jsonStr,ProjectRecode.class);
-
+        logger.log("捐款", "捐款完设置项目捐款总额", null, projectRecode.getProject().getCode(), projectRecode.getProId());
         return projectRecodeService.join(projectRecode);
     }
 
@@ -46,9 +51,8 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/join/mobile",method = RequestMethod.POST)
     public ProjectRecode joinMobile(Long imId, String jsonStr){
-
         ProjectRecode projectRecode= JSONObject.parseObject(jsonStr,ProjectRecode.class);
-
+        logger.log("捐款", "手机捐款完设置项目捐款总额", "用户imId为" + imId, projectRecode.getProject().getCode(), projectRecode.getProId());
         return projectRecodeService.joinMobile(imId, projectRecode);
     }
 
@@ -59,6 +63,7 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/totality",method = RequestMethod.GET)
     public Double totality(){
+        logger.log("历史统计", "查看历史捐款总额");
         return projectRecodeService.totality();
     }
 
@@ -69,6 +74,7 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/historyperson",method = RequestMethod.GET)
     public Long historyPerson(){
+        logger.log("历史统计", "查看历史参与总人数");
         return projectRecodeService.historyPerson();
     }
 
@@ -78,6 +84,7 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/sumperson",method = RequestMethod.GET)
     public Long sumPerson(Long proId){
+        logger.log("历史统计", "查看某项目已参与人数");
         return projectRecodeService.sumPerson(proId);
     }
 
@@ -87,6 +94,7 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/sumamount",method = RequestMethod.GET)
     public Double sumamount(Long proId){
+        logger.log("历史统计", "根据项目id查找某项目已筹款额", null, null, proId);
         return projectRecodeService.sumamount(proId);
     }
 
@@ -96,6 +104,7 @@ public class ProjectRecodeController {
     @ResponseBody
     @RequestMapping(value = "/detail/{id}",method = RequestMethod.GET)
     public ProjectRecode findOne(@PathVariable("id") Long id){
+        logger.log("捐款记录", "根据捐款记录id查看捐款记录详情", null, null, id);
         return projectRecodeService.findOne(id);
     }
 }

+ 25 - 11
donate-service/src/main/java/com/uas/service/donate/controller/UserController.java

@@ -1,12 +1,10 @@
 package com.uas.service.donate.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
-import com.uas.service.donate.model.ActivityRecode;
-import com.uas.service.donate.model.MessageDetail;
-import com.uas.service.donate.model.ProjectRecode;
-import com.uas.service.donate.model.SearchFilter;
+import com.uas.service.donate.model.*;
 import com.uas.service.donate.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -24,15 +22,23 @@ public class UserController {
     @Autowired
     private UserService userService;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
-     * 根据imid获取用userUU
-     * @param imId
-     * @return
+     * 根据imId获取用userUU
+     * @param imId 用户imId
+     * @return map
      */
     @RequestMapping(value = "/getUserUUByImId/{imId}", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getUserUUByImId (@PathVariable("imId") Long imId) {
-        return new ModelMap("userUU", userService.getUserByImId(imId));
+        ModelMap map = new ModelMap();
+        User user = userService.getUserByImId(imId);
+        if (null != user) {
+            logger.log("获取用户UU", "根据imId获取用户UU", null, null, imId);
+            map.put("userUU", user.getUserUU());
+        }
+        return map;
     }
 
     /**
@@ -46,6 +52,7 @@ public class UserController {
         map.put("joinedProjectNum", userService.getJoinedProjectNum());
         map.put("joinedActivityNum", userService.getJoinedActivityNum());
         map.put("sumDonation", userService.getSumDonation());
+        logger.log("历史数据", "获取所有历史数据");
         return map;
     }
 
@@ -60,7 +67,9 @@ public class UserController {
     public Page<ProjectRecode> getJoinedProjectRecords(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return userService.getJoinedProjectRecords(pageInfo, filter);
+        Page<ProjectRecode> projectRecodePage = userService.getJoinedProjectRecords(pageInfo, filter);
+        logger.log("已参与项目", "获取已参与项目");
+        return projectRecodePage;
     }
 
     /**
@@ -74,7 +83,9 @@ public class UserController {
     public Page<ActivityRecode> getJoinedActivityRecords(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return userService.getJoinedActivityRecords(pageInfo, filter);
+        Page<ActivityRecode> activityRecodePage = userService.getJoinedActivityRecords(pageInfo, filter);
+        logger.log("已参与活动", "获取已参与活动");
+        return activityRecodePage;
     }
 
     /**
@@ -88,7 +99,9 @@ public class UserController {
     public Page<MessageDetail> getMessage(PageParams params, String searchFilter) {
         PageInfo pageInfo = new PageInfo(params);
         SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
-        return userService.getMessage(pageInfo, filter);
+        Page<MessageDetail> messageDetailPage = userService.getMessage(pageInfo, filter);
+        logger.log("消息", "获取收到的消息");
+        return messageDetailPage;
     }
 
     /**
@@ -98,6 +111,7 @@ public class UserController {
     @RequestMapping(value = "/getUnreadMessageNum", method = RequestMethod.GET)
     @ResponseBody
     public ModelMap getUnreadMessageNum() {
+        logger.log("消息数量", "获取未读消息数量");
         return new ModelMap("unreadMessage", userService.getUnreadMessageNum());
     }
 

+ 16 - 0
donate-service/src/main/java/com/uas/service/donate/dao/UsageLogDao.java

@@ -0,0 +1,16 @@
+package com.uas.service.donate.dao;
+
+import com.uas.service.donate.model.UsageLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 使用日志
+ * dongbw 2018年1月3日 15:33:53
+ */
+
+@Repository
+public interface UsageLogDao extends JpaSpecificationExecutor<UsageLog>, JpaRepository<UsageLog, Long> {
+
+}

+ 71 - 0
donate-service/src/main/java/com/uas/service/donate/model/UsageBufferedLogger.java

@@ -0,0 +1,71 @@
+package com.uas.service.donate.model;
+
+import com.uas.platform.core.logging.BufferedLogger;
+import com.uas.service.donate.service.UsageLogService;
+import com.uas.service.donate.util.ContextUtils;
+import com.uas.service.donate.util.PathUtils;
+
+/**
+ * 异步日志记录的工具
+ *
+ * @author yingp
+ * dongbw 2018年1月3日 11:40:16 引入
+ *
+ */
+public class UsageBufferedLogger extends BufferedLogger<UsageLog> {
+
+	public UsageBufferedLogger() {
+		super(PathUtils.getFilePath(), UsageLog.class, ContextUtils
+				.getBean(UsageLogService.class));
+	}
+
+	/**
+	 * 记录使用日志
+	 *
+	 * @param title
+	 *            消息标题
+	 * @param message
+	 *            消息
+	 * @param userUU
+	 *  		  用户uu
+	 */
+	public void log(String title, String message) {
+		log(new UsageLog(title, message, null, null));
+	}
+
+	/**
+	 * 记录使用日志
+	 *
+	 * @param title
+	 *            消息标题
+	 * @param message
+	 *            消息
+	 * @param description
+	 *            消息详细描述
+	 * @param userUU
+	 * 			  用户uu
+	 */
+	public void log(String title, String message, String description) {
+		log(new UsageLog(title, message, description, null, null));
+	}
+
+	/**
+	 * 记录具体单据操作日志
+	 *
+	 * @param title
+	 *            消息标题
+	 * @param message
+	 *            消息
+	 * @param description
+	 *            消息详细描述
+	 * @param relativeCode
+	 *            相关单据号
+	 * @param relativeKey
+	 *            相关单据主键
+	 */
+	public void log(String title, String message, String description,
+			String relativeCode, Long relativeKey) {
+		log(new UsageLog(title, message, description, relativeCode, relativeKey));
+	}
+
+}

+ 207 - 0
donate-service/src/main/java/com/uas/service/donate/model/UsageLog.java

@@ -0,0 +1,207 @@
+package com.uas.service.donate.model;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.uas.platform.core.logging.BufferedLogable;
+import com.uas.service.donate.core.support.SystemSession;
+import org.springframework.util.StringUtils;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * 使用日志
+ *
+ * @author yingp
+ * dongbw 2018年1月3日 15:34:11 引入
+ */
+@Entity
+@Table(name = "log$usage")
+public class UsageLog extends BufferedLogable {
+
+	/**
+	 * id
+	 */
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "log_id")
+	private Long id;
+
+	/**
+	 * 操作用户uu
+	 */
+	@NotNull
+	@Column(name = "log_useruu")
+	private Long userUU;
+
+	/**
+	 * 操作用户
+	 */
+	@OneToOne(cascade = { CascadeType.REFRESH })
+	@JoinColumn(name = "log_useruu", insertable = false, updatable = false)
+	private User user;
+
+	/**
+	 * 日志时间
+	 */
+	@Column(name = "log_time")
+	private Date time;
+
+	/**
+	 * 日志标题
+	 */
+	@Column(name = "log_title")
+	private String title;
+
+	/**
+	 * 内容
+	 */
+	@Column(name = "log_message")
+	private String message;
+
+	/**
+	 * 详细内容
+	 */
+	@Column(name = "log_detail", length = 1000)
+	private String detail;
+
+	/**
+	 * 相关单据号
+	 */
+	@Column(name = "rel_code")
+	private String code;
+
+	/**
+	 * 相关单据主键
+	 */
+	@Column(name = "rel_key")
+	private Long key;
+
+	@JsonIgnore
+	@JSONField(serialize = false)
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getUserUU() {
+		return userUU;
+	}
+
+	public void setUserUU(Long userUU) {
+		this.userUU = userUU;
+	}
+
+	public User getUser() {
+		return user;
+	}
+
+	public void setUser(User user) {
+		this.user = user;
+	}
+
+	public Date getTime() {
+		return time;
+	}
+
+	public void setTime(Date time) {
+		this.time = time;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public String getMessage() {
+		return message;
+	}
+
+	public void setMessage(String message) {
+		this.message = message;
+	}
+
+	public String getDetail() {
+		return detail;
+	}
+
+	public void setDetail(String detail) {
+		this.detail = detail;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public Long getKey() {
+		return key;
+	}
+
+	public void setKey(Long key) {
+		this.key = key;
+	}
+
+	public UsageLog() {
+
+	}
+
+	public UsageLog(String title, String message, String detail, String code, Long key) {
+		this.title = title;
+		this.message = message;
+		this.detail = detail;
+		this.code = code;
+		this.key = key;
+		this.time = new Date();
+		this.userUU = null != SystemSession.getUser() ? SystemSession.getUser().getUserUU() : null;
+	}
+
+	public UsageLog(String title, String message, String code, Long key) {
+		this.title = title;
+		this.message = message;
+		this.code = code;
+		this.key = key;
+		this.time = new Date();
+		this.userUU = null != SystemSession.getUser() ? SystemSession.getUser().getUserUU() : null;
+	}
+
+	public void bufferedLog(String bufferedMessage) {
+		String[] strArray = bufferedMessage.split(separator);
+		if (strArray.length == 7) {
+			Date date = new Date();
+			date.setTime(Long.parseLong(strArray[0]));
+			this.time = date;
+			this.userUU = Long.parseLong(strArray[1]);
+			this.title = strArray[2];
+			this.message = strArray[3];
+			this.detail = StringUtils.hasText(strArray[4]) ? strArray[4] : null;
+			this.code = StringUtils.hasText(strArray[5]) ? strArray[5] : null;
+			this.key = StringUtils.hasText(strArray[6]) ? Long
+					.parseLong(strArray[6]) : null;
+		}
+	}
+
+	@Override
+	public String bufferedMessage() {
+		StringBuffer sb = new StringBuffer();
+		sb.append(this.time).append(separator);
+		sb.append(this.userUU).append(separator);
+		sb.append(this.title).append(separator);
+		sb.append(this.message).append(separator);
+		sb.append(this.detail == null ? "" : this.detail).append(separator);
+		sb.append(this.code == null ? "" : this.code).append(separator);
+		sb.append(this.key == null ? " " : this.key);
+		return sb.toString();
+	}
+
+}

+ 1 - 4
donate-service/src/main/java/com/uas/service/donate/service/ActivityRecodeService.java

@@ -23,13 +23,10 @@ public interface ActivityRecodeService {
     //计算某人活动参与总次数
     Long sumJoin(Long uuid);
 
-    //领奖
-    ActivityRecode receive(Long activityId,Long uuid);
-
     /**
      * 捐赠完如果已登录,参加活动
      * @param projectRecordId
      * @param userUU
      */
-    void joinAfterDonate(Long projectRecordId, Long userUU);
+    ActivityRecode joinAfterDonate(Long projectRecordId, Long userUU);
 }

+ 0 - 9
donate-service/src/main/java/com/uas/service/donate/service/AwardService.java

@@ -1,9 +0,0 @@
-package com.uas.service.donate.service;
-
-import com.uas.service.donate.model.Award;
-
-import java.util.List;
-
-public interface AwardService {
-    List<Award> getAwards(Long id);
-}

+ 24 - 0
donate-service/src/main/java/com/uas/service/donate/service/UsageLogService.java

@@ -0,0 +1,24 @@
+package com.uas.service.donate.service;
+
+import com.uas.platform.core.logging.LogService;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.service.donate.model.SearchFilter;
+import com.uas.service.donate.model.UsageLog;
+import org.springframework.data.domain.Page;
+
+/**
+ * 使用日志
+ * dongbw 2018年1月3日 15:33:59
+ */
+
+public interface UsageLogService extends LogService<UsageLog> {
+
+	/**
+	 * 分页查找使用日志
+	 * 
+	 * @param pageInfo
+	 * @return
+	 */
+	public Page<UsageLog> findAllByPageInfo(PageInfo pageInfo, SearchFilter filter);
+
+}

+ 3 - 23
donate-service/src/main/java/com/uas/service/donate/service/impl/ActivityRecodeServiceImpl.java

@@ -95,33 +95,13 @@ public class ActivityRecodeServiceImpl implements ActivityRecodeService {
         return activityRecodeDao.sumJoin(uuid);
     }
 
-    //领奖
-    public ActivityRecode receive(Long activityId,Long uuid){
-        ActivityRecode activityRecode=activityRecodeDao.findOne(activityId,uuid);
-        //设置领取状态
-        activityRecode.setStatus(2);
-        //设置领取时间
-        activityRecode.setReceiveTime(new Date());
-        //找到领奖的活动
-        Activity activity= activityService .fingById(activityId);
-        //重新设置当前活动领奖总人数
-        Integer receivePerson=activity.getReceivePerson();
-        if(receivePerson==null){
-            receivePerson=(int)0;
-        }
-        receivePerson++;
-        activity.setReceivePerson(receivePerson);
-        //保存活动
-        activityService.save(activity);
-        return activityRecodeDao.save(activityRecode);
-    }
-
     @Override
-    public void joinAfterDonate(Long projectRecordId, Long userUU) {
+    public ActivityRecode joinAfterDonate(Long projectRecordId, Long userUU) {
         ProjectRecode projectRecode = projectRecodeDao.findOne(projectRecordId);
         if (null != projectRecode && null != projectRecode.getUuid() && projectRecode.getAmount() >= 1) {
             Activity activity = projectService.getJoinedActivity(projectRecode.getProId());
-            join(activity.getId(), userUU);
+            return join(activity.getId(), userUU);
         }
+        return null;
     }
 }

+ 20 - 0
donate-service/src/main/java/com/uas/service/donate/service/impl/ActivityServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.service.donate.service.impl;
 
+import com.uas.service.donate.MessageConfiguration;
 import com.uas.service.donate.core.support.SystemSession;
 import com.uas.service.donate.dao.ActivityDao;
 import com.uas.service.donate.dao.ActivityRecodeDao;
@@ -8,6 +9,7 @@ import com.uas.service.donate.model.Activity;
 import com.uas.service.donate.model.ActivityRecode;
 import com.uas.service.donate.model.Project;
 import com.uas.service.donate.service.ActivityService;
+import com.uas.service.donate.service.MessageService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -31,6 +33,12 @@ public class ActivityServiceImpl implements ActivityService {
     @Autowired
     private ActivityRecodeDao activityRecodeDao;
 
+    @Autowired
+    private MessageService messageService;
+
+    @Autowired
+    private MessageConfiguration messageConfiguration;
+
     /**
      * 已领奖
      */
@@ -126,6 +134,18 @@ public class ActivityServiceImpl implements ActivityService {
         activityRecodeDao.save(record);
         map.put("success", "领奖成功!");
         //TODO 领奖成功短信及消息
+        try {
+            Activity activity = record.getActivity();
+            List<Object> obj = new ArrayList<>();
+            obj.add(activity.getName());
+            obj.add(record.getAward().getAwardLevel());
+            obj.add(record.getAward().getAwardName());
+            messageService.sendMessage(record.getTel(), obj, messageConfiguration.getMessageTakeAward());
+        } catch (RuntimeException e) {
+            // 记录日志。推送消息
+//            throw new RuntimeException("开奖成功,但发送短信通知失败");
+            e.printStackTrace();
+        }
         return map;
     }
 

+ 0 - 19
donate-service/src/main/java/com/uas/service/donate/service/impl/AwardServiceImpl.java

@@ -1,19 +0,0 @@
-package com.uas.service.donate.service.impl;
-
-import com.uas.service.donate.dao.AwardDao;
-import com.uas.service.donate.model.Award;
-import com.uas.service.donate.service.AwardService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class AwardServiceImpl implements AwardService{
-    @Autowired
-    private AwardDao awardDao;
-
-    public List<Award> getAwards(Long id){
-        return awardDao.findByActivityId(id);
-    }
-}

+ 9 - 0
donate-service/src/main/java/com/uas/service/donate/service/impl/MessageServiceImpl.java

@@ -1,10 +1,13 @@
 package com.uas.service.donate.service.impl;
 
 import com.uas.message.mail.service.MailService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.service.donate.MessageConfiguration;
+import com.uas.service.donate.core.support.SystemSession;
 import com.uas.service.donate.model.SmsMessage;
+import com.uas.service.donate.model.UsageBufferedLogger;
 import com.uas.service.donate.service.MessageService;
 import com.uas.service.donate.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +31,8 @@ public class MessageServiceImpl implements MessageService {
     @Autowired
     private MessageConfiguration messageConfiguration;
 
+    private static final UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
     /**
      * 发送邮件
      * @param receivedEmail 接收邮箱
@@ -45,9 +50,11 @@ public class MessageServiceImpl implements MessageService {
 //                model.put("inviteuid", "");
 //                model.put("inviteUserCode", "");
                 mailService.send(tplId, receivedEmail, model);
+                logger.log("邮件提醒", "发送邮件成功");
             }
             return new ResponseEntity<String>(HttpStatus.OK);
         } catch (Exception e) {
+            logger.log("邮件提醒", "发送邮件失败");
             e.printStackTrace();
             return new ResponseEntity<String>(HttpStatus.INTERNAL_SERVER_ERROR);
         }
@@ -73,9 +80,11 @@ public class MessageServiceImpl implements MessageService {
                 sms.setReceiver(receiverTel);
                 sms.setTemplateId(msgId);
                 HttpUtil.sendPost(messageConfiguration.getMessageUrl(), FlexJsonUtils.toJsonDeep(sms));
+                logger.log("短信提醒", "发送短信成功");
             }
             return new ResponseEntity<String>(HttpStatus.OK);
         } catch (Exception e) {
+            logger.log("短信提醒", "发送短信失败");
             e.printStackTrace();
             return new ResponseEntity<String>(HttpStatus.INTERNAL_SERVER_ERROR);
         }

+ 52 - 0
donate-service/src/main/java/com/uas/service/donate/service/impl/UsageLogServiceImpl.java

@@ -0,0 +1,52 @@
+package com.uas.service.donate.service.impl;
+
+
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
+import com.uas.service.donate.dao.UsageLogDao;
+import com.uas.service.donate.model.SearchFilter;
+import com.uas.service.donate.model.UsageLog;
+import com.uas.service.donate.service.UsageLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+@Service
+public class UsageLogServiceImpl implements UsageLogService {
+
+	@Autowired
+	private UsageLogDao usageLogDao;
+
+	@Override
+	public void save(UsageLog logable) {
+		usageLogDao.save(logable);
+	}
+
+	@Override
+	public void save(Iterable<UsageLog> logables) {
+		usageLogDao.save(logables);
+	}
+
+	@Override
+	public Page<UsageLog> findAllByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+		if (filter != null) {
+			if(filter.getFromDate() != null)
+				pageInfo.expression(PredicateUtils.gte("time", filter.getFromDate(), false));
+			if(filter.getEndDate() != null)
+				pageInfo.expression(PredicateUtils.lte("time", filter.getEndDate(), false));
+		}
+		return usageLogDao.findAll(new Specification<UsageLog>() {
+			public Predicate toPredicate(Root<UsageLog> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(pageInfo.getPredicates(root, query, builder));
+				return null;
+			}
+		}, pageInfo);
+	}
+
+}

+ 5 - 2
donate-service/src/main/java/com/uas/service/donate/service/impl/UserServiceImpl.java

@@ -2,6 +2,7 @@ package com.uas.service.donate.service.impl;
 
 import com.uas.account.util.AccountUtils;
 import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.service.donate.core.support.SystemSession;
 import com.uas.service.donate.dao.*;
 import com.uas.service.donate.model.*;
@@ -147,13 +148,15 @@ public class UserServiceImpl implements UserService {
      * @return 用户分页
      */
     @Override
-    public Page<MessageDetail> getMessage(PageInfo pageInfo, SearchFilter filter) {
+    public Page<MessageDetail> getMessage(final PageInfo pageInfo, SearchFilter filter) {
         if (null != SystemSession.getUser()) {
             final Long userUU = SystemSession.getUser().getUserUU();
             return messageDetailDao.findAll(new Specification<MessageDetail>() {
                 @Override
                 public Predicate toPredicate(Root<MessageDetail> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
-                    query.where(cb.equal(root.get("receiveUserUU"), userUU));
+                    pageInfo.expression(PredicateUtils.or(PredicateUtils.eq("receiveUserUU", userUU, false),
+                            PredicateUtils.eq("message.receiver", "所有人", false)));
+                    query.where(pageInfo.getPredicates(root, query, cb));
                     return null;
                 }
             }, pageInfo);

+ 1 - 0
donate-service/src/main/resources/config/application-dev.properties

@@ -62,4 +62,5 @@ mailGotPrize=
 
 ## messageConfig
 messageGotPrize=
+messageTakeAward=
 messageUrl=http://message.ubtob.com/sms/send

+ 1 - 0
donate-service/src/main/resources/config/application-prod.properties

@@ -62,4 +62,5 @@ mailGotPrize=
 
 ## messageConfig
 messageGotPrize=
+messageTakeAward=
 messageUrl=http://message.ubtob.com/sms/send

+ 1 - 0
donate-service/src/main/resources/config/application-test.properties

@@ -48,4 +48,5 @@ mailGotPrize=
 
 ## messageConfig
 messageGotPrize=
+messageTakeAward=
 messageUrl=http://message.ubtob.com/sms/send

+ 68 - 35
donate-service/src/main/webapp/resources/js/user/controllers/UserCtrl.js

@@ -38,41 +38,74 @@ define([ 'app/app' ], function(app) {
             }
         };
 
-        // 根据标签获取不同数据
-        $scope.tableParams = new ngTableParams({
-            page: 1,
-            count: 5,
-            sorting: {
-                'id': 'desc'
-            }
-        }, {
-            total: 0,
-            counts: [],
-            getData: function ($defer, params) {
-                $scope.loading = true;
-                var pageParams = params.url();
-                var realActive = {};
-                pageParams.searchFilter = { // 筛选条件
-                    keyword: $scope.keyword
-                    // fromDate: getDateTime($scope.condition.dateFrom),
-                    // endDate: getDateTime($scope.condition.dateTo)
-                };
-                // AccountEnterprise.get({}, function(data){
-                //     $scope.currentEn = data;
-                // });
-                User[getState($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
-                    $scope.loading = false;
-                    if (page) {
-                        params.total(page.totalElements);
-                        $defer.resolve(page.content);
-                        // $scope.keywordXls = angular.copy($scope.keyword); // 保存当前取值的关键词  做导出时需要的字段
-                    }
-                }, function (response) {
-                    $scope.loading = false;
-                    toaster.pop('error', '数据加载失败', response.data);
-                });
-            }
-        });
+        // 根据标签获取不同数据(排序不同)
+        if ($scope.active == 'message') {
+            $scope.tableParams = new ngTableParams({
+                page: 1,
+                count: 5,
+                sorting: {
+                    'readStatus': 'asc',
+                    'id': 'desc'
+                }
+            }, {
+                total: 0,
+                counts: [],
+                getData: function ($defer, params) {
+                    $scope.loading = true;
+                    var pageParams = params.url();
+                    var realActive = {};
+                    pageParams.searchFilter = { // 筛选条件
+                        keyword: $scope.keyword
+                        // fromDate: getDateTime($scope.condition.dateFrom),
+                        // endDate: getDateTime($scope.condition.dateTo)
+                    };
+                    User[getState($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
+                        $scope.loading = false;
+                        if (page) {
+                            params.total(page.totalElements);
+                            $defer.resolve(page.content);
+                            // $scope.keywordXls = angular.copy($scope.keyword); // 保存当前取值的关键词  做导出时需要的字段
+                        }
+                    }, function (response) {
+                        $scope.loading = false;
+                        toaster.pop('error', '数据加载失败', response.data);
+                    });
+                }
+            });
+        } else {
+            $scope.tableParams = new ngTableParams({
+                page: 1,
+                count: 5,
+                sorting: {
+                    'id': 'desc'
+                }
+            }, {
+                total: 0,
+                counts: [],
+                getData: function ($defer, params) {
+                    $scope.loading = true;
+                    var pageParams = params.url();
+                    var realActive = {};
+                    pageParams.searchFilter = { // 筛选条件
+                        keyword: $scope.keyword
+                        // fromDate: getDateTime($scope.condition.dateFrom),
+                        // endDate: getDateTime($scope.condition.dateTo)
+                    };
+                    User[getState($scope.active)].call(null, BaseService.parseParams(pageParams), function (page) {
+                        $scope.loading = false;
+                        if (page) {
+                            params.total(page.totalElements);
+                            $defer.resolve(page.content);
+                            // $scope.keywordXls = angular.copy($scope.keyword); // 保存当前取值的关键词  做导出时需要的字段
+                        }
+                    }, function (response) {
+                        $scope.loading = false;
+                        toaster.pop('error', '数据加载失败', response.data);
+                    });
+                }
+            });
+        }
+
 
         // 获取历史数据
         var loadData = function() {