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());