bug
jiangping
2023-11-08 d82554bc50065657fd01e29b5aa3b6daf70d0d0a
bug
已修改10个文件
63 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/common/TestController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/AdServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/common/TestController.java
@@ -5,8 +5,11 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.aliyun.ALiYunUtil;
import com.doumee.core.wx.WxMiniUtilService;
import com.doumee.dao.business.model.Locks;
import com.doumee.service.business.DeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -15,10 +18,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
@@ -46,6 +46,8 @@
    @Autowired
    private WxMiniUtilService wxMiniUtilService;
    @Autowired
    private DeviceService deviceService;
@@ -59,4 +61,15 @@
        deviceService.testPush(topic,json);
    }
    @ApiOperation(value = "测试生成二维码", notes = "小程序端")
    @GetMapping("/getCode")
    public ApiResponse<Locks> generateWXMiniCode() {
        Locks locks = new Locks();
        locks.setCode(12);
        locks.setSiteId("1005");
        wxMiniUtilService.generateWXMiniCode(locks);
        return  ApiResponse.success("操作成功",locks);
    }
}
server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -18,14 +18,18 @@
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
import com.github.binarywang.wxpay.exception.WxPayException;
import io.netty.handler.codec.base64.Base64Decoder;
import io.netty.handler.codec.base64.Base64Encoder;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.apache.commons.io.IOUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.misc.BASE64Decoder;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -152,14 +156,18 @@
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                InputStream inputStream = new ByteArrayInputStream(response.body().bytes());
                int i = inputStream.available(); // 得到文件大小
                byte[] mFileBody = new byte[i];
                inputStream.read(mFileBody); // 读数据
                locks.setInfo("data:image/Jpeg;base64," + Base64.getEncoder().encodeToString(mFileBody));
/*
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                byte[] buffer = new byte[1024];
                int len = -1;
                while ((len = inputStream.read(buffer)) != -1) {
                    baos.write(buffer, 0, len);
                }
                }*/
                locks.setInfo("data:mediatype;base64," + Base64.getEncoder().encodeToString(baos.toByteArray()));
//                FileOutputStream out = new FileOutputStream("d:\\test.png");
//                byte[] buffer = new byte[8192];
server/services/src/main/java/com/doumee/service/business/impl/ActionLogServiceImpl.java
@@ -140,8 +140,9 @@
        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.like(StringUtils.isNotBlank(pageWrap.getModel().getBikeCode()),ActionLog::getBeforeContent,"%"+pageWrap.getModel().getBikeCode()+"%");
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getBikeCode()),ActionLog::getBeforeContent,"%"+pageWrap.getModel().getOpenid()+"%");
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getBikeCode()),ActionLog::getBeforeContent, pageWrap.getModel().getBikeCode() );
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getOpenid()),ActionLog::getBeforeContent, pageWrap.getModel().getOpenid() );
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName()),SystemUser::getRealname, pageWrap.getModel().getCreatorName());
        queryWrapper.eq(ActionLog::getObjType,Constants.ActionLogObjType.memberrides);
        queryWrapper
                .selectAll(ActionLog.class)
