jiangping
2023-10-17 16e27b2490c94f40fa6876125ffed56cb59acfbc
计价规则小程序
已修改9个文件
92 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Locks.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/resources/application-test.yml 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java
@@ -31,6 +31,7 @@
    @Override
    @PostConstruct
    public void startSubcribe() {
        mqttToolService.subscribe(new String[]{ Constants.MqttTopic.sub_lockInfo, Constants.MqttTopic.sub_closeLock});
        mqttToolService.subscribe(
                new String[]{ Constants.MqttTopic.sub_lockInfo, Constants.MqttTopic.sub_closeLock});
    }
}
server/platform/src/main/resources/application.yml
@@ -9,7 +9,7 @@
#  application:
#    name: parkbike
  profiles:
    active: dev
    active: test
  # JSON返回配置
  jackson:
    # 默认时区
server/services/src/main/java/com/doumee/dao/business/model/Locks.java
@@ -82,7 +82,7 @@
    private String bikeType;
    @ApiModelProperty(value = "当前锁定自行车编号")
    @TableField(select = false)
    @TableField(exist  = false)
    private Sites sites;
}
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
@@ -35,6 +35,8 @@
    @ApiModelProperty(value = "计费时长")
    private Integer duration;
    @ApiModelProperty(value = "计价规则")
    private String priceRole;
    @ApiModelProperty(value = "车型")
    private String bikeType;
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -295,6 +295,10 @@
                memberRidesResponse.setBaseTime(memberRides.getBaseTime());
                memberRidesResponse.setUnitTime(memberRides.getUnitTime());
                memberRidesResponse.setUnitPrice(memberRides.getUnitPrice());
                memberRidesResponse.setPriceRole(PricingDetailServiceImpl.getRoleNameByParam(
                        memberRidesResponse.getBasePrice(),memberRidesResponse.getBaseTime(),
                        memberRidesResponse.getUnitPrice()
                        ,memberRidesResponse.getUnitTime()));
                homeResponse.setMemberRidesResponse(memberRidesResponse);
            }
        }
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -430,7 +430,7 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "扫码无效,未查询到锁头信息");
        }
        //查询锁头是否存在车辆 以及是否正常
        if (!locks.getStatus().equals(Constants.ZERO)) {
        if (Constants.formatIntegerNum(locks.getStatus())!=Constants.ZERO) {
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "当前扫码锁头状态错误,无法进行开锁");
        }
        if (StringUtils.isBlank(locks.getBikeCode())) {
@@ -541,8 +541,9 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public  int mqttLockInfoEvent(Locks locks){
        if(StringUtils.isBlank(locks.getId()) ||StringUtils.isBlank(locks.getSiteId())){
        if(StringUtils.isBlank(locks.getCode()) ||StringUtils.isBlank(locks.getSiteId())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"锁头信息上报参数错误!");
        }
        //判断检查处理站点锁头信息
@@ -554,14 +555,19 @@
            //如果是开锁业务,判断是否有开锁中的信息
            MemberRides memberRides = new MemberRides();
            memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey());
            memberRides.setRentLockId(model.getId());
            memberRides.setRentLockId(model.getCode());
            memberRides.setRentSiteId(model.getSiteId());
            memberRides.setIsdeleted(Constants.ZERO);
            memberRides = findOne(memberRides);
            if(memberRides == null){
                return 0;
            }
            MemberRides  update = new MemberRides();
            update.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
            update.setEditDate(new Date());
            update.setId(memberRides.getId());
            //(更新请求开锁中的锁头关联的骑行记录)
            memberRidesMapper.updateById( memberRides);
            memberRidesMapper.updateById( update);
        }
        return 0;
    }
@@ -570,7 +576,7 @@
        QueryWrapper<Bikes> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(Bikes::getLockId, model.getCode());
        wrapper.lambda().eq(Bikes::getSiteId, model.getSiteId());
        Bikes bikes = bikesMapper.selectOne(wrapper.last("last 1"));
        Bikes bikes = bikesMapper.selectOne(wrapper.last("limit 1"));
        if(bikes != null ) {
            if (  StringUtils.equals(model.getBikeCode(), bikes.getCode())){
                //如果绑定车辆信息发生编号,更换绑定关系
@@ -582,6 +588,15 @@
                bikesMapper.updateById(bikes);
            }
        }else{
            if(StringUtils.isNotBlank(model.getBikeCode())){
                UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
                updateWrapper.lambda().set(Bikes::getCode, null );
                updateWrapper.lambda().set(Bikes::getParamId, null );
                updateWrapper.lambda().set(Bikes::getEditDate, new Date() );
                updateWrapper.lambda().eq(Bikes::getCode, model.getCode() );
                //清空原来的自行车绑定关系
                bikesMapper.update(null, updateWrapper);
            }
            bikes = new Bikes();
            bikes.setId(Constants.getUUID());
            bikes.setIsdeleted(Constants.ZERO);
@@ -615,7 +630,7 @@
        param.setSortnum(Integer.parseInt(type));
        param = baseParamMapper.selectOne(new QueryWrapper<>(param).lambda().last("limit 1" ));
        if(param == null){
            return  null;
            return  type;
        }
        return param.getId();
    }
