jiaosong
2023-10-10 801956f3b52d092e88d6c85b809383a1c1f71a05
#pgsql 基础配置 字段值跟新上传
已添加3个文件
已修改11个文件
368 ■■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/BaseParamController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/join/PricingDetailJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/PricingParam.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/MemberRidesService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/PricingParamService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/BaseParamController.java
@@ -10,8 +10,9 @@
import com.doumee.service.business.BaseParamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -34,7 +35,7 @@
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:baseparam:create")
    public ApiResponse create(@RequestBody BaseParam baseParam) {
    public ApiResponse create(@RequestBody @Validated BaseParam baseParam) {
        return ApiResponse.success(baseParamService.create(baseParam));
    }
server/services/src/main/java/com/doumee/dao/business/join/PricingDetailJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.PricingDetail;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.RequestBody;
/**
 * @author T14
 */
@Repository
public interface PricingDetailJoinMapper extends MPJJoinMapper<PricingDetail> {
}
server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -8,6 +9,9 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
/**
@@ -44,10 +48,12 @@
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    @TableLogic
    private Integer isdeleted;
    @ApiModelProperty(value = "名称")
    @ExcelColumn(name="名称")
    @NotBlank
    private String name;
    @ApiModelProperty(value = "排序码(升序)", example = "1")
@@ -56,6 +62,7 @@
    @ApiModelProperty(value = "类型 0车辆保修原因 1强制还车原因 2时长减免原因 3单车类型", example = "1")
    @ExcelColumn(name="类型 0车辆保修原因 1强制还车原因 2时长减免原因 3单车类型")
    @NotEmpty
    private Integer type;
    @ApiModelProperty(value = "状态 0启用 1禁用", example = "1")
server/services/src/main/java/com/doumee/dao/business/model/PricingDetail.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;
@@ -54,8 +55,13 @@
    @ExcelColumn(name="车辆类型编码(关联bike_types表)")
    private String bikeTypeId;
    @ApiModelProperty(value = "车辆类型编码(关联bike_types表)")
    @ExcelColumn(name="车辆类型编码(关联bike_types表)")
    @TableField(exist = false)
    private String bikeTypeName;
    @ApiModelProperty(value = "工作日起步时间(分钟)", example = "1")
    @ExcelColumn(name="工作日起步时间(分钟)")
    @ExcelColumn(name="工作日起步时间(分钟) -1 è¡¨ç¤ºä¸€å£ä»·")
    private Integer baseTime;
    @ApiModelProperty(value = "工作日起步价格(分)", example = "1")
server/services/src/main/java/com/doumee/dao/business/model/PricingParam.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -44,6 +45,7 @@
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    @TableLogic
    private Integer isdeleted;
    @ApiModelProperty(value = "名称")
server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package com.doumee.dao.business.web.response;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author T14
 */
@Data
public class BikeLogDTO {
    @ApiModelProperty(value = "用户OpenID")
    private String openid;
    @ApiModelProperty(value = "车辆编号")
    private String bikeCode;
    @ApiModelProperty(value = "车辆类型")
    private String bikeType;
    @ApiModelProperty(value = "租车站点编码")
    private String rentSiteId;
    @ApiModelProperty(value = "租车站点编码")
    private String rentSiteName;
    @ApiModelProperty(value = "租车锁头编码")
    private String rentLockId;
    @ApiModelProperty(value = "租车锁头编码")
    private String rentLockName;
    @ApiModelProperty(value = "骑行时长")
    private Integer rideTime;
    @ApiModelProperty(value = "租车时间")
    private Date rentDate;
    @ApiModelProperty(value = "还车站点编码")
    private String backSiteId;
    @ApiModelProperty(value = "还车站点编码")
    private String backSiteName;
    @ApiModelProperty(value = "还车锁头编码")
    private String backLockId;
    @ApiModelProperty(value = "还车锁头编码")
    private String backLockName;
    @ApiModelProperty(value = "还车时间")
    private Date backDate;
}
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesQuery.java
@@ -26,4 +26,7 @@
    @ApiModelProperty(value = "借出时间结束")
    private Date rentDateEnd;
    @ApiModelProperty(value = "是否归还 [车辆取还记录(站点) å…¥å‚]")
    private Boolean hasBack;
}
server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.doumee.dao.business.web.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author T14
 */