server/services/src/main/java/com/doumee/service/business/impl/AdServiceImpl.java
@@ -140,7 +140,7 @@
            queryWrapper.lambda().eq(Ad::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Ad::getName, pageWrap.getModel().getName());
            queryWrapper.lambda().like(Ad::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(Ad::getSortnum, pageWrap.getModel().getSortnum());
server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
@@ -122,7 +122,7 @@
                .like(StringUtils.isNotBlank(pageWrap.getModel().getSiteId()),Bikes::getSiteId,pageWrap.getModel().getSiteId())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getSiteName()), Sites::getName,pageWrap.getModel().getSiteName())
                .like( pageWrap.getModel().getLockId() !=null,Bikes::getLockId,pageWrap.getModel().getLockId())
                .ne(Bikes::getLockId,collect.get(Constants.FORCE_BACK_LOCK).getCode())
                .ne(Bikes::getLockId,Constants.formatIntegerFromStr(collect.get(Constants.FORCE_BACK_LOCK).getCode()))
                .ne(Bikes::getSiteId,collect.get(Constants.FORCE_BACK_SITE).getCode())
                .and(Constants.formatIntegerNum(pageWrap.getModel().getHasBike()) == Constants.ONE,
                        s->s.isNull(Bikes::getCode)
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -191,7 +191,7 @@
            queryWrapper.lambda().eq(Member::getInfo, pageWrap.getModel().getInfo());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(Member::getName, pageWrap.getModel().getName());
            queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getNickname() != null) {
            queryWrapper.lambda().eq(Member::getNickname, pageWrap.getModel().getNickname());
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
@@ -123,6 +123,10 @@
            //参数错误
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        pricingDetail.setUnitPrice(Constants.formatDecimalNum(pricingDetail.getUnitPrice()));
        pricingDetail.setHolidayUnitPrice(Constants.formatDecimalNum(pricingDetail.getHolidayUnitPrice()));
        pricingDetail.setUnitTime(Constants.formatIntegerNum(pricingDetail.getUnitTime()));
        pricingDetail.setHolidayUnitTime(Constants.formatIntegerNum(pricingDetail.getHolidayUnitTime()));
        if (  pricingDetail.getBaseTime() < 0){
            pricingDetail.setBaseTime(-1);
        }
server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
@@ -106,7 +106,7 @@
        pageWrap.getModel().setStatus(Constants.TWO);
        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Refund> queryWrapper = initQueryParamByModel(pageWrap.getModel());
        queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName())
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName())
                ,SystemUser::getRealname
                ,pageWrap.getModel().getCreatorName());
        IPage<Refund> refundIPage = refundJoinMapper.selectJoinPage(page, Refund.class, queryWrapper);
@@ -175,6 +175,7 @@
        queryWrapper.like(model.getPayOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getPayOnlineOrderid());
        queryWrapper.like(model.getOnlineOrderid() !=null,Refund::getOnlineOrderid,model.getOnlineOrderid());
        queryWrapper.like(model.getOpenid() !=null,Member::getOpenid,model.getOpenid());
        queryWrapper.like(model.getCreatorName() !=null,SystemUser::getRealname,model.getCreatorName());
        queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
        queryWrapper.orderByDesc(Refund::getDoneDate);
        return  queryWrapper;
server/services/src/main/java/com/doumee/service/business/impl/WxBillServiceImpl.java
@@ -33,6 +33,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
/**
@@ -349,8 +350,7 @@
            //只能同步昨天10之前的数据
            Calendar caln = Calendar.getInstance();
            caln.setTime(ydate);
//            System.out.println(caln.get(Calendar.HOUR_OF_DAY) );
            if(caln.get(Calendar.HOUR_OF_DAY) <= 10){
            if(caln.get(Calendar.HOUR_OF_DAY)  > 10){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,最近同步时间只能截止到昨天10点前!");
            }
        }
@@ -410,12 +410,14 @@
                //计算自行车收入,匹配来自自行车小程序的所有支付成功和退款成功的金额,作为自行车收入(累计收款金额-累计退款成功金额)
                if(StringUtils.equals(detail.getAppid(), WxMiniConfig.wxPayService.getConfig().getAppId())){
                    //自行车收入累计收款金额(支付成功总金额-退款总金额)
                    if(StringUtils.equals(detail.getBillType(),"SUCCESS")){
                    if(StringUtils.equals(info.getTradeState(),"SUCCESS")){
                        //如果是交易
                        bill.setBikeFee(bill.getBikeFee().add(detail.getSettlementTotalFee()));
                    }else  if(StringUtils.equals(info.getTradeType(),"REFUND" )){
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) );
                    }else  if(StringUtils.equals(info.getTradeState(),"REFUND" )){
                        //如果退款成功,扣除退款金额
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getApplyRefundFee()));
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getRefundFee()) );
                        bill.setBikeFee(bill.getBikeFee().subtract(detail.getCmmsAmt()) );
                    }
                }