diff --git a/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java b/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java index ec9f3cb..c022383 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TBookCollectionController.java @@ -113,14 +113,10 @@ public class TBookCollectionController { } Integer userId = entity.getId(); // 直接使用已经获取的用户信息 - - // Check if the book has already been collected by the user boolean isBookAlreadyCollected = tBookCollectionService.isBookAlreadyCollected(userId, bookId); if (isBookAlreadyCollected) { return Result.error("该书已经收藏过,不能重复收藏"); } - - // If not already collected, proceed with saving the collection record LocalDateTime currentTime = LocalDateTime.now(); ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = currentTime.atZone(zoneId); diff --git a/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java b/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java index a05ecf8..1625e60 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TPurchaseDetailsController.java @@ -1,18 +1,28 @@ package net.maku.maku.controller; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; import lombok.AllArgsConstructor; import net.maku.framework.common.cache.RedisCache; +import net.maku.framework.common.exception.ErrorCode; +import net.maku.framework.common.exception.ServerException; +import net.maku.framework.common.cache.RedisCache; import net.maku.framework.common.utils.PageResult; import net.maku.framework.common.utils.Result; import net.maku.maku.convert.TPurchaseDetailsConvert; +import net.maku.maku.dao.TPurchaseDao; +import net.maku.maku.dao.TPurchaseDetailsDao; import net.maku.maku.entity.TPurchaseDetailsEntity; +import net.maku.maku.entity.TShoppingTrolleyEntity; +import net.maku.maku.entity.TUserEntity; import net.maku.maku.entity.TPurchaseEntity; import net.maku.maku.entity.TUserEntity; import net.maku.maku.service.TPurchaseDetailsService; import net.maku.maku.query.TPurchaseDetailsQuery; +import net.maku.maku.vo.TPurchaseBookDetailsVo; +import net.maku.maku.vo.TPurchaseBookVo; import net.maku.maku.vo.TCardVo; import net.maku.maku.vo.TPurchaseDetailsVO; import org.springdoc.core.annotations.ParameterObject; @@ -20,6 +30,11 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Date; import java.util.List; /** @@ -35,6 +50,28 @@ import java.util.List; public class TPurchaseDetailsController { private final TPurchaseDetailsService tPurchaseDetailsService; private final RedisCache redisCache; + private final TPurchaseDetailsDao tPurchaseDetailsDao; + @GetMapping("/a") + public List getBookCollectionByUserId(HttpServletRequest request) { + String token = request.getHeader("token"); + TUserEntity entity = (TUserEntity) redisCache.get(token); + if(ObjectUtils.isNull(entity)){ + throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); + } + + + TUserEntity tUserEntity = (TUserEntity) redisCache.get(token); + Integer userId=tUserEntity.getId(); + LocalDateTime currentTime = LocalDateTime.now(); + ZoneId zoneId = ZoneId.systemDefault(); + + + + ZonedDateTime zdt = currentTime.atZone(zoneId); + Date date = Date.from(zdt.toInstant()); + + return tPurchaseDetailsService.selectByUserId(userId); + } @PostMapping("/buy") @Operation(summary = "购买") public Result purchaseBook(HttpServletRequest request,@RequestBody TCardVo vo) { diff --git a/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java b/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java index 65f0753..a248e13 100644 --- a/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java +++ b/maku-server/src/main/java/net/maku/maku/controller/TShoppingTrolleyController.java @@ -11,6 +11,7 @@ import net.maku.framework.common.exception.ServerException; import net.maku.framework.common.utils.PageResult; import net.maku.framework.common.utils.Result; import net.maku.maku.convert.TShoppingTrolleyConvert; +import net.maku.maku.dao.TShoppingTrolleyDao; import net.maku.maku.entity.TShoppingTrolleyEntity; import net.maku.maku.entity.TUserEntity; import net.maku.maku.service.TShoppingTrolleyService; @@ -41,31 +42,7 @@ import java.util.List; public class TShoppingTrolleyController { private final RedisCache redisCache; private final TShoppingTrolleyService tShoppingTrolleyService; - @GetMapping("/aaa") - public Result setshoppingtrolly(HttpServletRequest request, @RequestParam Integer bookId) { - // 首先验证token的有效性,然后从Redis中获取用户信息 - String token = request.getHeader("token"); - TUserEntity entity = (TUserEntity) redisCache.get(token); - if(ObjectUtils.isNull(entity)){ - throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); - } - - - TUserEntity tUserEntity = (TUserEntity) redisCache.get(token); - Integer userId=tUserEntity.getId(); - LocalDateTime currentTime = LocalDateTime.now(); - ZoneId zoneId = ZoneId.systemDefault(); - - //DATE没有时区二localDateTime有时区,为了将 LocalDateTime 转换为 Date,你需要指定一个时区,因为 Date 是基于UTC的 - // 将LocalDateTime转换为ZonedDateTime,然后转换为Instant,最后转换为Date - ZonedDateTime zdt = currentTime.atZone(zoneId); - Date date = Date.from(zdt.toInstant()); - tShoppingTrolleyService.save(userId,bookId,date); - return Result.ok("加入购物车成功"); - - } - - + private final TShoppingTrolleyDao tShoppingTrolleyDao; @GetMapping("page") @Operation(summary = "分页") public Result> page(@ParameterObject @Valid TShoppingTrolleyQuery query){ @@ -112,8 +89,59 @@ public class TShoppingTrolleyController { } @PostMapping("/add") @Operation(summary = "添加购物车") - public Result add(@RequestBody TShoppingTrolleyEntity entity){ - tShoppingTrolleyService.add(entity); + public Result add(HttpServletRequest request, @RequestParam Integer bookId){ + String token = request.getHeader("token"); + TUserEntity user = (TUserEntity) redisCache.get(token); + if(ObjectUtils.isNull(user)){ + throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); + } + Integer userId=user.getId(); + tShoppingTrolleyService.add(userId,bookId); return Result.ok("加入购物车成功"); } + @GetMapping("/myshop") + @Operation(summary = "我的购物车") + public Result> myshop(HttpServletRequest request){ + String token = request.getHeader("token"); + TUserEntity user = (TUserEntity) redisCache.get(token); + if(ObjectUtils.isNull(user)){ + throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); + } + Integer userId=user.getId(); + List list = tShoppingTrolleyService.myshop(userId); + return Result.ok(list); + } + @GetMapping("/newmyshop") + public List getBookCollectionByUserId(HttpServletRequest request) { + String token = request.getHeader("token"); + TUserEntity entity = (TUserEntity) redisCache.get(token); + if(ObjectUtils.isNull(entity)){ + throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); + } + + + TUserEntity tUserEntity = (TUserEntity) redisCache.get(token); + Integer userId=tUserEntity.getId(); + LocalDateTime currentTime = LocalDateTime.now(); + ZoneId zoneId = ZoneId.systemDefault(); + + //DATE没有时区二localDateTime有时区,为了将 LocalDateTime 转换为 Date,你需要指定一个时区,因为 Date 是基于UTC的 + // 将LocalDateTime转换为ZonedDateTime,然后转换为Instant,最后转换为Date + ZonedDateTime zdt = currentTime.atZone(zoneId); + Date date = Date.from(zdt.toInstant()); + + return tShoppingTrolleyDao.selectShoppingTrolleyByUserId(Long.valueOf(userId)); + } + @DeleteMapping("/clean") + @Operation(summary = "清空购物车") + public Result clean(HttpServletRequest request){ + String token = request.getHeader("token"); + TUserEntity user = (TUserEntity) redisCache.get(token); + if(ObjectUtils.isNull(user)){ + throw new ServerException(ErrorCode.REFRESH_TOKEN_INVALID); + } + Integer userId=user.getId(); + tShoppingTrolleyService.clean(userId); + return Result.ok("清空购物车成功"); + } } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/dao/TPurchaseDetailsDao.java b/maku-server/src/main/java/net/maku/maku/dao/TPurchaseDetailsDao.java index 2af6986..1e0e713 100644 --- a/maku-server/src/main/java/net/maku/maku/dao/TPurchaseDetailsDao.java +++ b/maku-server/src/main/java/net/maku/maku/dao/TPurchaseDetailsDao.java @@ -2,7 +2,11 @@ package net.maku.maku.dao; import net.maku.framework.mybatis.dao.BaseDao; import net.maku.maku.entity.TPurchaseDetailsEntity; +import net.maku.maku.vo.TPurchaseBookDetailsVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * @@ -12,5 +16,7 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TPurchaseDetailsDao extends BaseDao { - + List selectBookDetilsByUserId(long id); + + List selectByDeailsId(@Param("id") Integer id); } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/dao/TShoppingTrolleyDao.java b/maku-server/src/main/java/net/maku/maku/dao/TShoppingTrolleyDao.java index 50d8fab..7699fcc 100644 --- a/maku-server/src/main/java/net/maku/maku/dao/TShoppingTrolleyDao.java +++ b/maku-server/src/main/java/net/maku/maku/dao/TShoppingTrolleyDao.java @@ -4,6 +4,8 @@ import net.maku.framework.mybatis.dao.BaseDao; import net.maku.maku.entity.TShoppingTrolleyEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * * @@ -12,5 +14,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TShoppingTrolleyDao extends BaseDao { + List selectShoppingTrolleyByUserId(long id); } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java b/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java index df2d490..154e04f 100644 --- a/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java +++ b/maku-server/src/main/java/net/maku/maku/entity/TBookCommentEntity.java @@ -11,7 +11,6 @@ import java.util.Date; * @author 阿沐 babamu@126.com * @since 1.0.0 2024-07-16 */ - @Data @TableName("t_book_comment") public class TBookCommentEntity { @@ -24,8 +23,6 @@ public class TBookCommentEntity { private String comment; - private Integer parentId; - private Date createTime; private Date updateTime; diff --git a/maku-server/src/main/java/net/maku/maku/entity/TPurchaseEntity.java b/maku-server/src/main/java/net/maku/maku/entity/TPurchaseEntity.java index 309e538..ffd3bff 100644 --- a/maku-server/src/main/java/net/maku/maku/entity/TPurchaseEntity.java +++ b/maku-server/src/main/java/net/maku/maku/entity/TPurchaseEntity.java @@ -27,4 +27,6 @@ public class TPurchaseEntity { private Date updateTime; + private Integer userId; + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/entity/TShoppingTrolleyEntity.java b/maku-server/src/main/java/net/maku/maku/entity/TShoppingTrolleyEntity.java index 2d1ea7b..ff1a36e 100644 --- a/maku-server/src/main/java/net/maku/maku/entity/TShoppingTrolleyEntity.java +++ b/maku-server/src/main/java/net/maku/maku/entity/TShoppingTrolleyEntity.java @@ -28,4 +28,8 @@ public class TShoppingTrolleyEntity { private Date updateTime; + private Long creator; + private Long updater; + private Long deleted; + } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java b/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java index 405afff..1fc95a0 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TPurchaseDetailsService.java @@ -2,6 +2,8 @@ package net.maku.maku.service; import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.BaseService; +import net.maku.maku.vo.TPurchaseBookDetailsVo; +import net.maku.maku.vo.TPurchaseBookVo; import net.maku.maku.entity.TUserEntity; import net.maku.maku.vo.TCardVo; import net.maku.maku.vo.TPurchaseDetailsVO; @@ -26,6 +28,8 @@ public interface TPurchaseDetailsService extends BaseService idList); + List selectByUserId(Integer userId); + // boolean purchaseBook(TUserEntity entity, TPurchaseDetailsVO vo); boolean purchaseBook(TUserEntity entity, TCardVo vo); diff --git a/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java b/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java index 012b86c..3545aef 100644 --- a/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java +++ b/maku-server/src/main/java/net/maku/maku/service/TShoppingTrolleyService.java @@ -28,5 +28,9 @@ public interface TShoppingTrolleyService extends BaseService myshop(Integer userId); + + void clean(Integer userId); } \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java index 79b7856..2c8b940 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TBookCollectionServiceImpl.java @@ -71,6 +71,7 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(); wrapper.eq(TBookCollectionEntity::getBookId, bookId); wrapper.eq(TBookCollectionEntity::getUserId, userId); - return baseMapper.selectOne(wrapper); } @Override @@ -88,6 +88,7 @@ public class TBookCollectionServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(); wrapper.eq(TBookCollectionEntity::getBookId, bookId); wrapper.eq(TBookCollectionEntity::getUserId, userId); + wrapper.eq(TBookCollectionEntity::getStatus, 1); return baseMapper.selectCount(wrapper) > 0; } } diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java index 7b70796..bb4c103 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TPurchaseDetailsServiceImpl.java @@ -8,14 +8,20 @@ import lombok.AllArgsConstructor; import net.maku.framework.common.utils.PageResult; import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.maku.convert.TPurchaseDetailsConvert; +import net.maku.maku.dao.TPurchaseDao; import net.maku.maku.entity.TPurchaseDetailsEntity; +import net.maku.maku.entity.TPurchaseEntity; import net.maku.maku.entity.TUserEntity; import net.maku.maku.query.TPurchaseDetailsQuery; +import net.maku.maku.vo.TPurchaseBookDetailsVo; +import net.maku.maku.vo.TPurchaseBookVo; import net.maku.maku.service.TUserService; import net.maku.maku.vo.TCardVo; import net.maku.maku.vo.TPurchaseDetailsVO; import net.maku.maku.dao.TPurchaseDetailsDao; import net.maku.maku.service.TPurchaseDetailsService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -31,6 +37,10 @@ import java.util.List; @Service @AllArgsConstructor public class TPurchaseDetailsServiceImpl extends BaseServiceImpl implements TPurchaseDetailsService { + + private final TPurchaseDetailsDao tPurchaseDetailsDao; + private final TPurchaseDao tPurchaseDao; + private final TUserService tUserService; @Override public PageResult page(TPurchaseDetailsQuery query) { @@ -66,6 +76,25 @@ public class TPurchaseDetailsServiceImpl extends BaseServiceImpl selectByUserId(Integer userId) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(TPurchaseEntity::getUserId,userId); + List tPurchaseEntities = tPurchaseDao.selectList(lambdaQueryWrapper); + List tPurchaseBookDetailsVos = new ArrayList<>(); + for (TPurchaseEntity tPurchaseEntity : tPurchaseEntities){ + TPurchaseBookVo vo = new TPurchaseBookVo(); + + // 图书详情 + BeanUtils.copyProperties(tPurchaseEntity,vo); + List list =tPurchaseDetailsDao.selectByDeailsId(vo.getId()); + + vo.setBook_details(list); + tPurchaseBookDetailsVos.add(vo); + } + return tPurchaseBookDetailsVos; + } + // @Override // public boolean purchaseBook(TUserEntity entity, TPurchaseDetailsVO vo) { // diff --git a/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java b/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java index 48d085e..0cf42f8 100644 --- a/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java +++ b/maku-server/src/main/java/net/maku/maku/service/impl/TShoppingTrolleyServiceImpl.java @@ -79,29 +79,49 @@ public class TShoppingTrolleyServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(TShoppingTrolleyEntity::getUserId, entity.getUserId()); + queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId); + queryWrapper.eq(TShoppingTrolleyEntity::getBookId, bookId); TShoppingTrolleyEntity existingEntity = baseMapper.selectOne(queryWrapper); + if (existingEntity != null) { + // 如果购物车中已存在该记录,则增加数量 Integer number = existingEntity.getNumber(); - if (number != null) { - existingEntity.setNumber(number + 1); - } else { - existingEntity.setNumber(1); - } + //为空+1,不为空为1 + existingEntity.setNumber(number != null ? number + 1 : 1); baseMapper.updateById(existingEntity); - return existingEntity; } else { + // 如果购物车中不存在该记录,则创建新记录 TShoppingTrolleyEntity newEntity = new TShoppingTrolleyEntity(); - newEntity.setUserId(entity.getUserId()); - newEntity.setNumber(1); + newEntity.setUserId(userId); + newEntity.setBookId(bookId); + newEntity.setNumber(1); // 初始数量为1 + baseMapper.insert(newEntity); - return newEntity; + existingEntity = newEntity; // 返回新创建的实体 } - } + + return existingEntity; } + @Override + public List myshop(Integer userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId); + return baseMapper.selectList(queryWrapper); + } + + @Override + public void clean(Integer userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TShoppingTrolleyEntity::getUserId, userId); + baseMapper.delete(queryWrapper); + } +} + + + diff --git a/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java b/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java index d7f5b48..26af911 100644 --- a/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java +++ b/maku-server/src/main/java/net/maku/maku/vo/TBookCommentVO.java @@ -26,8 +26,6 @@ public class TBookCommentVO implements Serializable { private String comment; - private Integer parentId; - @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN) private Date createTime; diff --git a/maku-server/src/main/java/net/maku/maku/vo/TPurchaseBookDetailsVo.java b/maku-server/src/main/java/net/maku/maku/vo/TPurchaseBookDetailsVo.java new file mode 100644 index 0000000..d080231 --- /dev/null +++ b/maku-server/src/main/java/net/maku/maku/vo/TPurchaseBookDetailsVo.java @@ -0,0 +1,22 @@ +package net.maku.maku.vo; + +import lombok.Data; + +/** + * 功能: + * 作者:程序员青戈 + * 日期:2024/7/23 16:44 + */ + +@Data +public class TPurchaseBookDetailsVo { + + private Integer id; + private String bookName; + private String price; + private String bookCover; + private String introduction; + + private String count; + +} \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/maku/vo/TPurchaseBookVo.java b/maku-server/src/main/java/net/maku/maku/vo/TPurchaseBookVo.java new file mode 100644 index 0000000..85f7f26 --- /dev/null +++ b/maku-server/src/main/java/net/maku/maku/vo/TPurchaseBookVo.java @@ -0,0 +1,21 @@ +package net.maku.maku.vo; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 功能: + * 作者:程序员青戈 + * 日期:2024/7/23 16:42 + */ + +@Data +public class TPurchaseBookVo { + private Integer id; + private Date tradingHour; + private BigDecimal totalPrice; + private List book_details; +} \ No newline at end of file diff --git a/maku-server/src/main/resources/application-dev.yml b/maku-server/src/main/resources/application-dev.yml index 845570e..fa14e1b 100644 --- a/maku-server/src/main/resources/application-dev.yml +++ b/maku-server/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ spring: database: 0 host: localhost port: 6379 - password: 123456 +# password: 123456 #timeout: 6000ms # 连接超时时长(毫秒) datasource: dynamic: diff --git a/maku-server/src/main/resources/mapper/maku/TBookCollectionDao.xml b/maku-server/src/main/resources/mapper/maku/TBookCollectionDao.xml index 182ab86..20b12fa 100644 --- a/maku-server/src/main/resources/mapper/maku/TBookCollectionDao.xml +++ b/maku-server/src/main/resources/mapper/maku/TBookCollectionDao.xml @@ -11,11 +11,16 @@ - + SELECT + (@row_number:=@row_number + 1) AS id, + tb.book_name, + tb.price, + tb.book_cover FROM t_book_collection bc - LEFT JOIN `t_book` tb ON bc.book_id=tb.id + LEFT JOIN `t_book` tb ON bc.book_id=tb.id, + (SELECT @row_number := 0) AS dummy WHERE user_id = #{id} \ No newline at end of file diff --git a/maku-server/src/main/resources/mapper/maku/TPurchaseDetailsDao.xml b/maku-server/src/main/resources/mapper/maku/TPurchaseDetailsDao.xml index 4bf39c6..ab1f548 100644 --- a/maku-server/src/main/resources/mapper/maku/TPurchaseDetailsDao.xml +++ b/maku-server/src/main/resources/mapper/maku/TPurchaseDetailsDao.xml @@ -10,4 +10,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maku-server/src/main/resources/mapper/maku/TShoppingTrolleyDao.xml b/maku-server/src/main/resources/mapper/maku/TShoppingTrolleyDao.xml index 8709d46..419b7ef 100644 --- a/maku-server/src/main/resources/mapper/maku/TShoppingTrolleyDao.xml +++ b/maku-server/src/main/resources/mapper/maku/TShoppingTrolleyDao.xml @@ -9,6 +9,22 @@ + + + + + + \ No newline at end of file diff --git a/maku-server/src/main/resources/mapper/maku/TUserDao.xml b/maku-server/src/main/resources/mapper/maku/TUserDao.xml index 8b35abc..d8090f3 100644 --- a/maku-server/src/main/resources/mapper/maku/TUserDao.xml +++ b/maku-server/src/main/resources/mapper/maku/TUserDao.xml @@ -15,4 +15,11 @@ + + + + + + + \ No newline at end of file