| | |
| | | package com.matrix.system.shopXcx.api.action; |
| | | |
| | | import com.matrix.biz.bean.BizUser; |
| | | import com.matrix.biz.service.BizUserService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.matrix.system.hive.bean.SysVipInfo; |
| | | import com.matrix.component.redis.RedisUserLoginUtils; |
| | | import com.matrix.core.pojo.AjaxResult; |
| | | import com.matrix.core.pojo.PaginationVO; |
| | | import com.matrix.component.redis.RedisUserLoginUtils; |
| | | import com.matrix.system.shopXcx.bean.ShopScoreExchange; |
| | | import com.matrix.system.shopXcx.bean.ShopScoreRecord; |
| | | import com.matrix.system.shopXcx.dao.ShopScoreExchangeDao; |
| | | import com.matrix.system.shopXcx.dao.ShopScoreRecordDao; |
| | | import com.matrix.system.score.dao.ScoreUseRecordDao; |
| | | import com.matrix.system.score.dao.ScoreVipDetailDao; |
| | | import com.matrix.system.shopXcx.api.dto.ScoreFlowDto; |
| | | import com.matrix.system.shopXcx.api.vo.ScoreUseRecordVo; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiResponse; |
| | | import io.swagger.annotations.ApiResponses; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.CrossOrigin; |
| | | 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.ResponseBody; |
| | | |
| | | import java.util.List; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * @description 用户积分控制器 |
| | | * @author jyy |
| | | * @date 2019-08-09 15:10 |
| | | * @date 2021-03-22 15:10 |
| | | */ |
| | | @Controller |
| | | @RequestMapping(value="/wxapi/shopScoreRecord") |
| | | @CrossOrigin(origins = "*", maxAge = 3600) |
| | | @Api(tags = "用户积分接口类") |
| | | @RestController |
| | | @RequestMapping(value = "/wxapi/score") |
| | | public class WxShopScoreAction { |
| | | |
| | | @Autowired |
| | | private ShopScoreRecordDao shopScoreRecordDao; |
| | | @Autowired |
| | | private ShopScoreExchangeDao shopScoreExchangeDao; |
| | | @Autowired |
| | | private RedisUserLoginUtils redisUserLoginUtils; |
| | | @Autowired |
| | | private BizUserService bizUserService; |
| | | @Autowired |
| | | RedisUserLoginUtils redisUserLoginUtils; |
| | | |
| | | @Autowired |
| | | ScoreUseRecordDao scoreUseRecordDao; |
| | | |
| | | @Autowired |
| | | ScoreVipDetailDao scoreVipDetailDao; |
| | | |
| | | @ApiOperation(value = "获取积分流水", notes = "") |
| | | @PostMapping(value = "/getFlowList") |
| | | @ApiResponses({ |
| | | @ApiResponse(code = 200, message = "ok", response = ScoreUseRecordVo.class) |
| | | }) |
| | | AjaxResult getFlowList(@RequestBody @Validated ScoreFlowDto scoreFlowDto) { |
| | | SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); |
| | | Page<ScoreUseRecordVo> page=new Page<>(scoreFlowDto.getPageNum(),scoreFlowDto.getPageSize()); |
| | | scoreFlowDto.setVipId(loginUser.getId()); |
| | | IPage<ScoreUseRecordVo> shopScoreRecord = scoreUseRecordDao.selectFlowList(page, scoreFlowDto); |
| | | AjaxResult result=AjaxResult.buildSuccessInstance(shopScoreRecord.getRecords()); |
| | | return result; |
| | | } |
| | | |
| | | @ApiOperation(value = "获取用户积分", notes = "") |
| | | @PostMapping(value = "/getUserScore") |
| | | @ApiResponses({ |
| | | @ApiResponse(code = 200, message = "ok", response = AjaxResult.class) |
| | | }) |
| | | AjaxResult getUserScore() { |
| | | SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); |
| | | AjaxResult result=AjaxResult.buildSuccessInstance(scoreVipDetailDao.selectUserTotalScore(loginUser.getId())); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的获得积分列表 |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getRecordList") |
| | | @ResponseBody |
| | | public AjaxResult getRecordList(@RequestBody PaginationVO pageVo) { |
| | | |
| | | pageVo.setSort("create_time"); |
| | | pageVo.setOrder("desc"); |
| | | BizUser loginBizUser = redisUserLoginUtils.getLoginUser(BizUser.class); |
| | | ShopScoreRecord params = new ShopScoreRecord(); |
| | | params.setBeneficiaryId(loginBizUser.getOpenId()); |
| | | List<ShopScoreRecord> dataList = shopScoreRecordDao.selectInPage(params, pageVo); |
| | | int total = shopScoreRecordDao.selectTotalRecord(params); |
| | | AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, total); |
| | | //查询用户总积分 |
| | | BizUser user = bizUserService.findById(loginBizUser.getUserId()); |
| | | Integer totalScore = 0; |
| | | if (user != null && user.getTotalScore() != null) { |
| | | totalScore = user.getTotalScore(); |
| | | } |
| | | result.putInMap("totalScore", totalScore); |
| | | //查询下级总人数 |
| | | BizUser peopleSumParams = new BizUser(); |
| | | peopleSumParams.setParentOpenId(loginBizUser.getOpenId()); |
| | | int peopleSum = bizUserService.findTotal(peopleSumParams); |
| | | result.putInMap("peopleSum", peopleSum); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询我的积分兑换列表 |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getChangeRecordList") |
| | | @ResponseBody |
| | | public AjaxResult getChangeRecordList(@RequestBody PaginationVO pageVo) { |
| | | |
| | | //不分页 |
| | | pageVo.setOffset(null); |
| | | pageVo.setLimit(null); |
| | | //按生成时间倒序排列 |
| | | pageVo.setSort("create_time"); |
| | | pageVo.setOrder("desc"); |
| | | BizUser loginBizUser = redisUserLoginUtils.getLoginUser(BizUser.class); |
| | | ShopScoreExchange params = new ShopScoreExchange(); |
| | | params.setUserId(loginBizUser.getOpenId()); |
| | | List<ShopScoreExchange> dataList = shopScoreExchangeDao.selectInPage(params, pageVo); |
| | | int total = shopScoreExchangeDao.selectTotalRecord(params); |
| | | AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, total); |
| | | //查询用户当前积分 |
| | | BizUser user = bizUserService.findById(loginBizUser.getUserId()); |
| | | Integer currentScore = 0; |
| | | if (user != null && user.getCurrentScore() != null) { |
| | | currentScore = user.getCurrentScore(); |
| | | } |
| | | result.putInMap("currentScore", currentScore); |
| | | return result; |
| | | } |
| | | |
| | | } |