jiangping
2023-10-11 146442fe47b195f899e567eafc1d32f05c3bc13c
接口整理
已修改21个文件
283 ■■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/BikeRepairController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/MemberController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/MemberRidesController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/RefundController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/WxBillController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/constants/Constants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairProblemDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairQuery.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/MemberRidesQuery.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/GoodsorderDetailDTO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/PayOrderDTO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/BikeRepairService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/BikeRepairController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.BikeRepair;
import com.doumee.dao.business.model.Multifile;
import com.doumee.dao.business.web.request.BikeRepairDTO;
import com.doumee.dao.business.web.request.BikeRepairQuery;
import com.doumee.service.business.BikeRepairService;
@@ -69,12 +70,18 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @ApiOperation("坏车上报_分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:bikerepair:query")
    public ApiResponse<PageData<BikeRepairDTO>> findPage (@RequestBody PageWrap<BikeRepairQuery> pageWrap) {
        return ApiResponse.success(bikeRepairService.findPage(pageWrap));
    }
    @ApiOperation("坏车上报_查询问题附件列表")
    @GetMapping("/getFileList/{id}")
    @RequiresPermissions("business:bikerepair:query")
    public ApiResponse<List<Multifile>> getFileList (@PathVariable String id) {
        return ApiResponse.success(bikeRepairService.getBikeRepairProblemDTO(id));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -11,6 +11,7 @@
import com.doumee.dao.business.model.WxBillDetail;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
import io.swagger.annotations.Api;
@@ -74,7 +75,7 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @ApiOperation("订单列表-分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<PageData<Goodsorder>> findPage (@RequestBody PageWrap<Goodsorder> pageWrap) {
@@ -87,23 +88,29 @@
        return ApiResponse.success(goodsorderService.getTotalData(pageWrap));
    }
    @ApiOperation("导出Excel")
    @ApiOperation("订单列表-导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(Goodsorder.class).export(goodsorderService.findPage(pageWrap).getRecords(), "自行车信息表", response);
    }
        ExcelExporter.build(Goodsorder.class).exportWithFirstAndEnd(goodsorderService.findPage(pageWrap).getRecords(), "订单列表_"+System.currentTimeMillis(),"订单列表_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    @ApiOperation("账单收款明细_导出Excel")
    @PostMapping("/exportNotBikeExcel")
    @RequiresPermissions("business:wxbilldetail:exportExcel")
    public void exportNotBikeExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(GoodsorderExportVO.class).exportWithFirstAndEnd(goodsorderService.findExportNotBikPage(pageWrap.getModel()), "账单收款明细_"+System.currentTimeMillis(),"账单收款明细_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    }
    @ApiOperation("收款明细(微信对账明细)_分页查询")
    @PostMapping("/pageAccountDetail")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<PageData<GoodsorderExportVO>> findPageAccountDetail(@RequestBody PageWrap<Goodsorder> pageWrap) {
        return ApiResponse.success(goodsorderService.findAccountDetailPage(pageWrap));
    }
    @ApiOperation("收款明细(微信对账明细)_导出Excel")
    @PostMapping("/exportAccountDetailExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
    public void exportAccountDetailExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(GoodsorderExportVO.class).exportWithFirstAndEnd(goodsorderService.findExportAccountDetailPage(pageWrap.getModel()), "账单收款明细_"+System.currentTimeMillis(),"账单收款明细_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse findById(@PathVariable String id) {
        return ApiResponse.success(goodsorderService.findById(id));
    public ApiResponse<GoodsorderDetailDTO> findById(@PathVariable String id) {
        return ApiResponse.success(goodsorderService.getGoodsorderDetailDTO(id));
    }
}
server/platform/src/main/java/com/doumee/api/business/MemberController.java
@@ -75,10 +75,10 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID修改卡信息")
    @PostMapping("/updateById")
    @ApiOperation("管理员配置_根据ID修改信息")
    @PostMapping("/updateMangerById")
    @RequiresPermissions("business:member:update")
    public ApiResponse update(@RequestBody Member member){
    public ApiResponse updateMangerById(@RequestBody Member member){
        memberService.update(member);
        return ApiResponse.success(null);
    }
server/platform/src/main/java/com/doumee/api/business/MemberRidesController.java
@@ -78,7 +78,7 @@
        memberRidesService.forceBack(memberRides);
        return ApiResponse.success(null);
    }
    @ApiOperation("强制还车")
    @ApiOperation("修改骑行时长")
    @PostMapping("/updateDuration")
    @RequiresPermissions("business:memberrides:updateDuration")
    public ApiResponse updateDuration(@RequestBody MemberRides memberRides) {
@@ -86,11 +86,17 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @ApiOperation("用户骑行记录_分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:memberrides:query")
    public ApiResponse<PageData<MemberRidesDTO>> findPage (@RequestBody PageWrap<MemberRidesQuery> pageWrap) {
        return ApiResponse.success(memberRidesService.findPage(pageWrap));
    }
    @ApiOperation("车辆取还记录_分页查询")
    @PostMapping("/pageBikeLog")
    @RequiresPermissions("business:memberrides:query")
    public ApiResponse<PageData<BikeLogDTO>> findPageBikeLog (@RequestBody PageWrap<MemberRidesQuery> pageWrap) {
        return ApiResponse.success(memberRidesService.findBikeLog(pageWrap));
    }
    @ApiOperation("导出Excel")
@@ -100,13 +106,13 @@
        ExcelExporter.build(MemberRidesDTO.class).export(memberRidesService.findPage(pageWrap).getRecords(), "用户骑行记录表", response);
    }
    @ApiOperation("用户骑行记录导出excel")
    @ApiOperation("用户骑行记录_导出excel")
    @PostMapping("/exportMemberRidesExcel")
    @RequiresPermissions("business:memberrides:exportExcel")
    public void exportMemberRidesExcel (@RequestBody PageWrap<MemberRidesQuery> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(MemberRidesDTO.class).exportWithFirstAndEnd(memberRidesService.findPage(pageWrap).getRecords(),"用户骑行记录_"+System.currentTimeMillis(),"用户骑行记录_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    }
    @ApiOperation("车辆取还记录导出excel")
    @ApiOperation("车辆取还记录_导出excel")
    @PostMapping("/exportBikeLogExcel")
    @RequiresPermissions("business:memberrides:exportExcel")
    public void exportBikeLogExcel (@RequestBody PageWrap<MemberRidesQuery> pageWrap, HttpServletResponse response) {
server/platform/src/main/java/com/doumee/api/business/RefundController.java
@@ -76,8 +76,8 @@
    public ApiResponse<PageData<Refund>> findPage (@RequestBody PageWrap<Refund> pageWrap) {
        return ApiResponse.success(refundService.findPage(pageWrap));
    }
    @ApiOperation("后台结算记录")
    @PostMapping("/page")
    @ApiOperation("后台结算记录_分页查询")
    @PostMapping("/pagePlat")
    @RequiresPermissions("business:refund:query")
    public ApiResponse<PageData<Refund>> findPlatPage (@RequestBody PageWrap<Refund> pageWrap) {
        return ApiResponse.success(refundService.findPlatPage(pageWrap));
server/platform/src/main/java/com/doumee/api/business/WxBillController.java
@@ -78,9 +78,9 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @ApiOperation("微信对账汇总_分页查询")
    @PostMapping("/page")
//    @RequiresPermissions("business:wxbill:query")
    @RequiresPermissions("business:wxbill:query")
    public ApiResponse<PageData<WxBill>> findPage (@RequestBody PageWrap<WxBill> pageWrap) {
        return ApiResponse.success(wxBillService.findPage(pageWrap));
    }
@@ -92,9 +92,9 @@
        ExcelExporter.build(WxBill.class).export(wxBillService.findPage(pageWrap).getRecords(), "WxBillController", response);
    }
    @ApiOperation("微信对账明细统计查询")
    @PostMapping("/getTotalBill")
//    @RequiresPermissions("business:wxbilldetail:query")
    @ApiOperation("微信对账明细_查询")
    @PostMapping("/getTotalBillDetail")
    @RequiresPermissions("business:wxbilldetail:query")
    public ApiResponse<List<WxBill>> getTotalBill (@RequestBody WxBill  param) {
        return ApiResponse.success(wxBillService.getTotalBill(param));
    }
server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -470,4 +470,8 @@
        }
        public static BigDecimal translateMoney(BigDecimal money){
            return  Constants.formatDecimalNum(money).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP);
        }
}
server/services/src/main/java/com/doumee/dao/business/model/MemberRides.java
@@ -151,4 +151,8 @@
    @ApiModelProperty(value = "强制还车操作人(关联system_user)")
    private String backUserid;
    @ApiModelProperty(value = "骑行时长")
    @TableField(exist = false)
    private Integer rideTime;
}
server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
@@ -19,7 +19,7 @@
 * @date 2023/09/27 18:06
 */
@Data
@ApiModel("账单导入明细")
@ApiModel("账单导出明细")
public class GoodsorderExportVO {
    @ApiModelProperty(value = "编码")
@@ -30,7 +30,7 @@
    private String code;
    @ApiModelProperty(value = "用户编码(关联member表)")
    @ExcelColumn(name="用户",width = 10,index = 2,align = HorizontalAlignment.CENTER)
    private String openid;
    private String memberOpenid;
    @ApiModelProperty(value = "交易金额")
    @ExcelColumn(name="支付金额",width = 10,index = 3,align = HorizontalAlignment.CENTER)
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairProblemDTO.java
@@ -13,11 +13,6 @@
@Data
@ApiModel("车辆问题上报问题描述")
public class BikeRepairProblemDTO {
    @ApiModelProperty(value = "用户上报问题")
    private String param;
    @ApiModelProperty(value = "附件信息")
    private List<Multifile> list;
}
server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairQuery.java
@@ -17,14 +17,12 @@
    private String openid;
    @ApiModelProperty(value = "车辆编号")
    private String bikeId;
    private String bikeCode;
    @ApiModelProperty(value = "是否处理")
    private Integer status;
    @ApiModelProperty(value = "创建时间开始")
    private Date createDateStart;
    private Date  startDate;
    @ApiModelProperty(value = "创建时间结束")
    private Date createDateEnd;
    private Date endDate;
}
server/services/src/main/java/com/doumee/dao/business/web/request/MemberRidesQuery.java
@@ -39,4 +39,6 @@
    @ApiModelProperty(value = "是否归还 [车辆取还记录(站点) 入参]")
    private Boolean hasBack;
    @ApiModelProperty(value = "结算订单号")
    private String goodsorderId;
}
server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java
@@ -36,6 +36,9 @@
    @ApiModelProperty(value = "骑行时长")
    @ExcelColumn(name="骑行时长",index = 8,width = 10,align = HorizontalAlignment.CENTER)
    private Integer rideTime;
    @ApiModelProperty(value = "计费时长")
//    @ExcelColumn(name="计费时长",index = 8,width = 10,align = HorizontalAlignment.CENTER)
    private Integer duration;
    @ApiModelProperty(value = "借出时间")
    @ExcelColumn(name="借出时间",index = 9,width = 10,align = HorizontalAlignment.CENTER)
server/services/src/main/java/com/doumee/dao/business/web/response/GoodsorderDetailDTO.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.web.response;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.model.MemberRides;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -13,11 +14,13 @@
@Data
@ApiModel("订单详情")
public class GoodsorderDetailDTO {
    @ApiModelProperty(value = "订单本身信息")
    private Goodsorder model;
    @ApiModelProperty(value = "支付明细")
    private List<PayOrderDTO> payOrderDTOList;
    @ApiModelProperty(value = "骑行记录")
    private List<MemberRides> memberRidesList;
    private List<BikeLogDTO> memberRidesList;
}
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesDTO.java
@@ -42,7 +42,7 @@
    @ExcelColumn(name="计费时长(分)",index = 7,width = 10,align = HorizontalAlignment.CENTER)
    private Integer duration;
    @ApiModelProperty(value = "租车时间"))
    @ApiModelProperty(value = "租车时间")
    @ExcelColumn(name="租车时间",index = 8,width = 10,align = HorizontalAlignment.CENTER)
    private Date rentDate;
server/services/src/main/java/com/doumee/dao/business/web/response/PayOrderDTO.java
@@ -17,6 +17,10 @@
    @ApiModelProperty(value = "订单编码")
    private String orderCode;
    @ApiModelProperty(value = "交易单号")
    private String onlineorderId;
    @ApiModelProperty(value = "订单主键")
    private String id;
    @ApiModelProperty(value = "支付方式 0微信 1支付宝")
    private Integer payWay;
server/services/src/main/java/com/doumee/service/business/BikeRepairService.java
@@ -3,6 +3,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.BikeRepair;
import com.doumee.dao.business.model.Multifile;
import com.doumee.dao.business.web.request.BikeRepairDTO;
import com.doumee.dao.business.web.request.BikeRepairProblemDTO;
import com.doumee.dao.business.web.request.BikeRepairQuery;
@@ -97,7 +98,7 @@
     * 获取上报人的保修信息
     * @return BikeRepairProblemDTO
     */
    BikeRepairProblemDTO getBikeRepairProblemDTO(String id);
    List<Multifile> getBikeRepairProblemDTO(String id);
    /**
     * 条件统计
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -96,7 +96,7 @@
     * @return PageData<Goodsorder>
     */
    PageData<Goodsorder> findPage(PageWrap<Goodsorder> pageWrap);
    PageData<GoodsorderExportVO> findAccountDetailPage(PageWrap<Goodsorder> pageWrap);
    /**
     * 条件统计
     *
@@ -166,7 +166,7 @@
    Goodsorder findOneByWrapper(QueryWrapper<Goodsorder> wrapper);
    List<GoodsorderExportVO> findExportNotBikPage(Goodsorder model);
    List<GoodsorderExportVO> findExportAccountDetailPage(Goodsorder model);
    void goodsOrderSettlement(String orderId);
}
server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java
@@ -20,11 +20,11 @@
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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
@@ -112,46 +112,23 @@
        IPage<BikeRepair> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<BikeRepair> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getCreateDateStart() != null
                && pageWrap.getModel().getCreateDateEnd() != null) {
            queryWrapper.ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()));
            queryWrapper.le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()));
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.eq(BikeRepair::getStatus, pageWrap.getModel().getStatus());
        }
        queryWrapper.leftJoin(Member.class,Member::getId,BikeRepair::getMemberId)
                    .leftJoin(Bikes.class,Bikes::getId,BikeRepair::getBinkeId)
                    .leftJoin(BaseParam.class,BaseParam::getId,Bikes::getParamId)
                    .leftJoin("base_param bpp on b.param_id = bp.id and bp.type = 1");
        queryWrapper.selectAs(Member::getOpenid,BikeRepairDTO::getOpenid)
                    .selectAs(BikeRepair::getLinkname,BikeRepairDTO::getLinkname)
                    .selectAs(BikeRepair::getLinkphone,BikeRepairDTO::getLinkphone)
                    .leftJoin(BaseParam.class,BaseParam::getId,Bikes::getParamId);
        queryWrapper.selectAll(BikeRepair.class)
                    .selectAs(Member::getOpenid,BikeRepairDTO::getOpenid)
                    .selectAs(Bikes::getCode,BikeRepairDTO::getBikeCode)
                    .selectAs(BikeRepair::getCreateDate,BikeRepairDTO::getCreateDate)
                    .selectAs(BikeRepair::getStatus,BikeRepairDTO::getStatus)
                    .selectAs(BaseParam::getName,BikeRepairDTO::getBikeTypeName)
                    .select("bpp.name as problemName");
        queryWrapper.like(!StringUtils.isEmpty(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid())
                    .like(!StringUtils.isEmpty(pageWrap.getModel().getBikeId()),Bikes::getId,pageWrap.getModel().getBikeId())
                    .eq(!StringUtils.isEmpty(pageWrap.getModel().getStatus()),BikeRepair::getStatus,pageWrap.getModel().getStatus())
                    .ge(Objects.nonNull(pageWrap.getModel().getCreateDateStart()),
                            BikeRepair::getCreateDate,
                            Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
                    .le(Objects.nonNull(pageWrap.getModel().getCreateDateEnd()),
                            BikeRepair::getCreateDate,
                            Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd()));
                    .selectAs(BaseParam::getName,BikeRepairDTO::getBikeTypeName);
        queryWrapper.like(StringUtils.isNotEmpty(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid())
                    .like(StringUtils.isNotEmpty(pageWrap.getModel().getBikeCode()),Bikes::getCode,pageWrap.getModel().getBikeCode())
                    .eq( pageWrap.getModel().getStatus() !=null,BikeRepair::getStatus,pageWrap.getModel().getStatus())
                    .ge(Objects.nonNull(pageWrap.getModel().getStartDate()),BikeRepair::getCreateDate,pageWrap.getModel().getStartDate())
                    .le(Objects.nonNull(pageWrap.getModel().getEndDate()),BikeRepair::getCreateDate,pageWrap.getModel().getEndDate());
        return PageData.from(bikeRepairJoinMapper.selectJoinPage(page, BikeRepairDTO.class,queryWrapper));
    }
    @Override
    public BikeRepairProblemDTO getBikeRepairProblemDTO(String id) {
        BikeRepairProblemDTO bikeRepairProblemDTO = new BikeRepairProblemDTO();
        BikeRepair bikeRepair = bikeRepairMapper.selectById(id);
        bikeRepairProblemDTO.setParam(bikeRepair.getParam());
//        multifileMapper.multifile);
    public List<Multifile> getBikeRepairProblemDTO(String id) {
        QueryWrapper<Multifile> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(Multifile::getObjId,id)
@@ -159,16 +136,17 @@
                .eq(Multifile::getIsdeleted,Constants.ZERO);
        List<Multifile> multifiles = multifileMapper.selectList(wrapper);
        //TODO 需要修改
        String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode();
        String projectFile = systemDictDataBiz.queryByCode(Constants.OSS, Constants.PROJECT_FILE).getCode();
        String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+ systemDictDataBiz.queryByCode(Constants.OSS, Constants.PROJECT_FILE).getCode();
        if (!CollectionUtils.isEmpty(multifiles)){
            multifiles.forEach(s->{
                s.setFileurlfull(path+projectFile+s.getFileurl());
                if(StringUtils.isNotBlank(s.getFileurl())){
                    //完整附件地址
                    s.setFileurlfull(path+s.getFileurl());
                }
            });
            bikeRepairProblemDTO.setList(multifiles);
        }
        return null;
        return multifiles;
    }
    @Override
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -26,11 +26,13 @@
import com.doumee.dao.business.model.MemberRides;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.MemberRidesQuery;
import com.doumee.dao.business.web.request.RefundDTO;
import com.doumee.dao.business.web.response.*;
import com.doumee.dao.business.join.MemberRidesJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.MemberRidesService;
import com.doumee.service.business.PricingRuleService;
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
@@ -161,43 +163,51 @@
        return goodsorderMapper.selectList(wrapper);
    }
    @Override
    public   List<GoodsorderExportVO> findExportNotBikPage(Goodsorder model){
        List<GoodsorderExportVO> list = new ArrayList<>();
    public PageData<GoodsorderExportVO> findAccountDetailPage(PageWrap<Goodsorder> pageWrap) {
        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        pageWrap.getModel().setPayStatus(Constants.ONE); //只查询支付成功的
        MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(pageWrap.getModel());
        return PageData.from(goodsorderJoinMapper.selectJoinPage(page, GoodsorderExportVO.class,queryWrapper));
    }
    @Override
    public   List<GoodsorderExportVO> findExportAccountDetailPage(Goodsorder model){
//        List<GoodsorderExportVO> list = new ArrayList<>();
        model.setPayStatus(Constants.ONE); //只查询支付成功的
        MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(model);
        List<Goodsorder> goodsorderList = goodsorderJoinMapper.selectJoinList(Goodsorder.class,queryWrapper);
        if(goodsorderList!=null){
        List<GoodsorderExportVO> goodsorderList = goodsorderJoinMapper.selectJoinList(GoodsorderExportVO.class,queryWrapper);
       /* if(goodsorderList!=null){
            for(Goodsorder order : goodsorderList){
                GoodsorderExportVO vo = new GoodsorderExportVO();
                vo.setId(order.getId());
                vo.setCode(order.getCode());
                vo.setOpenid(order.getMemberOpenid());
                vo.setPayDate(order.getPayDate());
                vo.setCloseDate(order.getCloseDate());
                vo.setCloseDate(order.getCloseDate());
                vo.setCloseMoney(Constants.formatDecimalNum(order.getCloseMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP));
                vo.setMoney(Constants.translateMoney(order.getMoney()));
                vo.setCloseMoney(Constants.translateMoney(order.getCloseMoney()));
                vo.setRefundDate(order.getRefundDate());
                vo.setRefundMoney(Constants.formatDecimalNum(order.getRefundMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP));
                vo.setRefundMoney(Constants.translateMoney(order.getRefundMoney()));
                list.add(vo);
            }
        }
        return list;
        }*/
        return goodsorderList;
    }
    private MPJLambdaWrapper<Goodsorder> initQueryParamByModel(Goodsorder model) {
        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(model);
        queryWrapper.selectAll(Goodsorder.class);
        queryWrapper.selectAs(Member::getOpenid, Goodsorder::getMemberOpenid);
        queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
        queryWrapper.select("select max(r.done_date) from refund r where t1.obj_id=t.id  and r.status=2 ) as refund_date");
        queryWrapper.select("select sum(r.money) from refund r where t1.obj_id=t.id and r.status=2) as refund_money");
        queryWrapper.select("(select max(r.done_date) from refund r where r.obj_id=t.id  and r.status=2 ) as refund_date");
        queryWrapper.select("(select sum(r.money) from refund r where r.obj_id=t.id and r.status=2) as refund_money");
        //时间段筛选
        queryWrapper.ge(model.getStartDate()!=null, Goodsorder::getPayDate, model.getStartDate());
        queryWrapper.le(model.getEndDate()!=null, Goodsorder::getPayDate, model.getEndDate());
        queryWrapper.eq(model.getPayStatus() !=null,Goodsorder::getPayStatus,model.getPayStatus());
        queryWrapper.eq(model.getCode() !=null,Goodsorder::getCode,model.getCode());
        queryWrapper.like(model.getCode() !=null,Goodsorder::getCode,model.getCode());
        queryWrapper.like(model.getId() !=null,Goodsorder::getId,model.getId());
        queryWrapper.eq(model.getStatus() !=null,Goodsorder::getStatus,model.getStatus());
        queryWrapper.eq(model.getOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getOnlineOrderid());
        queryWrapper.like(model.getOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getOnlineOrderid());
        queryWrapper.like(model.getMemberOpenid() !=null,Member::getOpenid,model.getMemberOpenid());
        queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
        queryWrapper.orderByDesc(Goodsorder::getPayDate);
@@ -211,6 +221,7 @@
        MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(pageWrap.getModel());
        return PageData.from(goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class,queryWrapper));
    }
    @Override
    public long count(Goodsorder goodsorder) {
@@ -276,35 +287,42 @@
        List<PayOrderDTO> payOrderDTOList = new ArrayList<>();
        Goodsorder goodsorder = goodsorderMapper.selectById(id);
        if(goodsorder == null){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY );
        }
        QueryWrapper<Refund> refundQuery = new QueryWrapper<>();
        refundQuery.lambda()
                    .eq(Refund::getObjId,id);
                .eq(Refund::getObjId,id)
                .orderByAsc(Refund::getDoneDate);
        //查询所有有退款记录
        List<Refund> refunds = refundMapper.selectList(refundQuery);
        PayOrderDTO payOrderDTO = new PayOrderDTO();
        payOrderDTO.setId(goodsorder.getId());
        payOrderDTO.setOrderCode(goodsorder.getCode());
        payOrderDTO.setPayWay(goodsorder.getPayWay());
        payOrderDTO.setMoney(goodsorder.getMoney());
        payOrderDTO.setMoney(Constants.translateMoney(goodsorder.getMoney()));
        payOrderDTO.setPayDate(goodsorder.getPayDate());
        payOrderDTO.setOnlineorderId(goodsorder.getOnlineOrderid());
        payOrderDTOList.add(0,payOrderDTO);
        if (!CollectionUtils.isEmpty(refunds)){
            refunds.forEach(s->{
                PayOrderDTO refundOrderDTO = new PayOrderDTO();
                refundOrderDTO.setOrderCode(s.getCode());
                refundOrderDTO.setId(s.getId());
                refundOrderDTO.setPayWay(s.getPayWay());
                refundOrderDTO.setRefundType(s.getType());
                refundOrderDTO.setMoney(s.getMoney());
                refundOrderDTO.setMoney(Constants.translateMoney(s.getMoney()));
                refundOrderDTO.setPayDate(s.getDoneDate());
                payOrderDTOList.add(refundOrderDTO);
            });
        }
        MPJLambdaWrapper<MemberRides> wrapper = new MPJLambdaWrapper<>();
        wrapper.leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId)
                .eq(BaseParam::getType, Constants.THREE);
        List<MemberRides> memberRides = memberRidesJoinMapper.selectJoinList(MemberRides.class, wrapper);
        MemberRidesQuery query = new MemberRidesQuery();
        query.setGoodsorderId(goodsorder.getId());
        List<BikeLogDTO> memberRides = MemberRidesServiceImpl.findBikeLogList(memberRidesJoinMapper,query);
        GoodsorderDetailDTO goodsorderDetailDTO = new GoodsorderDetailDTO();
        goodsorderDetailDTO.setPayOrderDTOList(payOrderDTOList);
        goodsorderDetailDTO.setMemberRidesList(memberRides);
        goodsorderDetailDTO.setPayOrderDTOList(payOrderDTOList);//交易明细
        goodsorderDetailDTO.setMemberRidesList(memberRides);//骑行记录
        goodsorderDetailDTO.setModel(goodsorder);//订单对象
        return goodsorderDetailDTO;
    }
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -1,9 +1,11 @@
package com.doumee.service.business.impl;
import com.alibaba.fastjson.JSONObject;
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.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -11,16 +13,10 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.GoodsorderMapper;
import com.doumee.dao.business.LocksMapper;
import com.doumee.dao.business.ActionLogMapper;
import com.doumee.dao.business.LocksMapper;
import com.doumee.dao.business.MemberRidesMapper;
import com.doumee.dao.business.join.MemberRidesJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.BaseParam;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberRides;
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.web.request.MemberRidesQuery;
import com.doumee.dao.business.web.response.BikeLogDTO;
@@ -29,14 +25,9 @@
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.MemberRidesService;
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.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -46,7 +37,6 @@
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
/**
 * 用户骑行记录表Service实现
@@ -174,28 +164,37 @@
        IPage<MemberRides> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<MemberRides> queryWrapper = initQueryParamByModel(pageWrap.getModel());
        IPage<BikeLogDTO> bikeLogDTOIPage = memberRidesJoinMapper.selectJoinPage(page, BikeLogDTO.class, queryWrapper);
        if (!CollectionUtils.isEmpty(bikeLogDTOIPage.getRecords())){
            bikeLogDTOIPage.getRecords().forEach(s->{
        initBikeLogObj(bikeLogDTOIPage.getRecords());
        return PageData.from(bikeLogDTOIPage);
    }
    public static List<BikeLogDTO> findBikeLogList( MemberRidesJoinMapper mrJoinMapper,MemberRidesQuery pageWrap) {
        MPJLambdaWrapper<MemberRides> queryWrapper = initQueryParamByModel(pageWrap);
        List<BikeLogDTO> list = mrJoinMapper.selectJoinList( BikeLogDTO.class, queryWrapper);
        initBikeLogObj(list);
        return list;
    }
    public static void initBikeLogObj(List<BikeLogDTO> list){
        if (!CollectionUtils.isEmpty(list)){
            list.forEach(s->{
                if (Objects.nonNull(s.getBackDate())){
                    s.setRideTime(DateUtil.betweenMin(s.getRentDate(),s.getBackDate()));
                }
            });
        }
        return PageData.from(bikeLogDTOIPage);
    }
    private MPJLambdaWrapper<MemberRides> initQueryParamByModel(MemberRidesQuery model) {
    public  static MPJLambdaWrapper<MemberRides> initQueryParamByModel(MemberRidesQuery model) {
        MPJLambdaWrapper<MemberRides> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(model);
        queryWrapper.orderByDesc(MemberRides::getCreateDate);
        queryWrapper.leftJoin(Member.class,Member::getId,MemberRides::getMemberId)
                .leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId)
                .eq(BaseParam::getType, Constants.THREE)
                .like(StringUtils.isNotBlank(model.getOpenid()),Member::getOpenid,model.getOpenid())
                .like(StringUtils.isNotBlank(model.getBikeCode()),MemberRides::getBikeCode,model.getBikeCode());
        queryWrapper.ge(model.getRentDateStart()!=null, MemberRides::getRentDate,model.getRentDateStart());
        queryWrapper.le(model.getRentDateEnd()!=null, MemberRides::getRentDate,model.getRentDateEnd());
        queryWrapper.eq(model.getCloseStatus()!=null,MemberRides::getCloseStatus, model.getCloseStatus());
        queryWrapper.eq(model.getGoodsorderId()!=null,MemberRides::getOrdreId, model.getGoodsorderId());
        queryWrapper.selectAs(Member::getOpenid,MemberRidesDTO::getOpenid)
                .selectAs(MemberRides::getBikeCode,MemberRidesDTO::getBikeCode)
                .selectAs(MemberRides::getCloseStatus,MemberRidesDTO::getCloseStatus)