From 32b07077c733dce160ead4935e205e46755f3caf Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 十月 2023 16:48:03 +0800
Subject: [PATCH] 后台结算记录

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   10 +++
 server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java               |    4 
 server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java   |  116 +++++++++++++++-----------------------
 server/services/src/main/java/com/doumee/dao/business/model/ActionLog.java                 |   27 +++++++-
 server/services/src/main/java/com/doumee/dao/business/join/ActionLogJoinMapper.java        |   13 ++++
 5 files changed, 94 insertions(+), 76 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/dao/business/join/ActionLogJoinMapper.java b/server/services/src/main/java/com/doumee/dao/business/join/ActionLogJoinMapper.java
new file mode 100644
index 0000000..1379a81
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/dao/business/join/ActionLogJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ActionLog;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/09/27 18:06
+ */
+public interface ActionLogJoinMapper extends MPJJoinMapper<ActionLog> {
+
+}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/ActionLog.java b/server/services/src/main/java/com/doumee/dao/business/model/ActionLog.java
index 5ad6827..0af2edf 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/ActionLog.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/ActionLog.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -9,6 +10,7 @@
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 绯荤粺琛屼负鎿嶄綔璁板綍琛�
@@ -58,9 +60,12 @@
     @ExcelColumn(name="鍐呭")
     private String content;
 
-    @ApiModelProperty(value = "绫诲瀷 ", example = "1")
+    @ApiModelProperty(value = "绫诲瀷 0寮哄埗杩樿溅 1楠戣鏃堕暱淇敼", example = "1")
     @ExcelColumn(name="绫诲瀷 ")
     private Integer type;
+    @ApiModelProperty(value = "绫诲瀷闆嗗悎", example = "1")
+    @TableField(exist = false)
+    private List<Integer> typeList;
 
     @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
     @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
@@ -101,8 +106,22 @@
     @ApiModelProperty(value = "鎿嶄綔缁撴灉 0鎴愬姛 1澶辫触", example = "1")
     @ExcelColumn(name="鎿嶄綔缁撴灉 0鎴愬姛 1澶辫触")
     private Integer result;
-    @ApiModelProperty(value = "鎿嶄綔缁撴灉 0鎴愬姛 1澶辫触", example = "1")
-    @ExcelColumn(name="鎿嶄綔缁撴灉 0鎴愬姛 1澶辫触")
-    private Integer result;
+    @ApiModelProperty(value = "鎿嶄綔鍘熷洜")
+    private String actReason;
+
+    @ApiModelProperty(value = "鎿嶄綔澶囨敞")
+    private String actInfo;
+
+    @ApiModelProperty(value = "楠戣璁板綍瀵硅薄" )
+    @TableField(exist = false)
+    private MemberRides ridesObj;
+    @ApiModelProperty(value = "鏌ヨ寮�濮嬫棩鏈燂紙鍖呭惈锛�", example = "2023-10-01 15:12:01")
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startDate;
+    @ApiModelProperty(value = "鏌ヨ鎴鏃ユ湡锛堝寘鍚級", example = "2023-10-09 15:12:05")
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endDate;
 
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java b/server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java
index 633f2be..c7849ce 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java
@@ -142,10 +142,10 @@
     @ApiModelProperty(value = "杩樿溅绫诲瀷 0姝e父杩樿溅 1寮哄埗杩樿溅")
     private Integer backType;
 
-    @ApiModelProperty(value = "杩樿溅鍘熷洜")
+    @ApiModelProperty(value = "杩樿溅鍘熷洜(鍑忓厤鏃堕暱鍘熷洜涔熶娇鐢ㄨ鍙傛暟浼犲��)")
     private String backReason;
 
-    @ApiModelProperty(value = "杩樿溅澶囨敞")
+    @ApiModelProperty(value = "杩樿溅澶囨敞(鍑忓厤鏃堕暱澶囨敞涔熶娇鐢ㄨ鍙傛暟浼犲��)")
     private String backInfo;
 
     @ApiModelProperty(value = "寮哄埗杩樿溅鎿嶄綔浜�(鍏宠仈system_user)")
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java
index 3fa2dd7..5515eca 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java
@@ -1,15 +1,26 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.core.constants.Constants;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.ActionLogMapper;
+import com.doumee.dao.business.join.ActionLogJoinMapper;
 import com.doumee.dao.business.model.ActionLog;
+import com.doumee.dao.business.model.BaseParam;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.MemberRides;
+import com.doumee.dao.business.web.response.BikeLogDTO;
+import com.doumee.dao.business.web.response.MemberRidesDTO;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.ActionLogService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -26,6 +37,8 @@
 
     @Autowired
     private ActionLogMapper actionLogMapper;