@Data
public class MiniProgrammeDTO {
    @ApiModelProperty("主页主题")
    private String projectName;
    @ApiModelProperty("服务电话")
    private String serverPhone;
    @ApiModelProperty("押金金额")
    private String rentDeposit;
    @ApiModelProperty("营业时间起始")
    private String businessStarttime;
    @ApiModelProperty("营业时间结束")
    private String businessEndtime;
    @ApiModelProperty("免费骑行时长")
    private String freeRentTime;
    @ApiModelProperty("满足预警最小值")
    private String warnMin;
    @ApiModelProperty("满足预警最大值")
    private String warnMax;
    @ApiModelProperty("小程序预警钉钉群地址")
    private String warnDingdingUrl;
    @ApiModelProperty("租赁流程视频")
    private String rentTipsVideo;
    @ApiModelProperty("骑车通知内容")
    private String rentNotice;
    @ApiModelProperty("是否停止服务")
    private String  isStopServe;
    @ApiModelProperty("停止服务提示")
    private String stopServeTips;
    @ApiModelProperty("停止服务开始")
    private String stopServeStarttime;
    @ApiModelProperty("停止服务结束")
    private String stopServeEndtime;
}
server/services/src/main/java/com/doumee/service/business/MemberRidesService.java
@@ -3,6 +3,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
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.business.web.response.MemberRidesQuery;
@@ -97,4 +98,13 @@
     * @return long
     */
    long count(MemberRides memberRides);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<MemberRides>
     */
    PageData<BikeLogDTO> findBikeLog(PageWrap<MemberRidesQuery> pageWrap);
}
server/services/src/main/java/com/doumee/service/business/PricingParamService.java
@@ -14,7 +14,7 @@
    /**
     * åˆ›å»º
     *
     *
     * @param pricingParam å®žä½“对象
     * @return String
     */
@@ -46,6 +46,8 @@
     *
     * @param pricingParam å®žä½“对象
     */
    void update(PricingParam pricingParam);
    void updateById(PricingParam pricingParam);
    /**
@@ -78,7 +80,7 @@
     * @return List<PricingParam>
     */
    List<PricingParam> findList(PricingParam pricingParam);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
@@ -1,5 +1,9 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
@@ -10,11 +14,14 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * ç³»ç»ŸåŸºç¡€é…ç½®è¡¨Service实现
@@ -29,8 +36,31 @@
    @Override
    public String create(BaseParam baseParam) {
        baseParamMapper.insert(baseParam);
        return baseParam.getId();
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        QueryWrapper<BaseParam> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(BaseParam::getType,baseParam.getType())
                .eq(BaseParam::getType,baseParam.getName());
        Integer count = baseParamMapper.selectCount(wrapper);
        if (count > 0){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"车辆问题已存在");
        }
        BaseParam insert = new BaseParam();
        insert.setCreateDate(new Date());
        insert.setCreator(principal.getId());
        insert.setEditDate(new Date());
        insert.setEditor(principal.getId());
        insert.setIsdeleted(Constants.ZERO);
        insert.setName(baseParam.getName());
        insert.setSortnum(baseParam.getSortnum());
        insert.setType(baseParam.getType());
        insert.setStatus(Constants.ZERO);
        insert.setInfo(baseParam.getInfo());
        insert.setRequired(baseParam.getRequired());
        baseParamMapper.insert(insert);
        return insert.getId();
    }
    @Override
@@ -46,6 +76,7 @@
    @Override
    public void deleteByIdInBatch(List<String> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
@@ -54,7 +85,25 @@
    @Override
    public void updateById(BaseParam baseParam) {
        baseParamMapper.updateById(baseParam);
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        QueryWrapper<BaseParam> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(BaseParam::getType,baseParam.getType())
                .eq(BaseParam::getType,baseParam.getName());
        BaseParam baseParam1 = baseParamMapper.selectOne(wrapper);
        if (Objects.nonNull(baseParam1) && !baseParam1.getId().equals(baseParam.getId())){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"车辆问题已存在");
        }
        UpdateWrapper<BaseParam> updateWrapper = new UpdateWrapper<>();
        updateWrapper
                .lambda()
                .eq(BaseParam::getId,baseParam.getId())
                .set(BaseParam::getName,baseParam.getName())
                .set(BaseParam::getSortnum,baseParam.getSortnum())
                .set(BaseParam::getEditDate,new Date())
                .set(BaseParam::getEditor,principal.getId());
        baseParamMapper.update(null,updateWrapper);
    }
    @Override