@@ -635,6 +650,7 @@
            sites.setId(locks.getSiteId());
            sites.setCreateDate(date);
            sites.setStatus(Constants.ZERO);
            sites.setEditDate(date);
            sites.setLockNum(1);
            //新增锁头
            sitesMapper.insert(sites);
@@ -652,14 +668,15 @@
            model.setStatus(locks.getStatus());
            locksMapper.insert(model);
        }else{
            model.setSiteId(locks.getSiteId());
            model.setIsdeleted(Constants.ZERO);
            model.setCode(locks.getCode());
            model.setId(locks.getSiteId());
            model.setEditDate(date);
            model.setBikeCode(locks.getBikeCode());
            model.setStatus(locks.getStatus());
            locksMapper.update(null, new QueryWrapper<>(model));
            UpdateWrapper<Locks> updateWrapper = new UpdateWrapper<Locks>();
            updateWrapper.lambda().eq(Locks::getCode, locks.getCode() );
            updateWrapper.lambda().eq(Locks::getSiteId, locks.getSiteId() );
            updateWrapper.lambda().set(Locks::getBikeCode, locks.getBikeCode() );
            updateWrapper.lambda().set(Locks::getStatus, locks.getStatus() );
            updateWrapper.lambda().set(Locks::getEditDate, new Date() );
            updateWrapper.lambda().set(Locks::getIsdeleted, Constants.ZERO);
            locksMapper.update(null,updateWrapper);
        }
        model.setSites(sites);
        return  model;
@@ -671,6 +688,7 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public  int mqttCloseBikeEvent(MemberRides bikes){
        //免费骑行时长查询,数据字典配置
        if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getBackLockId())||StringUtils.isBlank(bikes.getBackSiteId())){
@@ -681,7 +699,7 @@
        wrapper.lambda().eq(MemberRides::getStatus, Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
        wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO);
        //根据车辆编码查询骑行中的骑行记录信息,如果有进行还车操作
        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("last 1"));
        MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit  1"));
        if(memberRides!=null){
            //进行
            dealMemberRidesBack(memberRides,bikes);
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
@@ -90,7 +90,7 @@
        return pricingDetail.getId();
    }
    private  String getRoleNameByParam(BigDecimal basePrice, Integer baseTime, BigDecimal unitPrice, Integer unitTime) {
    public static  String getRoleNameByParam(BigDecimal basePrice, Integer baseTime, BigDecimal unitPrice, Integer unitTime) {
        String title = "";
        if(baseTime < 0){
            title = "规则:"+Constants.translateMoney(basePrice).doubleValue()+"元畅骑一整天";
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -215,7 +215,7 @@
        if (!CollectionUtils.isEmpty(sitesMonitorDTO.getRecords())){
            sitesMonitorDTO.getRecords().forEach(s->{
                s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getAllLockNum()),2));
                s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getAllLockNum()),BigDecimal.ROUND_UP).setScale(2));
            });
        }
server/services/src/main/resources/application-test.yml
@@ -1,7 +1,3 @@
# WEB服务器配置
server:
  port: 10012
spring:
  # 数据源配置
  datasource:
@@ -43,3 +39,26 @@
  enabled: true
  # 禁用swagger时的重定向地址
  redirect-uri: /
########################微信支付相关配置########################
wx:
  pay:
    appId: wxcd2b89fd2ff065f8
    appSecret: 1ceb7c9dff3c4330d653adc3ca55ea24
    mchId: 1229817002
    mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
    #    notifyUrl: http://xiaopiqiu.natapp1.cc/api/wxPayNotify
    notifyUrl: https://dmtest.ahapp.net/bike_h5_api/api/wxPayNotify
    #    keyPath: D:\DouMee\config\doumeeTest\apiclient_cert.p12
    keyPath: /usr/local/apiclient_cert.p12
########################mqtt相关配置########################
mqtt:
  host: tcp://175.27.187.84:1883
  username: doumee1
  password: doumee@168
tencent:
  map:
    remoteHost: https://apis.map.qq.com
    appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