rk
5 天以前 84ae873e1c19ca7d2ffc5c98248285706dae818b
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -9,6 +9,7 @@
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.track.RideActiveCache;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
@@ -35,6 +36,7 @@
import com.doumee.service.business.MemberRidesService;
import com.doumee.service.system.SystemDictDataService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
@@ -55,6 +57,7 @@
 * @author 江蹄蹄
 * @date 2023/09/27 18:06
 */
@Slf4j
@Service
public class MemberRidesServiceImpl implements MemberRidesService {
@@ -93,6 +96,9 @@
    @Autowired
    private SystemDictDataMapper systemDictDataMapper;
    /** 电车活跃订单缓存(platform 后台强制还车时删) */
    @Autowired
    private RideActiveCache rideActiveCache;
    @Override
    public String create(MemberRides memberRides) {
@@ -407,6 +413,12 @@
        update.setDuration( rideTime > freeRentTime  ? rideTime : 0 );
        //update.setDuration( freeRentTime > 0 ? rideTime - freeRentTime : rideTime);
        memberRidesMapper.updateById(update);
        // 强制还车→已还车:删除活跃订单缓存(电车才有轨迹;自行车 key 不存在,删除为 no-op 无害)
        try {
            rideActiveCache.remove(model.getBikeCode());
        } catch (Exception e) {
            log.warn("删除活跃订单缓存失败 bikeCode={}", model.getBikeCode(), e);
        }
        //修改前
        String beforeContent = JSONObject.toJSONString(model);
        //修改后
@@ -807,6 +819,7 @@
        }
        memberRidesResponse.setBikeCode(bike.getCode());
        memberRidesResponse.setBikeType(baseParam.getName());
        memberRidesResponse.setRidesType(bikeType);
        MemberRides memberRides = new MemberRides();
        this.dealMemberRidesData(baseParam.getId(),memberRides);
        memberRidesResponse.setBasePrice(memberRides.getBasePrice());