kong
2026-04-12 753bf77ae96e38e7b6067cd665e0b2fed5589389
pref 去掉错误代码
8个文件已修改
504 ■■■■■ 已修改文件
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCollectAddrController.java 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/mapper/XpAppUserCollectAddrMapper.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/dto/CollectAddrDTO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/query/XpUserCollectAddrListQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/vo/XpAppUserCouponTotalVo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/IXpAppUserCollectAddrService.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCollectAddrController.java
@@ -1,71 +1,71 @@
package com.xiaopeng.account.controller;
import com.xiaopeng.account.model.dto.CollectAddrDTO;
import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
import com.xiaopeng.account.service.IXpAppUserCollectAddrService;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
 * <p>
 * 用户收藏地址 前端控制器
 * </p>
 *
 * @author ck
 * @since 2026-04-10
 */
@RestController
@RequestMapping("")
public class XpAppUserCollectAddrController {
    private final IXpAppUserCollectAddrService xpAppUserCollectAddrService;
    public XpAppUserCollectAddrController(IXpAppUserCollectAddrService xpAppUserCollectAddrService) {
        this.xpAppUserCollectAddrService = xpAppUserCollectAddrService;
    }
    /**
     * 收藏地址/取消收藏地址
     */
    @PostMapping("/api/v1/mini-program/collect/addr")
    @ApiOperation(value = "收藏/取消收藏地址", tags = {"小程序-收藏/取消收藏地址"})
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<String> collectAddr(@Validated @RequestBody CollectAddrDTO dto, HttpServletRequest request) {
        // uid已通过拦截器otp校验,可以直接使用
        String uid = request.getHeader("XP-Uid");
        boolean result = xpAppUserCollectAddrService.collectAddr(dto, uid);
        if (result) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 获取收藏夹收藏地址列表
     */
    @PostMapping("/api/v1/mini-program/collect/addrlist")
    @ApiOperation(value = "收藏夹", tags = {"小程序-获取用户收藏夹收藏地址列表"})
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<PageInfo<XpAppUserCollectAddrVO>> collectAddrlist(@RequestBody XpUserCollectAddrListQuery query, HttpServletRequest request) {
        // uid已通过拦截器otp校验,可以直接使用
        String uid = request.getHeader("XP-Uid");
        return R.ok(xpAppUserCollectAddrService.userCollectAddrList(query, uid));
    }
}
//package com.xiaopeng.account.controller;
//
//import com.xiaopeng.account.model.dto.CollectAddrDTO;
//import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
//import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
//import com.xiaopeng.account.service.IXpAppUserCollectAddrService;
//import com.xiaopeng.common.core.domain.R;
//import com.xiaopeng.common.core.web.page.PageInfo;
//import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
//import io.swagger.annotations.ApiOperation;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.servlet.http.HttpServletRequest;
//
///**
// * <p>
// * 用户收藏地址 前端控制器
// * </p>
// *
// * @author ck
// * @since 2026-04-10
// */
//@RestController
//@RequestMapping("")
//public class XpAppUserCollectAddrController {
//
//    private final IXpAppUserCollectAddrService xpAppUserCollectAddrService;
//
//    public XpAppUserCollectAddrController(IXpAppUserCollectAddrService xpAppUserCollectAddrService) {
//        this.xpAppUserCollectAddrService = xpAppUserCollectAddrService;
//    }
//
//
//    /**
//     * 收藏地址/取消收藏地址
//     */
//    @PostMapping("/api/v1/mini-program/collect/addr")
//    @ApiOperation(value = "收藏/取消收藏地址", tags = {"小程序-收藏/取消收藏地址"})
//    @XpClientCheck(checkToken = false, checkOtpToken = true)
//    public R<String> collectAddr(@Validated @RequestBody CollectAddrDTO dto, HttpServletRequest request) {
//        // uid已通过拦截器otp校验,可以直接使用
//        String uid = request.getHeader("XP-Uid");
//        boolean result = xpAppUserCollectAddrService.collectAddr(dto, uid);
//        if (result) {
//            return R.ok();
//        }
//        return R.fail();
//    }
//
//
//    /**
//     * 获取收藏夹收藏地址列表
//     */
//    @PostMapping("/api/v1/mini-program/collect/addrlist")
//    @ApiOperation(value = "收藏夹", tags = {"小程序-获取用户收藏夹收藏地址列表"})
//    @XpClientCheck(checkToken = false, checkOtpToken = true)
//    public R<PageInfo<XpAppUserCollectAddrVO>> collectAddrlist(@RequestBody XpUserCollectAddrListQuery query, HttpServletRequest request) {
//        // uid已通过拦截器otp校验,可以直接使用
//        String uid = request.getHeader("XP-Uid");
//        return R.ok(xpAppUserCollectAddrService.userCollectAddrList(query, uid));
//    }
//
//
//
//
//
//}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/mapper/XpAppUserCollectAddrMapper.java
@@ -1,21 +1,21 @@
package com.xiaopeng.account.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
 * 用户收藏地址Mapper 接口
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
public interface XpAppUserCollectAddrMapper extends BaseMapper<XpAppUserCollectAddr> {
    Page<XpAppUserCollectAddrVO> userCollectAddrPageList(@Param("page") Page<XpAppUserCollectAddrVO> page, @Param("query") XpUserCollectAddrListQuery query, @Param("uid") Long uid);
}
//package com.xiaopeng.account.mapper;
//
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
//import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
//import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
//import org.apache.ibatis.annotations.Param;
//
//
///**
// * <p>
// * 用户收藏地址Mapper 接口
// * </p>
// *
// * @author mitao
// * @since 2026-02-03
// */
//public interface XpAppUserCollectAddrMapper extends BaseMapper<XpAppUserCollectAddr> {
//    Page<XpAppUserCollectAddrVO> userCollectAddrPageList(@Param("page") Page<XpAppUserCollectAddrVO> page, @Param("query") XpUserCollectAddrListQuery query, @Param("uid") Long uid);
//}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/dto/CollectAddrDTO.java
@@ -1,25 +1,25 @@
package com.xiaopeng.account.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
@ApiModel("收藏地址/取消收藏参数")
public class CollectAddrDTO {
    @ApiModelProperty("1=收藏 2=取消收藏")
    @NotNull(message = "类型不能为空")
    private Integer type;
    @ApiModelProperty(value = "经度")
    @NotNull(message = "经度不能为空")
    private Double longitude;
    @ApiModelProperty(value = "纬度")
    @NotNull(message = "纬度不能为空")
    private Double latitude;
}
//package com.xiaopeng.account.model.dto;
//
//
//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//
//import javax.validation.constraints.NotNull;
//
//@Data
//@ApiModel("收藏地址/取消收藏参数")
//public class CollectAddrDTO {
//
//    @ApiModelProperty("1=收藏 2=取消收藏")
//    @NotNull(message = "类型不能为空")
//    private Integer type;
//
//    @ApiModelProperty(value = "经度")
//    @NotNull(message = "经度不能为空")
//    private Double longitude;
//
//    @ApiModelProperty(value = "纬度")
//    @NotNull(message = "纬度不能为空")
//    private Double latitude;
//}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/query/XpUserCollectAddrListQuery.java
@@ -1,11 +1,11 @@
package com.xiaopeng.account.model.query;
import com.xiaopeng.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value = "用户收藏地址列表查询参数")
public class XpUserCollectAddrListQuery extends BasePage {
}
//package com.xiaopeng.account.model.query;
//
//import com.xiaopeng.common.core.web.page.BasePage;
//import io.swagger.annotations.ApiModel;
//import lombok.Data;
//
//@Data
//@ApiModel(value = "用户收藏地址列表查询参数")
//public class XpUserCollectAddrListQuery extends BasePage {
//
//}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/model/vo/XpAppUserCouponTotalVo.java
@@ -8,9 +8,9 @@
@ApiModel("用户优惠券数量Vo")
public class XpAppUserCouponTotalVo {
    //待领取数量
    @ApiModelProperty(value = "待领取数量")
    private Integer awaitReceiveNum;
//    //待领取数量
//    @ApiModelProperty(value = "待领取数量")
//    private Integer awaitReceiveNum;
    // 可用数量
    @ApiModelProperty(value = "可用数量")
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/IXpAppUserCollectAddrService.java
@@ -1,39 +1,39 @@
package com.xiaopeng.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.account.model.dto.CollectAddrDTO;
import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
import com.xiaopeng.common.core.web.page.PageInfo;
/**
 * <p>
 * 用户收藏地址 服务类
 * </p>
 *
 * @author ck
 * @since 2026-04-10
 */
public interface IXpAppUserCollectAddrService extends IService<XpAppUserCollectAddr> {
    /**
     * 收藏地址
     *
     * @param dto
     * @param uid
     * @return
     */
    Boolean collectAddr(CollectAddrDTO dto, String uid);
    /**
     * 收藏地址分页列表
     *
     * @param uid
     * @return
     */
    PageInfo<XpAppUserCollectAddrVO> userCollectAddrList(XpUserCollectAddrListQuery query, String uid);
}
//package com.xiaopeng.account.service;
//
//import com.baomidou.mybatisplus.extension.service.IService;
//import com.xiaopeng.account.model.dto.CollectAddrDTO;
//import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
//import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
//import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
//import com.xiaopeng.common.core.web.page.PageInfo;
//
///**
// * <p>
// * 用户收藏地址 服务类
// * </p>
// *
// * @author ck
// * @since 2026-04-10
// */
//public interface IXpAppUserCollectAddrService extends IService<XpAppUserCollectAddr> {
//
//
//    /**
//     * 收藏地址
//     *
//     * @param dto
//     * @param uid
//     * @return
//     */
//    Boolean collectAddr(CollectAddrDTO dto, String uid);
//
//
//    /**
//     * 收藏地址分页列表
//     *
//     * @param uid
//     * @return
//     */
//    PageInfo<XpAppUserCollectAddrVO> userCollectAddrList(XpUserCollectAddrListQuery query, String uid);
//
//}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCollectAddrServiceImpl.java
@@ -1,81 +1,81 @@
package com.xiaopeng.account.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.account.mapper.XpAppUserCollectAddrMapper;
import com.xiaopeng.account.model.dto.CollectAddrDTO;
import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
import com.xiaopeng.account.service.IXpAppUserCollectAddrService;
import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
import com.xiaopeng.common.core.exception.ServiceException;
import com.xiaopeng.common.core.web.page.PageInfo;
/**
 * <p>
 * 用户收藏地址 服务实现类
 * </p>
 *
 * @author ck
 * @since 2026-04-10
 */
public class XpAppUserCollectAddrServiceImpl extends ServiceImpl<XpAppUserCollectAddrMapper, XpAppUserCollectAddr> implements IXpAppUserCollectAddrService {
    /**
     * 收藏地址
     *
     * @param dto
     * @param uid
     * @return
     */
    @Override
    public Boolean collectAddr(CollectAddrDTO dto, String uid) {
        if (dto.getType() == 1) {
            Long count = this.count(new LambdaQueryWrapper<XpAppUserCollectAddr>()
                    .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
                    .eq(XpAppUserCollectAddr::getDeleted, 0));
            if (count >= 50) {
                throw new ServiceException("收藏夹已满,请先删除旧地址");
            }
            Long old = this.count(new LambdaQueryWrapper<XpAppUserCollectAddr>()
                    .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getLongitude, dto.getLongitude())
                    .eq(XpAppUserCollectAddr::getLatitude, dto.getLatitude()));
            if (old > 0) {
                return true;
            }
            XpAppUserCollectAddr xpAppUserCollectAddr = new XpAppUserCollectAddr();
            xpAppUserCollectAddr.setAppUserId(Long.parseLong(uid));
            xpAppUserCollectAddr.setLatitude(dto.getLatitude());
            xpAppUserCollectAddr.setLongitude(dto.getLongitude());
            return this.save(xpAppUserCollectAddr);
        } else {
            XpAppUserCollectAddr xpAppUserCollectAddr = this.getOne(new LambdaQueryWrapper<XpAppUserCollectAddr>()
                    .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getLongitude, dto.getLongitude())
                    .eq(XpAppUserCollectAddr::getLatitude, dto.getLatitude()).last("limit 1"));
            if (xpAppUserCollectAddr != null) {
                return this.removeById(xpAppUserCollectAddr.getId());
            }
        }
        return false;
    }
    /**
     * 收藏地址列表
     *
     * @param uid
     * @return
     */
    @Override
    public PageInfo<XpAppUserCollectAddrVO> userCollectAddrList(XpUserCollectAddrListQuery query, String uid) {
        Page<XpAppUserCollectAddrVO> page = new Page<>(query.getPageNum(), query.getPageSize());
        Page<XpAppUserCollectAddrVO> pageData = this.baseMapper.userCollectAddrPageList(page, query, Long.parseLong(uid));
        PageInfo<XpAppUserCollectAddrVO> resultPage = new PageInfo<>(query.getPageNum(), query.getPageSize());
        resultPage.setTotal(pageData.getTotal());
        resultPage.setRecords(pageData.getRecords());
        return resultPage;
    }
}
//package com.xiaopeng.account.service.impl;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.xiaopeng.account.mapper.XpAppUserCollectAddrMapper;
//import com.xiaopeng.account.model.dto.CollectAddrDTO;
//import com.xiaopeng.account.model.query.XpUserCollectAddrListQuery;
//import com.xiaopeng.account.model.vo.XpAppUserCollectAddrVO;
//import com.xiaopeng.account.service.IXpAppUserCollectAddrService;
//import com.xiaopeng.api.model.account.XpAppUserCollectAddr;
//import com.xiaopeng.common.core.exception.ServiceException;
//import com.xiaopeng.common.core.web.page.PageInfo;
//
///**
// * <p>
// * 用户收藏地址 服务实现类
// * </p>
// *
// * @author ck
// * @since 2026-04-10
// */
//public class XpAppUserCollectAddrServiceImpl extends ServiceImpl<XpAppUserCollectAddrMapper, XpAppUserCollectAddr> implements IXpAppUserCollectAddrService {
//
//    /**
//     * 收藏地址
//     *
//     * @param dto
//     * @param uid
//     * @return
//     */
//    @Override
//    public Boolean collectAddr(CollectAddrDTO dto, String uid) {
//        if (dto.getType() == 1) {
//            Long count = this.count(new LambdaQueryWrapper<XpAppUserCollectAddr>()
//                    .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
//                    .eq(XpAppUserCollectAddr::getDeleted, 0));
//            if (count >= 50) {
//                throw new ServiceException("收藏夹已满,请先删除旧地址");
//            }
//            Long old = this.count(new LambdaQueryWrapper<XpAppUserCollectAddr>()
//                    .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
//                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getLongitude, dto.getLongitude())
//                    .eq(XpAppUserCollectAddr::getLatitude, dto.getLatitude()));
//            if (old > 0) {
//                return true;
//            }
//            XpAppUserCollectAddr xpAppUserCollectAddr = new XpAppUserCollectAddr();
//            xpAppUserCollectAddr.setAppUserId(Long.parseLong(uid));
//            xpAppUserCollectAddr.setLatitude(dto.getLatitude());
//            xpAppUserCollectAddr.setLongitude(dto.getLongitude());
//            return this.save(xpAppUserCollectAddr);
//        } else {
//            XpAppUserCollectAddr xpAppUserCollectAddr = this.getOne(new LambdaQueryWrapper<XpAppUserCollectAddr>()
//                    .eq(XpAppUserCollectAddr::getAppUserId, Long.parseLong(uid))
//                    .eq(XpAppUserCollectAddr::getDeleted, 0).eq(XpAppUserCollectAddr::getLongitude, dto.getLongitude())
//                    .eq(XpAppUserCollectAddr::getLatitude, dto.getLatitude()).last("limit 1"));
//
//            if (xpAppUserCollectAddr != null) {
//                return this.removeById(xpAppUserCollectAddr.getId());
//            }
//        }
//        return false;
//    }
//
//    /**
//     * 收藏地址列表
//     *
//     * @param uid
//     * @return
//     */
//    @Override
//    public PageInfo<XpAppUserCollectAddrVO> userCollectAddrList(XpUserCollectAddrListQuery query, String uid) {
//        Page<XpAppUserCollectAddrVO> page = new Page<>(query.getPageNum(), query.getPageSize());
//        Page<XpAppUserCollectAddrVO> pageData = this.baseMapper.userCollectAddrPageList(page, query, Long.parseLong(uid));
//        PageInfo<XpAppUserCollectAddrVO> resultPage = new PageInfo<>(query.getPageNum(), query.getPageSize());
//        resultPage.setTotal(pageData.getTotal());
//        resultPage.setRecords(pageData.getRecords());
//        return resultPage;
//    }
//}
xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpAppUserCouponServiceImpl.java
@@ -82,7 +82,7 @@
    public XpAppUserCouponTotalVo userCouponTotal(String uid) {
        List<XpAppUserCoupon> couponList = baseMapper.selectList(new LambdaQueryWrapper<XpAppUserCoupon>().eq(XpAppUserCoupon::getAppUserId, uid));
        XpAppUserCouponTotalVo vo = new XpAppUserCouponTotalVo();
        vo.setAwaitReceiveNum((int) couponList.stream().filter(e -> e.getStatus() == 0).count());
//        vo.setAwaitReceiveNum((int) couponList.stream().filter(e -> e.getStatus() == 0).count());
        vo.setAvailableNum((int) couponList.stream().filter(e -> e.getStatus() == 1).count());
        vo.setUsedNum((int) couponList.stream().filter(e -> e.getStatus() == 2).count());
        vo.setExpiredNum((int) couponList.stream().filter(e -> e.getStatus() == 3).count());