From 62e4461469142f89c2aba304a9f13f9d94d0fa4c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sat, 26 Jun 2021 15:46:20 +0800 Subject: [PATCH] add scoreDetail and modify --- gc-shop/src/main/java/com/xzx/gc/shop/service/ScoreDetailsService.java | 19 ++++++ gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxScoreDetailsVo.java | 24 ++++++++ gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreDetailsMapper.java | 3 + gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java | 7 +- gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxScoreDetailsDto.java | 19 ++++++ gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java | 13 ++++ gc-shop/src/main/resources/mapper/shop/ScoreDetailsMapper.xml | 8 ++ gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiScoreController.java | 38 ++++++++++++ 8 files changed, 128 insertions(+), 3 deletions(-) diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java index ecf8941..5689033 100644 --- a/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java +++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiGoodsController.java @@ -8,11 +8,14 @@ import com.xzx.gc.service.BaseAccountService; import com.xzx.gc.shop.dto.AddGoodsOrderDto; import com.xzx.gc.shop.dto.XcxGoodsListDto; +import com.xzx.gc.shop.dto.XcxScoreDetailsDto; import com.xzx.gc.shop.service.GoodsService; import com.xzx.gc.shop.service.OrderService; +import com.xzx.gc.shop.service.ScoreDetailsService; import com.xzx.gc.shop.vo.GoodsCategoryVo; import com.xzx.gc.shop.vo.XcxGoodsDetailVo; import com.xzx.gc.shop.vo.XcxGoodsListVo; +import com.xzx.gc.shop.vo.XcxScoreDetailsVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -23,6 +26,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.List; +import java.util.Map; @RestController @Api(tags = {"积分商城--API商品管理"}) @@ -31,9 +35,6 @@ @Autowired private GoodsService goodsService; - - @Autowired - private OrderService orderService; @ApiOperation("分类列表") @ApiResponses( diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiScoreController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiScoreController.java new file mode 100644 index 0000000..5d1ae78 --- /dev/null +++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/ApiScoreController.java @@ -0,0 +1,38 @@ +package com.xzx.gc.shop.controller; + +import com.xzx.gc.common.request.BaseController; +import com.xzx.gc.model.JsonResult; +import com.xzx.gc.shop.dto.XcxScoreDetailsDto; +import com.xzx.gc.shop.service.ScoreDetailsService; +import com.xzx.gc.shop.vo.XcxScoreDetailsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.Map; + +@RestController +@Api(tags = {"积分商城--API积分管理"}) +@Slf4j +public class ApiScoreController extends BaseController { + + @Autowired + private ScoreDetailsService scoreDetailsService; + + @ApiOperation("积分明细") + @ApiResponses( + @ApiResponse(code = 200, message = "success", response = XcxScoreDetailsVo.class) + ) + @PostMapping(value = "/score/details") + public JsonResult<Map<String, Object>> scoreDetails(@RequestBody XcxScoreDetailsDto scoreDetailsDto, HttpServletRequest request) { + scoreDetailsDto.setUserId(getUserId(request)); + return JsonResult.success(scoreDetailsService.scoreDetails(scoreDetailsDto)); + } +} diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxScoreDetailsDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxScoreDetailsDto.java new file mode 100644 index 0000000..91c7b17 --- /dev/null +++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/XcxScoreDetailsDto.java @@ -0,0 +1,19 @@ +package com.xzx.gc.shop.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "XcxScoreDetailsDto", description = "小程序积分明细参数接收类") +public class XcxScoreDetailsDto { + + @ApiModelProperty(value="页码") + private int pageNo=1; + + @ApiModelProperty(value="每页显示记录数") + private int pageSize=10; + + @ApiModelProperty(hidden = true) + private String userId; +} diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreDetailsMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreDetailsMapper.java index 7cc18e2..68a0d0e 100644 --- a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreDetailsMapper.java +++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreDetailsMapper.java @@ -2,7 +2,9 @@ import com.xzx.gc.entity.ScoreDetails; import com.xzx.gc.shop.dto.QueryScoreDetailsListDto; +import com.xzx.gc.shop.dto.XcxScoreDetailsDto; import com.xzx.gc.shop.vo.QueryScoreDetailsListVo; +import com.xzx.gc.shop.vo.XcxScoreDetailsVo; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; @@ -12,4 +14,5 @@ List<QueryScoreDetailsListVo> queryScoreDetailsList(@Param("record") QueryScoreDetailsListDto model); + List<XcxScoreDetailsVo> selectXcxScoreDetailsList(@Param("record") XcxScoreDetailsDto xcxScoreDetailsDto); } diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java index 6de16dc..b63101c 100644 --- a/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java +++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/OrderService.java @@ -303,12 +303,25 @@ scoreOrderMapper.updateOrderStatus(id, ScoreOrder.STATUS_CANCEL, userId); + // 退积分 AccountInfo accountInfo = accountInfoMapper.selectAccountInfoByUserId(userId); BigDecimal score = new BigDecimal(accountInfo.getCollectScore()).add(order.getTotalPrice()).setScale(0, BigDecimal.ROUND_DOWN); + + ScoreDetails scoreDetails = new ScoreDetails(); + scoreDetails.setOriginalScore(new BigDecimal(accountInfo.getCollectScore())); + scoreDetails.setCurrentScore(score); + scoreDetails.setChangeScore(order.getTotalPrice()); + scoreDetails.setOrderNo(order.getOrderNo()); + scoreDetails.setType(ScoreDetails.SCORE_TYPE_SHOPPING_RETURN); + scoreDetails.setCreatedTime(new Date()); + scoreDetailsMapper.insert(scoreDetails); + accountInfo.setCollectScore(score.toString()); accountInfoMapper.updateByPrimaryKey(accountInfo); + + // 减销量 加库存 List<ScoreOrderDetails> details = scoreOrderDetailsMapper.selectOrderDetailsByOrderId(order.getId()); if (CollUtil.isNotEmpty(details)) { diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/ScoreDetailsService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/ScoreDetailsService.java index a002286..1df7957 100644 --- a/gc-shop/src/main/java/com/xzx/gc/shop/service/ScoreDetailsService.java +++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/ScoreDetailsService.java @@ -5,11 +5,16 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.utils.StringUtils; +import com.xzx.gc.entity.AccountInfo; import com.xzx.gc.shop.dto.QueryScoreDetailsListDto; +import com.xzx.gc.shop.dto.XcxScoreDetailsDto; +import com.xzx.gc.shop.mapper.AccountInfoMapper; import com.xzx.gc.shop.mapper.ScoreDetailsMapper; import com.xzx.gc.shop.vo.QueryOrderListVo; import com.xzx.gc.shop.vo.QueryScoreDetailsListVo; +import com.xzx.gc.shop.vo.XcxScoreDetailsVo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,6 +30,9 @@ @Resource ScoreDetailsMapper scoreDetailsMapper; + + @Autowired + private AccountInfoMapper accountInfoMapper; public Map<String, Object> queryScoreDetailsList(QueryScoreDetailsListDto model) { PageHelper.startPage(model.getPage(), model.getLimit()); @@ -44,5 +52,16 @@ return map; } + public Map<String, Object> scoreDetails(XcxScoreDetailsDto xcxScoreDetailsDto) { + PageHelper.startPage(xcxScoreDetailsDto.getPageNo(), xcxScoreDetailsDto.getPageSize()); + List<XcxScoreDetailsVo> details = scoreDetailsMapper.selectXcxScoreDetailsList(xcxScoreDetailsDto); + + AccountInfo accountInfo = accountInfoMapper.selectAccountInfoByUserId(xcxScoreDetailsDto.getUserId()); + + Map<String, Object> map = new HashMap<>(); + map.put("score", accountInfo.getCollectScore()); + map.put("data", details); + return map; + } } diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxScoreDetailsVo.java b/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxScoreDetailsVo.java new file mode 100644 index 0000000..18ed7ad --- /dev/null +++ b/gc-shop/src/main/java/com/xzx/gc/shop/vo/XcxScoreDetailsVo.java @@ -0,0 +1,24 @@ +package com.xzx.gc.shop.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ApiModel(value = "XcxScoreDetailsVo", description = "小程序积分明细返回参数类") +public class XcxScoreDetailsVo { + + @ApiModelProperty(value = "类型 1-用户充值2-集物员支付3-用户兑换所得4-用户消费5-消费退回6-管理员充值7-其他") + private Integer type; + + @ApiModelProperty(value = "时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date createdTime; + + @ApiModelProperty(value = "变动积分") + private BigDecimal score; +} diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreDetailsMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreDetailsMapper.xml index cbc3545..c2a2c9b 100644 --- a/gc-shop/src/main/resources/mapper/shop/ScoreDetailsMapper.xml +++ b/gc-shop/src/main/resources/mapper/shop/ScoreDetailsMapper.xml @@ -27,4 +27,12 @@ order by a.CREATED_TIME desc </select> + <select id="selectXcxScoreDetailsList" resultType="com.xzx.gc.shop.vo.XcxScoreDetailsVo"> + select + * + ,change_score score + from xzx_score_details + where user_id=#{record.userId} + order by id desc + </select> </mapper> -- Gitblit v1.9.1