jiangping
2023-10-10 32b07077c733dce160ead4935e205e46755f3caf
后台结算记录
已添加1个文件
已修改4个文件
170 ■■■■■ 文件已修改
server/services/src/main/java/com/doumee/dao/business/join/ActionLogJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/ActionLog.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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> {
}
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;
}
server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java
@@ -142,10 +142,10 @@
    @ApiModelProperty(value = "还车类型 0正常还车 1强制还车")
    private Integer backType;
    @ApiModelProperty(value = "还车原因")
    @ApiModelProperty(value = "还车原因(减免时长原因也使用该参数传值)")
    private String backReason;
    @ApiModelProperty(value = "还车备注")
    @ApiModelProperty(value = "还车备注(减免时长备注也使用该参数传值)")
    private String backInfo;
    @ApiModelProperty(value = "强制还车操作人(关联system_user)")
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){
                    //如果是骑行记录关联对象,则使用beforeContent
                    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
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);