@@ -83,7 +132,7 @@
        QueryWrapper<BaseParam> wrapper = new QueryWrapper<>(baseParam);
        return baseParamMapper.selectList(wrapper);
    }
    @Override
    public PageData<BaseParam> findPage(PageWrap<BaseParam> pageWrap) {
        IPage<BaseParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -11,6 +11,7 @@
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.web.response.BikeLogDTO;
import com.doumee.dao.business.web.response.MemberRidesDTO;
import com.doumee.dao.business.web.response.MemberRidesQuery;
import com.doumee.service.business.MemberRidesService;
@@ -145,5 +146,49 @@
        return memberRidesMapper.selectCount(wrapper);
    }
    @Override
    public PageData<BikeLogDTO> findBikeLog(PageWrap<MemberRidesQuery> pageWrap) {
        IPage<MemberRides> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<MemberRides> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        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(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getBikeCode()),MemberRides::getBikeCode,pageWrap.getModel().getBikeCode())
                .between((Objects.nonNull(pageWrap.getModel().getRentDateStart())&&Objects.nonNull(pageWrap.getModel().getRentDateEnd())),
                        MemberRides::getRentDate,
                        pageWrap.getModel().getRentDateStart(),pageWrap.getModel().getRentDateEnd());
        if (Objects.nonNull(pageWrap.getModel().getHasBack())
                && pageWrap.getModel().getHasBack()){
            queryWrapper.isNotNull(MemberRides::getBackDate);
        }else if (Objects.nonNull(pageWrap.getModel().getStatus())
                && !pageWrap.getModel().getHasBack()){
            queryWrapper.isNull(MemberRides::getBackDate);
        }
        queryWrapper.orderByDesc(MemberRides::getCreateDate);
        queryWrapper.leftJoin("locks rl on rl.id = t.rent_lock_id and rl.site_id = t.rent_site_id")
                    .leftJoin("sites rs on rs.id = rl.site_id")
                    .leftJoin("locks bl on bl.id = t.rent_lock_id and bl.site_id = t.rent_site_id")
                    .leftJoin("sites bs on bs.id = rl.site_id");
        queryWrapper.selectAs(Member::getOpenid,BikeLogDTO::getOpenid)
                .selectAs(MemberRides::getBikeCode,BikeLogDTO::getBikeCode)
                .selectAs(BaseParam::getName,BikeLogDTO::getBikeType)
                .selectAs(MemberRides::getRentDate,BikeLogDTO::getRentDate)
                .selectAs(MemberRides::getBackDate,BikeLogDTO::getBackDate)
                .select("rs.Name as rentSiteName, rl.name as rentLockName")
                .select("bs.Name as backSiteName, bl.name as backLockName");
        IPage<BikeLogDTO> bikeLogDTOIPage = memberRidesJoinMapper.selectJoinPage(page, BikeLogDTO.class, queryWrapper);
        if (!CollectionUtils.isEmpty(bikeLogDTOIPage.getRecords())){
            bikeLogDTOIPage.getRecords().forEach(s->{
                if (Objects.nonNull(s.getBackDate())){
                    s.setRideTime(DateUtil.betweenMin(s.getRentDate(),s.getBackDate()));
                }
            });
        }
        return PageData.from(bikeLogDTOIPage);
    }
}
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
@@ -1,20 +1,31 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PricingDetailMapper;
import com.doumee.dao.business.join.PricingDetailJoinMapper;
import com.doumee.dao.business.model.BaseParam;
import com.doumee.dao.business.model.PricingDetail;
import com.doumee.service.business.PricingDetailService;
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.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * å®šä»·æ–¹æ¡ˆæ˜Žç»†é…ç½®Service实现
@@ -27,8 +38,54 @@
    @Autowired
    private PricingDetailMapper pricingDetailMapper;
    @Autowired
    PricingDetailJoinMapper pricingDetailJoinMapper;
    @Override
    public String create(PricingDetail pricingDetail) {
        if ((pricingDetail.getBaseTime() < 0) &&
                Objects.isNull(pricingDetail.getBasePrice())){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"一口价价格不可为空");
        }
        if ((pricingDetail.getBaseTime() > 0) &&
                (Objects.isNull(pricingDetail.getBasePrice())
                || Objects.isNull(pricingDetail.getUnitTime())
                || Objects.isNull(pricingDetail.getUnitPrice()))){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"阶梯定价参数不可为空");
        }
        if ((pricingDetail.getHolidayBasePrice() < 0) &&
                Objects.isNull(pricingDetail.getBasePrice())  ){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"节假一口价价格不可为空");
        }
        if ((pricingDetail.getHolidayBasePrice() > 0) &&
                (Objects.isNull(pricingDetail.getHolidayBasePrice())
                        || Objects.isNull(pricingDetail.getHolidayBasePrice())
                        || Objects.isNull(pricingDetail.getHolidayBasePrice()))){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"节假阶梯定价参数不可为空");
        }
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        PricingDetail insert = new PricingDetail();
        insert.setCreateDate(new Date());
        insert.setCreator(principal.getId());
        insert.setEditDate(new Date());
        insert.setEditor(principal.getId());
        insert.setIsdeleted(Constants.ZERO);
        insert.setPricePramId(pricingDetail.getPricePramId());
        insert.setBikeTypeId(pricingDetail.getBikeTypeId());
        insert.setBaseTime(pricingDetail.getBaseTime());
        insert.setBasePrice(pricingDetail.getBasePrice());
        insert.setUnitTime(pricingDetail.getUnitTime());
        insert.setUnitPrice(pricingDetail.getUnitPrice());
        insert.setHolidayBaseTime(pricingDetail.getHolidayBaseTime());
        insert.setHolidayBasePrice(pricingDetail.getHolidayBasePrice());
        insert.setHolidayUnitTime(pricingDetail.getHolidayUnitTime());
        insert.setHolidayUnitPrice(pricingDetail.getHolidayUnitPrice());
        insert.setInfo(pricingDetail.getInfo());
        insert.setTitle(pricingDetail.getTitle());
        pricingDetailMapper.insert(pricingDetail);
        return pricingDetail.getId();
    }
