server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -38,7 +38,7 @@ private TransactionsMapper transactionsMapper; @Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Refund wxRefund(RefundDTO refundDTO) { try { // 发送退款请求 @@ -63,7 +63,9 @@ refund.setMoney(refundDTO.getRefundAmount()); refund.setOnlineOrderid(refNum); refund.setPayWay(Constants.ZERO); refund.setStatus(Constants.TWO); refund.setDoneDate(new Date()); refund.setCreator(refundDTO.getCreator()); refund.setType(refundDTO.getType()); refund.setObjId(refundDTO.getOrderId()); refund.setReason(refundDTO.getReason()); server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
@@ -48,7 +48,7 @@ @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1") @ExcelColumn(name="是否已删除 0未删除 1已删除") @TableLogic // @TableLogic private Integer isdeleted; @ApiModelProperty(value = "名称") server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
@@ -45,7 +45,6 @@ @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/request/RefundDTO.java
@@ -41,4 +41,8 @@ private String reason; @ApiModelProperty(value = "创建人") private String creator; } server/services/src/main/java/com/doumee/service/business/impl/BaseParamServiceImpl.java
@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -72,13 +73,18 @@ @Override public void deleteById(String id) { baseParamMapper.deleteById(id); BaseParam baseParam = new BaseParam(); baseParam.setId(id); baseParam.setEditDate(new Date()); baseParam.setIsdeleted(Constants.ONE); baseParamMapper.updateById(baseParam); } @Override public void delete(BaseParam baseParam) { UpdateWrapper<BaseParam> deleteWrapper = new UpdateWrapper<>(baseParam); baseParamMapper.delete(deleteWrapper); // UpdateWrapper<BaseParam> deleteWrapper = new UpdateWrapper<>(baseParam); baseParam.setIsdeleted(Constants.ONE); baseParamMapper.updateById(baseParam); } @Override @@ -87,7 +93,9 @@ if (CollectionUtils.isEmpty(ids)) { return; } baseParamMapper.deleteBatchIds(ids); for(String id :ids){ deleteById(id); } } @Override @@ -138,6 +146,7 @@ @Override public List<BaseParam> findList(BaseParam baseParam) { QueryWrapper<BaseParam> wrapper = new QueryWrapper<>(baseParam); baseParam.setIsdeleted(Constants.ZERO); wrapper.orderByAsc("sortnum"); return baseParamMapper.selectList(wrapper); } @@ -193,6 +202,7 @@ @Override public long count(BaseParam baseParam) { QueryWrapper<BaseParam> wrapper = new QueryWrapper<>(baseParam); baseParam.setIsdeleted(Constants.ZERO); return baseParamMapper.selectCount(wrapper); } } server/services/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -69,6 +69,7 @@ log.setType(Constants.ONE); log.setMsg(""); log.setInfo(info); log.setIsdeleted(Constants.ZERO); mqttLogMapper.insert(log); return log; } server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
@@ -59,7 +59,8 @@ } MqttLog mqttLog = new MqttLog(); mqttLog.setMsgId(msgId); if(mqttLogMapper.selectCount(new QueryWrapper<MqttLog>().lambda().eq(MqttLog::getMsgId, msgId)) >0){ int msgCount =mqttLogMapper.selectCount(new QueryWrapper<MqttLog>().lambda().eq(MqttLog::getMsgId, msgId)); if(msgCount>0){ log.error("mqtt消息订阅==============已消费数据====="+param); return; } @@ -112,6 +113,7 @@ log.setType(Constants.ZERO); log.setMsg(param); log.setInfo(info); log.setIsdeleted(Constants.ZERO); log.setMsgId(msgId); mqttLogMapper.insert(log); } server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -44,6 +44,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.checkerframework.checker.units.qual.A; import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -494,28 +495,34 @@ public void backGoodsorder(String orderId, BigDecimal money,String reason) { LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Goodsorder goodsorder = goodsorderMapper.selectById(orderId); if(goodsorder == null){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,订单信息不存在,请刷新页面重试!"); } if (Constants.formatIntegerNum(goodsorder.getStatus()) != Constants.GOODSORDER_STATUS.CLOSE.getKey()){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该订单请结算后再退款~"); } QueryWrapper<Refund> wrapper = new QueryWrapper<>(); wrapper.lambda() .eq(Refund::getObjId,orderId) .orderByDesc(Refund::getCreateDate) .last("limit 1"); Refund lastRefund = refundMapper.selectOne(wrapper); if (Objects.isNull(lastRefund)){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"改订单请结算后在退款"); } BigDecimal canBalance = lastRefund.getCanBalance(); .eq(Refund::getStatus,Constants.TWO) .eq(Refund::getIsdeleted,Constants.ZERO) ; wrapper.select("sum(money) as money").last(" limit 1"); Refund total = refundMapper.selectOne(wrapper); BigDecimal refundMoney = total == null?new BigDecimal(0):Constants.formatDecimalNum(total.getMoney()); BigDecimal canBalance =Constants.formatDecimalNum(goodsorder.getMoney()).subtract(money); if(canBalance.compareTo(money) > Constants.ZERO){ RefundDTO refundDTO = new RefundDTO(); refundDTO.setOrderId(orderId); refundDTO.setCanBalance(lastRefund.getCanBalance().subtract(lastRefund.getMoney())); refundDTO.setCanBalance(canBalance); refundDTO.setRefundAmount(money); refundDTO.setTotalAmount(goodsorder.getMoney()); refundDTO.setMemberId(goodsorder.getMemberId()); refundDTO.setCreator(principal.getId()); refundDTO.setReason(reason); refundDTO.setType(Constants.REFUND_TYPE.BACK.getKey()); Refund refund = wxMiniUtilService.wxRefund(refundDTO); }else { throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"退款金额不允许超过"+canBalance); throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,退款金额不允许超过"+canBalance); } } @@ -529,20 +536,16 @@ QueryWrapper<Refund> wrapper = new QueryWrapper<>(); wrapper.lambda() .eq(Refund::getObjId,orderId) .orderByDesc(Refund::getCreateDate); List<Refund> refunds = refundMapper.selectList(wrapper); .eq(Refund::getStatus,Constants.TWO) .eq(Refund::getIsdeleted,Constants.ZERO) ; wrapper.select("sum(money) as money").last(" limit 1"); Refund total = refundMapper.selectOne(wrapper); GoodsorderCanBanlanceDTO goodsorderCanBanlanceDTO = new GoodsorderCanBanlanceDTO(); goodsorderCanBanlanceDTO.setGoodsorderMoney(goodsorder.getMoney()); goodsorderCanBanlanceDTO.setCloseMoney(goodsorder.getCloseMoney()); if (!CollectionUtils.isEmpty(refunds)){ BigDecimal reduce = refunds.stream().map(s -> s.getMoney()).reduce(new BigDecimal("0"), (a, b) -> b.add(a)); Refund refund = refunds.stream().findFirst().orElse(null); BigDecimal reduce = total!=null?Constants.formatDecimalNum(total.getMoney()):new BigDecimal(0); goodsorderCanBanlanceDTO.setHasRefundMoney(reduce); goodsorderCanBanlanceDTO.setCanBanlanceMoney(refund.getCanBalance().subtract(refund.getMoney())); }else { goodsorderCanBanlanceDTO.setHasRefundMoney(new BigDecimal("0")); goodsorderCanBanlanceDTO.setCanBanlanceMoney(goodsorder.getMoney()); } goodsorderCanBanlanceDTO.setCanBanlanceMoney(Constants.formatDecimalNum(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney())); return goodsorderCanBanlanceDTO; } @@ -673,6 +676,7 @@ goodsorder.setId(Constants.getUUID()); goodsorder.setCreateDate(new Date()); goodsorder.setIsdeleted(Constants.ZERO); goodsorder.setCode(goodsorder.getId()); goodsorder.setMemberId(memberId); goodsorder.setMoney(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode())); goodsorder.setStatus(Constants.goodsorderStatus.waitPay); server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -476,7 +476,6 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), " 该车型暂时不能借车操作哦,请更换其他车型重试!"); } Date date =new Date(); QueryWrapper<PricingParam> param = new QueryWrapper<>(); param.lambda().eq(PricingParam::getStatus,Constants.ZERO); param.lambda().eq(PricingParam::getIsdeleted,Constants.ZERO); @@ -577,30 +576,31 @@ } private Bikes dealBikesByParam(Locks model) { 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("limit 1")); if(bikes != null ) { if ( StringUtils.equals(model.getBikeCode(), bikes.getCode())){ //如果绑定车辆信息发生编号,更换绑定关系 UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>(); updateWrapper.lambda().set(Bikes::getId, bikes.getId()); updateWrapper.lambda().set(Bikes::getCode,model.getBikeCode()); updateWrapper.lambda().set(Bikes::getParamId,getBileTypeByCode(model.getBikeCode())); //更新自行站点锁头绑定自行车信息 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() ); updateWrapper.lambda().eq(Bikes::getCode, model.getBikeCode() ); //清空原来的自行车绑定关系 bikesMapper.update(null, updateWrapper); } 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("limit 1")); if(bikes != null ) { if ( !StringUtils.equals(model.getBikeCode(), bikes.getCode())){ //如果绑定车辆信息发生编号,更换绑定关系 UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>(); updateWrapper.lambda().eq(Bikes::getId, bikes.getId()); updateWrapper.lambda().set(Bikes::getCode,model.getBikeCode()); updateWrapper.lambda().set(Bikes::getParamId,getBileTypeByCode(model.getBikeCode())); //更新自行站点锁头绑定自行车信息 bikesMapper.update(null,updateWrapper); } }else{ bikes = new Bikes(); bikes.setId(Constants.getUUID()); bikes.setIsdeleted(Constants.ZERO); @@ -625,7 +625,7 @@ return null; } String type = bikeCode.substring(0,1); if(Constants.BIKE_TYPE.contains(type)){ if(!Constants.BIKE_TYPE.contains(type)){ return null; } BaseParam param = new BaseParam(); @@ -679,7 +679,6 @@ 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);