+    @Autowired
+    private ActionLogJoinMapper actionLogJoinMapper;
 
     @Override
     public String create(ActionLog actionLog) {
@@ -86,79 +99,42 @@
   
     @Override
     public PageData<ActionLog> findPage(PageWrap<ActionLog> pageWrap) {
-        IPage<ActionLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<ActionLog> queryWrapper = new QueryWrapper<>();
+
+        IPage<MemberRides> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+
+        MPJLambdaWrapper<ActionLog> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(ActionLog::getId, pageWrap.getModel().getId());
-        }
-        if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(ActionLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(ActionLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
-        }
-        if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(ActionLog::getCreator, pageWrap.getModel().getCreator());
-        }
-        if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(ActionLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(ActionLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
-        }
-        if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(ActionLog::getEditor, pageWrap.getModel().getEditor());
-        }
-        if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(ActionLog::getIsdeleted, pageWrap.getModel().getIsdeleted());
-        }
-        if (pageWrap.getModel().getInfo() != null) {
-            queryWrapper.lambda().eq(ActionLog::getInfo, pageWrap.getModel().getInfo());
-        }
-        if (pageWrap.getModel().getTitle() != null) {
-            queryWrapper.lambda().eq(ActionLog::getTitle, pageWrap.getModel().getTitle());
-        }
-        if (pageWrap.getModel().getContent() != null) {
-            queryWrapper.lambda().eq(ActionLog::getContent, pageWrap.getModel().getContent());
-        }
-        if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(ActionLog::getType, pageWrap.getModel().getType());
-        }
-        if (pageWrap.getModel().getObjId() != null) {
-            queryWrapper.lambda().eq(ActionLog::getObjId, pageWrap.getModel().getObjId());
-        }
-        if (pageWrap.getModel().getObjType() != null) {
-            queryWrapper.lambda().eq(ActionLog::getObjType, pageWrap.getModel().getObjType());
-        }
-        if (pageWrap.getModel().getUserId() != null) {
-            queryWrapper.lambda().eq(ActionLog::getUserId, pageWrap.getModel().getUserId());
-        }
-        if (pageWrap.getModel().getUserType() != null) {
-            queryWrapper.lambda().eq(ActionLog::getUserType, pageWrap.getModel().getUserType());
-        }
-        if (pageWrap.getModel().getBeforeContent() != null) {
-            queryWrapper.lambda().eq(ActionLog::getBeforeContent, pageWrap.getModel().getBeforeContent());
-        }
-        if (pageWrap.getModel().getAfterContent() != null) {
-            queryWrapper.lambda().eq(ActionLog::getAfterContent, pageWrap.getModel().getAfterContent());
-        }
-        if (pageWrap.getModel().getParam() != null) {
-            queryWrapper.lambda().eq(ActionLog::getParam, pageWrap.getModel().getParam());
-        }
-        if (pageWrap.getModel().getParam2() != null) {
-            queryWrapper.lambda().eq(ActionLog::getParam2, pageWrap.getModel().getParam2());
-        }
-        if (pageWrap.getModel().getParam3() != null) {
-            queryWrapper.lambda().eq(ActionLog::getParam3, pageWrap.getModel().getParam3());
-        }
-        if (pageWrap.getModel().getResult() != null) {
-            queryWrapper.lambda().eq(ActionLog::getResult, pageWrap.getModel().getResult());
-        }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
+        queryWrapper.orderByDesc(ActionLog::getCreateDate);
+        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,ActionLog::getUserId);
+        queryWrapper.leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId);
+        queryWrapper.eq(ActionLog::getIsdeleted, Constants.ZERO);
+        queryWrapper.ge(pageWrap.getModel().getStartDate()!=null, ActionLog::getCreateDate,pageWrap.getModel().getStartDate());
+        queryWrapper.le(pageWrap.getModel().getEndDate()!=null, ActionLog::getCreateDate,pageWrap.getModel().getEndDate());
+        queryWrapper.eq(pageWrap.getModel().getCreator()!=null, ActionLog::getCreator,pageWrap.getModel().getCreator());
+        queryWrapper.in(pageWrap.getModel().getTypeList()!=null && pageWrap.getModel().getTypeList().size()>0, ActionLog::getType,pageWrap.getModel().getTypeList());
+        queryWrapper.selectAll(ActionLog.class)
+                .selectAs(SystemUser::getNickname,ActionLog::getCreator);
+
+        IPage<ActionLog> result = actionLogJoinMapper.selectJoinPage(page, ActionLog.class, queryWrapper);
+
+        if(result !=null && result.getRecords()!=null){
+            for (int i = 0; i < result.getRecords().size(); i++) {
+                ActionLog log = result.getRecords().get(i);
+                if(Constants.formatIntegerNum(log.getObjType())== Constants.ActionLogObjType.memberrides){
+                    //濡傛灉鏄獞琛岃褰曞叧鑱斿璞★紝鍒欎娇鐢╞eforeContent
+                    MemberRides memberRides = new MemberRides();
+                    try {
+                        //寮哄埗杞崲楠戣璁板綍瀵硅薄
+                       memberRides = JSONObject.parseObject(log.getBeforeContent(), MemberRides.class);
+                    }catch (Exception e){
+
+                    }
+                    log.setRidesObj(memberRides);
+                }
             }
         }
-        return PageData.from(actionLogMapper.selectPage(page, queryWrapper));
+
+        return PageData.from(result);
     }
 
     @Override
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index 9e40183..2d9fb70 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -202,10 +202,16 @@
         }
         return memberRides.getBikeCode();
     }
+
+    /**
+     * 楠戣鏃堕暱淇敼
+     * @param memberRides
+     */
     @Override
     public  void updateDuration(MemberRides memberRides){
         LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(StringUtils.isBlank(memberRides.getMemberId())
+                ||StringUtils.isBlank(memberRides.getBackReason())
                 || memberRides.getDuration() == null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -237,6 +243,8 @@
 
         ActionLog log = new ActionLog();
         log.setId(Constants.getUUID());
+        log.setActInfo(memberRides.getBackInfo());
+        log.setActReason(memberRides.getBackReason());
         log.setIsdeleted(Constants.ZERO);
         log.setCreateDate(update.getBackDate());
         log.setCreator(user.getId());
@@ -310,6 +318,8 @@
         log.setObjType(Constants.ACTIONLOG_TYPE.FORCE_BACK.getKey());
         log.setContent(Constants.ACTIONLOG_TYPE.FORCE_BACK.getInfo());
         log.setTitle(Constants.ACTIONLOG_TYPE.FORCE_BACK.getName());
+        log.setActInfo(memberRides.getBackInfo());
+        log.setActReason(memberRides.getBackReason());
         //璁板綍鎿嶄綔鏃ュ織
         actionLogMapper.insert(log);
 

--
Gitblit v1.9.3