@@ -80,10 +137,14 @@
    @Override
    public List<PricingDetail> findList(PricingDetail pricingDetail) {
        QueryWrapper<PricingDetail> wrapper = new QueryWrapper<>(pricingDetail);
        return pricingDetailMapper.selectList(wrapper);
        MPJLambdaWrapper<PricingDetail> wrapper = new MPJLambdaWrapper<>();
        wrapper.leftJoin(BaseParam.class,BaseParam::getId,PricingDetail::getBikeTypeId)
                .eq(BaseParam::getType,Constants.THREE);
        wrapper.selectAll(PricingDetail.class)
                .selectAs(BaseParam::getName,PricingDetail::getBikeTypeName);
        return pricingDetailJoinMapper.selectJoinList(PricingDetail.class,wrapper);
    }
    @Override
    public PageData<PricingDetail> findPage(PageWrap<PricingDetail> pageWrap) {
        IPage<PricingDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
@@ -1,5 +1,7 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
@@ -10,10 +12,12 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
@@ -29,6 +33,19 @@
    @Override
    public String create(PricingParam pricingParam) {
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        PricingParam insert = new PricingParam();
        insert.setCreateDate(new Date());
        insert.setCreator(principal.getId());
        insert.setEditDate(new Date());
        insert.setEditor(principal.getId());
        insert.setIsdeleted(Constants.ZERO);
        insert.setName(pricingParam.getName());
        insert.setStartDate(pricingParam.getStartDate());
        insert.setEndDate(pricingParam.getEndDate());
        insert.setSortnum(pricingParam.getSortnum());
        insert.setStatus(Constants.ZERO);
        pricingParamMapper.insert(pricingParam);
        return pricingParam.getId();
    }
@@ -51,6 +68,19 @@
        }
        pricingParamMapper.deleteBatchIds(ids);
    }
    @Override
    public void update(PricingParam pricingParam) {
        UpdateWrapper<PricingParam> wrapper = new UpdateWrapper<>();
        wrapper.lambda()
                .eq(PricingParam::getId,pricingParam.getId())
                .set(PricingParam::getName,pricingParam.getName())
                .set(PricingParam::getStartDate,pricingParam.getStartDate())
                .set(PricingParam::getEndDate,pricingParam.getEndDate())
                .set(PricingParam::getSortnum,pricingParam.getSortnum());
        pricingParamMapper.update(null,wrapper);
    }
    @Override
    public void updateById(PricingParam pricingParam) {
@@ -83,7 +113,7 @@
        QueryWrapper<PricingParam> wrapper = new QueryWrapper<>(pricingParam);
        return pricingParamMapper.selectList(wrapper);
    }
    @Override
    public PageData<PricingParam> findPage(PageWrap<PricingParam> pageWrap) {
        IPage<PricingParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());