jiangping
2023-10-17 626741ec94f3a30cdd5f6221831596c09aa5de8d
Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/parkBike into dev
已修改12个文件
143 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/PricingParamController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/common/PublicController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/constants/Constants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Ad.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/PayOrderDTO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/AdServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/PricingDetailController.java
@@ -11,6 +11,7 @@
import com.doumee.service.business.PricingDetailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -65,7 +66,12 @@
    @PostMapping("/updateById")
    @RequiresPermissions("business:pricingdetail:update")
    public ApiResponse updateById(@RequestBody PricingDetail pricingDetail) {
        if (StringUtils.isEmpty(pricingDetail.getId())){
            pricingDetailService.create(pricingDetail);
        }else {
        pricingDetailService.updateById(pricingDetail);
        }
        return ApiResponse.success(null);
    }
server/platform/src/main/java/com/doumee/api/business/PricingParamController.java
@@ -63,7 +63,7 @@
    @PostMapping("/updateById")
    @RequiresPermissions("business:pricingparam:update")
    public ApiResponse updateById(@RequestBody PricingParam pricingParam) {
        pricingParamService.updateById(pricingParam);
        pricingParamService.update(pricingParam);
        return ApiResponse.success(null);
    }
server/platform/src/main/java/com/doumee/api/common/PublicController.java
@@ -188,6 +188,8 @@
    @ApiOperation(value = "上传", notes = "上传", httpMethod = "POST", position = 6)
    @ApiImplicitParams({
            @ApiImplicitParam(name = "folder", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
            @ApiImplicitParam(name = "file", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
    })
    @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data")
    public void uploadLocal(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -33,6 +33,7 @@
    public static final String FORCE_BACK_LOCK = "FORCE_BACK_LOCK";
    public static final String FORCE_BACK_SITE = "FORCE_BACK_SITE";
    public static String REDIS_DEBUG_STR="test_";
    public static final String AD = "AD";
    public  interface MqttTopic{
        String topic_index = "device/lock/";
server/services/src/main/java/com/doumee/dao/business/model/Ad.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;
@@ -74,4 +75,10 @@
    @ExcelColumn(name="列表图")
    private String imgurl;
    @ApiModelProperty(value = "列表图 ")
    @ExcelColumn(name="列表图")
    @TableField(exist = false)
    private String imgfullurl;
}
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -107,7 +107,7 @@
    @ApiModelProperty(value = "用户openid" )
    @TableField(exist = false)
    private String memberOpenid;
    private String openid;
    @ApiModelProperty(value = "查询开始日期(包含)", example = "2023-10-01 15:12:01")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
server/services/src/main/java/com/doumee/dao/business/web/response/PayOrderDTO.java
@@ -25,7 +25,7 @@
    @ApiModelProperty(value = "支付方式 0微信 1支付宝")
    private Integer payWay;
    @ApiModelProperty(value = "退款类型 0结算退款 1强制结算退款 2结算后退款")
    @ApiModelProperty(value = "退款类型 0结算退款 1强制结算退款 2结算后退款 [99: 虚拟type 支付押金]")
    private Integer refundType;
    @ApiModelProperty(value = "交易金额")
server/services/src/main/java/com/doumee/service/business/impl/AdServiceImpl.java
@@ -1,5 +1,7 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
@@ -26,6 +28,9 @@
    @Autowired
    private AdMapper adMapper;
    @Autowired
    SystemDictDataBiz systemDictDataBiz;
    @Override
    public String create(Ad ad) {
@@ -54,7 +59,17 @@
    @Override
    public void updateById(Ad ad) {
        adMapper.updateById(ad);
        UpdateWrapper<Ad> wrapper = new UpdateWrapper<>();
        wrapper.lambda()
                .eq(Ad::getId,ad.getId())
                .set(Ad::getEditor,ad.getEditor())
                .set(Ad::getEditDate,ad.getEditDate())
                .set(Ad::getName,ad.getName())
                .set(Ad::getImgurl,ad.getImgurl())
                .set(Ad::getSortnum,ad.getSortnum())
                .set(Ad::getContent,ad.getContent())
                .set(Ad::getStatus,ad.getStatus());
        adMapper.update(null,wrapper);
    }
    @Override
@@ -130,14 +145,17 @@
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(Ad::getImgurl, pageWrap.getModel().getImgurl());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
        queryWrapper.lambda().orderByAsc(Ad::getSortnum);
        String path =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode()+
                systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.AD).getCode();
        IPage<Ad> adIPage = adMapper.selectPage(page, queryWrapper);
        if (!CollectionUtils.isEmpty(adIPage.getRecords())){
            adIPage.getRecords().forEach(s->{
                s.setImgfullurl(path+s.getImgurl());
            });
            }
        }
        return PageData.from(adMapper.selectPage(page, queryWrapper));
        return PageData.from(adIPage);
    }
    @Override
server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
@@ -97,7 +97,7 @@
        wrapper.lambda()
                .eq(BaseParam::getType,baseParam.getType())
                .eq(BaseParam::getIsdeleted,Constants.ZERO)
                .eq(BaseParam::getType,baseParam.getName());
                .eq(BaseParam::getName,baseParam.getName());
        BaseParam baseParam1 = baseParamMapper.selectOne(wrapper.last(" limit 1"));
        if (Objects.nonNull(baseParam1) && !baseParam1.getId().equals(baseParam.getId())){
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -198,19 +198,23 @@
        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(model);
        queryWrapper.selectAll(Goodsorder.class);
        queryWrapper.selectAs(Member::getOpenid, Goodsorder::getMemberOpenid);
        queryWrapper.selectAs(Member::getOpenid, Goodsorder::getOpenid);
        queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
        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());
        if (Objects.nonNull(model.getStartDate())){
            queryWrapper.ge(Goodsorder::getPayDate, Utils.Date.getStart(model.getStartDate()));
        }
        if (Objects.nonNull(model.getEndDate())){
            queryWrapper.le( Goodsorder::getPayDate, Utils.Date.getEnd(model.getEndDate()));
        }
        queryWrapper.eq(model.getPayStatus() !=null,Goodsorder::getPayStatus,model.getPayStatus());
        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.like(model.getOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getOnlineOrderid());
        queryWrapper.like(model.getMemberOpenid() !=null,Member::getOpenid,model.getMemberOpenid());
        queryWrapper.like(model.getOpenid() !=null,Member::getOpenid,model.getOpenid());
        queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
        queryWrapper.orderByDesc(Goodsorder::getPayDate);
        return  queryWrapper;
@@ -310,6 +314,7 @@
        payOrderDTO.setPayWay(goodsorder.getPayWay());
        payOrderDTO.setMoney(Constants.translateMoney(goodsorder.getMoney()));
        payOrderDTO.setPayDate(goodsorder.getPayDate());
        payOrderDTO.setRefundType(99);
        payOrderDTO.setOnlineorderId(goodsorder.getOnlineOrderid());
        payOrderDTOList.add(0,payOrderDTO);
        if (!CollectionUtils.isEmpty(refunds)){
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
@@ -7,10 +7,12 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.BaseParamMapper;
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.BaseParamService;
import com.doumee.service.business.PricingDetailService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -18,15 +20,17 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import sun.text.resources.et.CollationData_et;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 定价方案明细配置Service实现
@@ -41,6 +45,10 @@
    @Autowired
    PricingDetailJoinMapper pricingDetailJoinMapper;
    @Autowired
    BaseParamMapper baseParamMapper;
    @Override
    public String create(PricingDetail pricingDetail) {
@@ -65,7 +73,7 @@
        insert.setHolidayUnitPrice(Constants.formatDecimalNum(pricingDetail.getHolidayUnitPrice()).multiply(new BigDecimal(100)));
        insert.setInfo(pricingDetail.getInfo());
        insert.setTitle(pricingDetail.getTitle());
        pricingDetailMapper.insert(pricingDetail);
        pricingDetailMapper.insert(insert);
        return pricingDetail.getId();
    }
@@ -100,10 +108,11 @@
        wrapper.lambda()
                .eq(PricingDetail::getIsdeleted,Constants.ZERO)
                .eq(PricingDetail::getBikeTypeId,pricingDetail.getBikeTypeId())
                .eq(PricingDetail::getPricePramId,pricingDetail.getPricePramId());
        Integer exitCount = pricingDetailMapper.selectCount(wrapper);
                .eq(PricingDetail::getPricePramId,pricingDetail.getPricePramId())
                .last("limit 1");
        PricingDetail exitCount = pricingDetailMapper.selectOne(wrapper);
        if (exitCount > Constants.ZERO){
        if (Objects.nonNull(exitCount) && !Objects.equals(exitCount.getId(),pricingDetail.getId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"该车型已配置");
        }
@@ -180,20 +189,47 @@
    @Override
    public List<PricingDetail> findList(PricingDetail pricingDetail) {
        MPJLambdaWrapper<PricingDetail> wrapper = new MPJLambdaWrapper<>();
        wrapper.leftJoin(BaseParam.class,BaseParam::getId,PricingDetail::getBikeTypeId)
                .eq(BaseParam::getType,Constants.THREE);
        wrapper.eq(PricingDetail::getPricePramId,pricingDetail.getPricePramId())
                .eq(PricingDetail::getIsdeleted,Constants.ZERO);
        wrapper.rightJoin(BaseParam.class,BaseParam::getId,PricingDetail::getBikeTypeId);
        wrapper.selectAll(PricingDetail.class)
                .selectAs(BaseParam::getId,PricingDetail::getBikeTypeId)
                .selectAs(BaseParam::getName,PricingDetail::getBikeTypeName);
        List<PricingDetail> result = pricingDetailJoinMapper.selectJoinList(PricingDetail.class,wrapper);
        if(result!=null){
            for(PricingDetail model :result){
                model.setBasePrice(Constants.translateMoney(model.getBasePrice()));
                model.setHolidayBasePrice(Constants.translateMoney(model.getHolidayBasePrice()));
                model.setUnitPrice(Constants.translateMoney(model.getUnitPrice()));
                model.setHolidayUnitPrice(Constants.translateMoney(model.getHolidayUnitPrice()));
        Map<String, PricingDetail> stringPricingDetailMap = Optional.ofNullable(result)
                                                                    .map(s -> s.stream().collect(Collectors.toMap(p -> p.getBikeTypeId(), p -> p)))
                                                                    .orElse(new HashMap<>());
        QueryWrapper<BaseParam> baseParamQuery = new QueryWrapper();
        baseParamQuery.lambda()
                       .eq(BaseParam::getIsdeleted,Constants.ZERO)
                       .eq(BaseParam::getType,Constants.THREE)
                        .orderByAsc(BaseParam::getSortnum);
        List<BaseParam> list = baseParamMapper.selectList(baseParamQuery);
        if (CollectionUtils.isEmpty(list)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"内置数据确实");
            }
        }
        return result;
        List<PricingDetail> collect = list.stream().map(s -> {
            PricingDetail put = stringPricingDetailMap.getOrDefault(s.getId(), new PricingDetail());
            put.setBikeTypeId(s.getId());
            put.setPricePramId(pricingDetail.getPricePramId());
            put.setBikeTypeName(s.getName());
            put.setBasePrice(Objects.nonNull(put.getBasePrice()) ? Constants.translateMoney(put.getBasePrice()) : null);
            put.setHolidayBasePrice(Objects.nonNull(put.getHolidayBasePrice()) ? Constants.translateMoney(put.getHolidayBasePrice()):null);
            put.setUnitPrice(Objects.nonNull(put.getUnitPrice()) ? Constants.translateMoney(put.getUnitPrice()):null);
            put.setHolidayUnitPrice(Objects.nonNull(put.getHolidayUnitPrice())  ? Constants.translateMoney(put.getHolidayUnitPrice()):null);
            return put;
        }).collect(Collectors.toList());
//        if(result!=null){
//            for(PricingDetail model :result){
//                model.setBasePrice(Constants.translateMoney(model.getBasePrice()));
//                model.setHolidayBasePrice(Constants.translateMoney(model.getHolidayBasePrice()));
//                model.setUnitPrice(Constants.translateMoney(model.getUnitPrice()));
//                model.setHolidayUnitPrice(Constants.translateMoney(model.getHolidayUnitPrice()));
//            }
//        }
        return collect;
    }
    @Override
server/services/src/main/java/com/doumee/service/business/impl/PricingParamServiceImpl.java
@@ -79,6 +79,7 @@
                .eq(PricingParam::getId,pricingParam.getId())
                .set(PricingParam::getEditor,principal.getId())
                .set(PricingParam::getName,pricingParam.getName())
                .set(PricingParam::getStatus,pricingParam.getStatus())
                .set(PricingParam::getStartDate,pricingParam.getStartDate())
                .set(PricingParam::getEndDate,pricingParam.getEndDate())
                .set(PricingParam::getSortnum,pricingParam.getSortnum());
@@ -164,6 +165,7 @@
            queryWrapper.lambda().eq(PricingParam::getInfo, pageWrap.getModel().getInfo());
        }
        queryWrapper.lambda().orderByAsc(PricingParam::getSortnum);
        queryWrapper.lambda().orderByAsc(PricingParam::getStatus);
        return PageData.from(pricingParamMapper.selectPage(page, queryWrapper));
    }