Commit 769c29ea by 唐聪

修改部分代码

parent 3bd3d553
...@@ -56,4 +56,13 @@ public interface UserFeign { ...@@ -56,4 +56,13 @@ public interface UserFeign {
@GetMapping(value = "/api/address/getAddress/{addressId}") @GetMapping(value = "/api/address/getAddress/{addressId}")
ResultVo getAddress(@PathVariable String addressId); ResultVo getAddress(@PathVariable String addressId);
@GetMapping(value = "/api/address/getDefaultAddress/{userId}")
ResultVo getDefaultAddress(@PathVariable String userId);
@PostMapping(value = "/api/lotteryInfo/getIsOpen")
ResultVo getIsOpen(@RequestBody Map<String, Object> paramsMap);
@PostMapping(value = "/api/question/getAnswerRecs")
ResultVo getAnswerRecs(@RequestBody Map<String, Object> paramsMap);
} }
...@@ -106,4 +106,31 @@ public interface IApiLogic extends IApiCommon { ...@@ -106,4 +106,31 @@ public interface IApiLogic extends IApiCommon {
*/ */
ApiResp getAddress(ApiForm form); ApiResp getAddress(ApiForm form);
/**
* 查看活动介绍
*
* @param form
* @return
*/
ApiResp getIsOpen(ApiForm form);
/**
* 获取答题记录
*
* @param form
* @return
*/
ApiResp getAnswerRecs(ApiForm form);
/**
* 获取默认地址
*
* @param form
* @return
*/
ApiResp getDefaultAddress(ApiForm form);
} }
...@@ -114,4 +114,34 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic { ...@@ -114,4 +114,34 @@ public class ApiV100Logic extends BaseApiLogic implements IApiLogic {
return ApiUtils.toApiResp(form, userFeign.getAddress(form.getString("addressId"))); return ApiUtils.toApiResp(form, userFeign.getAddress(form.getString("addressId")));
} }
/**
* 查看启用的活动
* @param form
* @return
*/
@Override
public ApiResp getIsOpen(ApiForm form) {
return ApiUtils.toApiResp(form, userFeign.getIsOpen(form.getParamsMap()));
}
/**
* 获取答题记录
* @param form
* @return
*/
@Override
public ApiResp getAnswerRecs(ApiForm form) {
return ApiUtils.toApiResp(form, userFeign.getAnswerRecs(form.getParamsMap()));
}
/**
* 获取默认地址
* @param form
* @return
*/
@Override
public ApiResp getDefaultAddress(ApiForm form) {
return ApiUtils.toApiResp(form, userFeign.getDefaultAddress(form.getString("userId")));
}
} }
...@@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zq.common.utils.AssertUtils; import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import com.zq.user.dao.LotteryInfoDao; import com.zq.user.dao.LotteryInfoDao;
import com.zq.user.dao.LotteryPrizeDao;
import com.zq.user.entity.LotteryInfo; import com.zq.user.entity.LotteryInfo;
import com.zq.user.entity.LotteryPrize;
import com.zq.user.entity.PrizeType; import com.zq.user.entity.PrizeType;
import com.zq.user.service.LotteryInfoService; import com.zq.user.service.LotteryInfoService;
import com.zq.user.vo.LotteryInfoVo; import com.zq.user.vo.LotteryInfoVo;
...@@ -34,7 +36,7 @@ import java.util.List; ...@@ -34,7 +36,7 @@ import java.util.List;
public class LotteryInfoController { public class LotteryInfoController {
private final LotteryInfoDao lotteryInfoDao; private final LotteryInfoDao lotteryInfoDao;
private final LotteryPrizeDao lotteryPrizeDao;
/** /**
* 服务对象 * 服务对象
...@@ -111,11 +113,39 @@ public class LotteryInfoController { ...@@ -111,11 +113,39 @@ public class LotteryInfoController {
@PostMapping(value = "/isOpen") @PostMapping(value = "/isOpen")
public ResultVo isOpen(@RequestBody LotteryInfoVo vo) { public ResultVo isOpen(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo.getIsOpen() != null, "传入开关状态为空"); AssertUtils.isTrue(vo.getIsOpen() != null, "传入开关状态为空");
AssertUtils.isTrue(lotteryInfoDao.selectList(new QueryWrapper<LotteryInfo>().eq("isOpen", 1)) != null, "已经存在一个开启的活动"); AssertUtils.isTrue(lotteryInfoDao.selectList(new QueryWrapper<LotteryInfo>().eq("is_open", 1)) != null, "已经存在一个开启的活动");
lotteryInfoService.isOpen(vo); lotteryInfoService.isOpen(vo);
return ResultVo.success("操作成功"); return ResultVo.success("操作成功");
} }
/**
* 返回已经启动的活动
*
* @return
*/
@ApiOperation("返回已经启动的活动详情")
@PostMapping(value = "/getIsOpen")
public ResultVo getIsOpen(@RequestBody LotteryInfoVo vo) {
LotteryInfo lotteryInfo = lotteryInfoDao.selectOne(new QueryWrapper<LotteryInfo>().eq("is_open", 1));
if (lotteryInfo == null) {
ResultVo.fail("不存在开启成功的抽奖活动");
}
return ResultVo.success(lotteryInfo);
}
/**
* 删除该活动
*
* @return
*/
@ApiOperation("删除该活动")
@PostMapping(value = "/delete")
public ResultVo delete(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo.getId() != null, "传入开关状态为空");
lotteryInfoService.delete(vo);
return ResultVo.success("操作成功");
}
} }
...@@ -130,7 +130,6 @@ public class PrizeController { ...@@ -130,7 +130,6 @@ public class PrizeController {
@PutMapping(value = "/confirmAward") @PutMapping(value = "/confirmAward")
public ResultVo confirmAward(Long lotteryRecId) { public ResultVo confirmAward(Long lotteryRecId) {
AssertUtils.notNull(lotteryRecId, "中奖记录ID"); AssertUtils.notNull(lotteryRecId, "中奖记录ID");
prizeService.confirmAward(lotteryRecId); prizeService.confirmAward(lotteryRecId);
return ResultVo.success(); return ResultVo.success();
} }
......
...@@ -72,10 +72,10 @@ public class QuestionController { ...@@ -72,10 +72,10 @@ public class QuestionController {
return ResultVo.success(questionService.getQuestion(questionId)); return ResultVo.success(questionService.getQuestion(questionId));
} }
@ApiOperation("获取答题记录")
@GetMapping(value = "/getAnswerRecs")
public ResultVo getAnswerRecs(@RequestBody AnswerRec answerRec) {
return ResultVo.success(questionService.getAnswerRec(answerRec));
}
// @ApiOperation("获取答题记录")
// @GetMapping(value = "/getAnswerRecs")
// public ResultVo getAnswerRecs( ) {
// return ResultVo.success(questionService.getQuestion(questionId));
// }
} }
...@@ -33,7 +33,6 @@ public class AddressApi { ...@@ -33,7 +33,6 @@ public class AddressApi {
@ApiOperation("添加地址") @ApiOperation("添加地址")
@PostMapping(value = "/addAddress") @PostMapping(value = "/addAddress")
public ResultVo addAddress(@RequestBody Address vo) { public ResultVo addAddress(@RequestBody Address vo) {
addressService.addAddress(vo); addressService.addAddress(vo);
return ResultVo.success(); return ResultVo.success();
} }
...@@ -62,4 +61,9 @@ public class AddressApi { ...@@ -62,4 +61,9 @@ public class AddressApi {
return ResultVo.success(addressService.getAddress(addressId)); return ResultVo.success(addressService.getAddress(addressId));
} }
@ApiOperation("获取默认地址")
@GetMapping(value = "/getDefaultAddress/{userId}")
public ResultVo getDefaultAddress(@PathVariable String userId) {
return ResultVo.success(addressService.getDefaultAddress(userId));
}
} }
...@@ -8,10 +8,7 @@ import com.zq.user.vo.QuestionFindVo; ...@@ -8,10 +8,7 @@ import com.zq.user.vo.QuestionFindVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* @author wilmiam * @author wilmiam
...@@ -40,4 +37,9 @@ public class QuestionApi { ...@@ -40,4 +37,9 @@ public class QuestionApi {
return ResultVo.success(questionService.answer(vo)); return ResultVo.success(questionService.answer(vo));
} }
@ApiOperation("获取答题记录")
@PostMapping(value = "/getAnswerRecs")
public ResultVo getAnswerRecs(@RequestBody AnswerRec answerRec) {
return ResultVo.success(questionService.getAnswerRec(answerRec));
}
} }
package com.zq.user.controller.api;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zq.common.utils.AssertUtils;
import com.zq.common.vo.ResultVo;
import com.zq.user.dao.LotteryInfoDao;
import com.zq.user.dao.LotteryPrizeDao;
import com.zq.user.entity.LotteryInfo;
import com.zq.user.entity.LotteryPrize;
import com.zq.user.service.LotteryInfoService;
import com.zq.user.vo.LotteryInfoVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @Author: jcm
* @Date: 2022-8-15 19:06
*/
@Api(tags = "活动介绍相关接口")
@RequiredArgsConstructor
@RestController
@RequestMapping(value = "/user/api/lotteryInfo")
public class lotteryInfoApi {
private final LotteryInfoDao lotteryInfoDao;
private final LotteryPrizeDao lotteryPrizeDao;
/**
* 服务对象
*/
@Resource
private LotteryInfoService lotteryInfoService;
/**
* 分页查询所有数据
*
* @return 所有数据
*/
@ApiOperation("获取所有活动介绍列表")
@PostMapping(value = "/getAllLotteryInfo")
public ResultVo getAllLotteryInfo(@RequestBody LotteryInfoVo vo) {
return ResultVo.success(lotteryInfoService.getLotteryInfo(vo));
}
/**
* 查询开启的抽奖
*
* @return 所有数据
*/
@ApiOperation("查询开启的抽奖")
@PostMapping(value = "/getLotteryInfoIsOpen")
public ResultVo getLotteryInfoIsOpen(@RequestBody LotteryInfoVo vo) {
return ResultVo.success(lotteryInfoService.getLotteryInfo(vo));
}
/**
* 添加活动介绍
*
* @return 添加活动介绍
*/
@ApiOperation("添加活动介绍")
@PostMapping(value = "/addAllLotteryInfo")
public ResultVo addAllLotteryInfo(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo != null, "传入信息为空");
lotteryInfoService.addLotteryInfo(vo);
return ResultVo.success("成功添加数据");
}
/**
* 查看活动介绍
*
* @return 查看活动介绍
*/
@ApiOperation("查看活动介绍")
@PostMapping(value = "/getLotteryInfo")
public ResultVo getLotteryInfo(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo.getId() != null, "传入id为空");
return ResultVo.success(lotteryInfoService.getLotteryInfoByOne(vo));
}
/**
* 修改活动介绍
*
* @return 修改活动介绍
*/
@ApiOperation("修改活动介绍")
@PutMapping(value = "/update")
public ResultVo updateLotteryInfo(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo.getId() != null, "传入id为空");
lotteryInfoService.updateLotteryInfo(vo);
return ResultVo.success();
}
/**
* 是否开启活动
*
* @return
*/
@ApiOperation("是否开启活动")
@PostMapping(value = "/isOpen")
public ResultVo isOpen(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo.getIsOpen() != null, "传入开关状态为空");
AssertUtils.isTrue(lotteryInfoDao.selectList(new QueryWrapper<LotteryInfo>().eq("is_open", 1)) != null, "已经存在一个开启的活动");
lotteryInfoService.isOpen(vo);
return ResultVo.success("操作成功");
}
/**
* 返回已经启动的活动
*
* @return
*/
@ApiOperation("返回已经启动的活动详情")
@PostMapping(value = "/getIsOpen")
public ResultVo getIsOpen(@RequestBody LotteryInfoVo vo) {
LotteryInfo lotteryInfo = lotteryInfoDao.selectOne(new QueryWrapper<LotteryInfo>().eq("is_open", 1));
if (lotteryInfo == null) {
ResultVo.fail("不存在开启成功的抽奖活动");
}
return ResultVo.success(lotteryInfo);
}
/**
* 删除该活动
*
* @return
*/
@ApiOperation("删除该活动")
@PostMapping(value = "/delete")
public ResultVo delete(@RequestBody LotteryInfoVo vo) {
AssertUtils.isTrue(vo.getId() != null, "传入开关状态为空");
lotteryInfoService.delete(vo);
return ResultVo.success("操作成功");
}
}
...@@ -44,6 +44,9 @@ public class Address { ...@@ -44,6 +44,9 @@ public class Address {
@ApiModelProperty("收货人") @ApiModelProperty("收货人")
private String consignee; private String consignee;
@ApiModelProperty("用户昵称")
private String nickName;
/** /**
* 收货人手机号 * 收货人手机号
*/ */
...@@ -80,8 +83,7 @@ public class Address { ...@@ -80,8 +83,7 @@ public class Address {
@ApiModelProperty("更新时间") @ApiModelProperty("更新时间")
private Date updateTime; private Date updateTime;
@ApiModelProperty("用户昵称")
@TableField(exist = false)
private String nickname;
} }
...@@ -55,4 +55,14 @@ public class AnswerRec { ...@@ -55,4 +55,14 @@ public class AnswerRec {
@ApiModelProperty("得分") @ApiModelProperty("得分")
private Float score; private Float score;
/**
* 抽奖活动ID
*/
private Integer lotteryId;
/**
* 抽奖活动名
*/
private String lotteryName;
} }
...@@ -138,4 +138,17 @@ public class Question { ...@@ -138,4 +138,17 @@ public class Question {
@TableField(exist = false) @TableField(exist = false)
private String questionTypeName; private String questionTypeName;
/**
* 抽奖活动id
*
*/
@ApiModelProperty("抽奖活动id")
private Integer lotteryId;
/**
* 抽奖活动名称
*
*/
@ApiModelProperty("抽奖活动名称")
private String lotteryInfoName;
} }
...@@ -31,16 +31,17 @@ public class AddressService { ...@@ -31,16 +31,17 @@ public class AddressService {
public PageVo<Address> getAddressList(AddressFindVo vo) { public PageVo<Address> getAddressList(AddressFindVo vo) {
PageVo<Address> paging = PagingUtils.paging(vo, addressDao, Address.class); PageVo<Address> paging = PagingUtils.paging(vo, addressDao, Address.class);
return paging; return paging;
} }
public void addAddress(Address vo) { public void addAddress(Address vo) {
System.out.println(vo);
vo.setCreateTime(DateUtil.date()); vo.setCreateTime(DateUtil.date());
vo.setUpdateTime(DateUtil.date()); vo.setUpdateTime(DateUtil.date());
addressDao.insert(vo); addressDao.insert(vo);
if (vo.getIsDefault()) { if (vo.getIsDefault()) {
addressDao.update(Address.builder().isDefault(false).updateTime(DateUtil.date()).build(), addressDao.update(Address.builder().isDefault(false).updateTime(DateUtil.date()).build(),
Wrappers.lambdaUpdate(Address.class) Wrappers.lambdaUpdate(Address.class)
...@@ -48,7 +49,6 @@ public class AddressService { ...@@ -48,7 +49,6 @@ public class AddressService {
.notIn(Address::getId, vo.getId())); .notIn(Address::getId, vo.getId()));
} }
} }
public void editAddress(Address vo) { public void editAddress(Address vo) {
Address address = addressDao.selectById(vo.getId()); Address address = addressDao.selectById(vo.getId());
AssertUtils.notNull(address, "地址ID不存在"); AssertUtils.notNull(address, "地址ID不存在");
...@@ -77,13 +77,12 @@ public class AddressService { ...@@ -77,13 +77,12 @@ public class AddressService {
AssertUtils.notNull(address, "地址不存在"); AssertUtils.notNull(address, "地址不存在");
WxUser wxUser = wxUserDao.selectById(address.getUserId()); WxUser wxUser = wxUserDao.selectById(address.getUserId());
address.setNickname(wxUser.getNickname()); address.setNickName(wxUser.getNickname());
return address; return address;
} }
public Address getDefaultAddress(String userId) { public Address getDefaultAddress(String userId) {
return addressDao.selectOne(Wrappers.lambdaQuery(Address.builder().userId(userId).isDefault(true).isDel(false).build())); return addressDao.selectOne(Wrappers.lambdaQuery(Address.builder().userId(userId).isDefault(true).isDel(false).build()));
} }
} }
...@@ -128,18 +128,21 @@ public class LotteryInfoService { ...@@ -128,18 +128,21 @@ public class LotteryInfoService {
} }
public void isOpen(LotteryInfoVo vo) { public void isOpen(LotteryInfoVo vo) {
AssertUtils.isTrue(lotteryInfoDao.selectList(new QueryWrapper<LotteryInfo>().eq("isOpen", 1)) != null, "已经存在一个开启的活动");
if (vo.getIsOpen() != null) { System.out.println(vo);
if (vo.getIsOpen() == 2) { Integer id = vo.getId();
LotteryInfo info = new LotteryInfo(); System.out.println(id);
info.setIsOpen(2); LotteryInfo info = new LotteryInfo();
lotteryInfoDao.updateById(info); info.setId(id);
} else if (vo.getIsOpen() == 1) { if (vo.getIsOpen() != null) {
LotteryInfo info = new LotteryInfo(); if (vo.getIsOpen() == 2) {
info.setIsOpen(1); info.setIsOpen(2);
lotteryInfoDao.updateById(info); lotteryInfoDao.updateById(info);
} } else if (vo.getIsOpen() == 1) {
info.setIsOpen(1);
lotteryInfoDao.updateById(info);
} }
}
} }
public LotteryInfoVo getLotteryInfoByOne(LotteryInfoVo vo) { public LotteryInfoVo getLotteryInfoByOne(LotteryInfoVo vo) {
...@@ -168,46 +171,29 @@ public class LotteryInfoService { ...@@ -168,46 +171,29 @@ public class LotteryInfoService {
public void updateLotteryInfo(LotteryInfoVo vo) { public void updateLotteryInfo(LotteryInfoVo vo) {
// 修改对应的奖品,通过传进来的idlist全部删除礼品表中活动对应的礼品,然后重新添加 // // 修改对应的奖品,通过传进来的idlist全部删除礼品表中活动对应的礼品,然后重新添加
List<Integer> idList = vo.getListId(); List<Integer> idList = vo.getListId();
// 修改lotteryInfo
LotteryInfo lotteryInfo = new LotteryInfo();
BeanUtil.copyProperties(vo, lotteryInfo);
lotteryInfoDao.updateById(lotteryInfo);
System.out.println(idList); lotteryPrizeDao.delete(new QueryWrapper<LotteryPrize>().eq("lottery_info_id", vo.getId()));
for (Integer prizeId : idList) { for (Integer prizeId : idList) {
// 删除礼品表中活动对应的礼品 Prize type = prizeDao.selectById(prizeId);
if (new QueryWrapper<LotteryPrize>().eq("lottery_info_id", vo.getId()).eq("prize_type_id", prizeId) != null) { LotteryPrize lotteryPrize = LotteryPrize
// 数据库中已存在,且关联该活动的则保留 .builder()
continue; .lotteryInfoId(vo.getId())
} else if (new QueryWrapper<LotteryPrize>().eq("lottery_info_id", vo.getId()).eq("prize_type_id", prizeId) == null) { .prizeTypeId(type.getPrizeTypeId())
// 查出传入vo中存在,但是数据库中不存在的添加 .prizeName(type.getPrizeName())
Prize type = prizeDao.selectById(prizeId); .createTime(DateUtil.date())
LotteryPrize lotteryPrize = LotteryPrize .build();
.builder() lotteryPrizeDao.insert(lotteryPrize);
.lotteryInfoId(vo.getId())
.prizeTypeId(type.getPrizeTypeId())
.prizeName(type.getPrizeName())
.createTime(DateUtil.date())
.build();
lotteryPrizeDao.insert(lotteryPrize);
} else {
// 查出传入vo中不存在,但是数据库中存在的删除
lotteryPrizeDao.delete(new QueryWrapper<LotteryPrize>().eq("lottery_info_id", vo.getId()));
}
} }
// lotteryPrizeDao.delete(new QueryWrapper<LotteryPrize>().eq("lottery_info_id", vo.getId()).eq("prize_type_id", prizeId));
// Prize type = prizeDao.selectById(prizeId);
// LotteryPrize lotteryPrize = LotteryPrize
// .builder()
// .lotteryInfoId(vo.getId())
// .prizeTypeId(type.getPrizeTypeId())
// .prizeName(type.getPrizeName())
// .createTime(DateUtil.date())
// .build();
// lotteryPrizeDao.insert(lotteryPrize);
// }
} }
public void delete(LotteryInfoVo vo) {
lotteryInfoDao.delete(new QueryWrapper<LotteryInfo>().eq("id", vo.getId()));
lotteryPrizeDao.deleteBatchIds(lotteryPrizeDao.selectList(new QueryWrapper<LotteryPrize>().eq("lottery_info_id", vo.getId())));
}
} }
...@@ -8,16 +8,20 @@ import cn.hutool.json.JSONArray; ...@@ -8,16 +8,20 @@ import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zq.common.utils.AssertUtils; import com.zq.common.utils.AssertUtils;
import com.zq.common.utils.PagingUtils; import com.zq.common.utils.PagingUtils;
import com.zq.common.vo.PageVo; import com.zq.common.vo.PageVo;
import com.zq.user.dao.AnswerRecDao; import com.zq.user.dao.AnswerRecDao;
import com.zq.user.dao.LotteryInfoDao;
import com.zq.user.dao.QuestionDao; import com.zq.user.dao.QuestionDao;
import com.zq.user.dao.QuestionTypeDao; import com.zq.user.dao.QuestionTypeDao;
import com.zq.user.entity.AnswerRec; import com.zq.user.entity.AnswerRec;
import com.zq.user.entity.LotteryInfo;
import com.zq.user.entity.Question; import com.zq.user.entity.Question;
import com.zq.user.entity.QuestionType; import com.zq.user.entity.QuestionType;
import com.zq.user.vo.AnswerRecVo;
import com.zq.user.vo.QuestionFindVo; import com.zq.user.vo.QuestionFindVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -39,6 +43,7 @@ public class QuestionService { ...@@ -39,6 +43,7 @@ public class QuestionService {
private final QuestionDao questionDao; private final QuestionDao questionDao;
private final QuestionTypeDao questionTypeDao; private final QuestionTypeDao questionTypeDao;
private final AnswerRecDao answerRecDao; private final AnswerRecDao answerRecDao;
private final LotteryInfoDao lotteryInfoDao;
public Object questionList(QuestionFindVo vo) { public Object questionList(QuestionFindVo vo) {
LambdaQueryWrapper<Question> lambdaQuery = Wrappers.lambdaQuery(Question.class); LambdaQueryWrapper<Question> lambdaQuery = Wrappers.lambdaQuery(Question.class);
...@@ -46,7 +51,7 @@ public class QuestionService { ...@@ -46,7 +51,7 @@ public class QuestionService {
lambdaQuery.eq(Question::getGroupId, vo.getGroupId()); lambdaQuery.eq(Question::getGroupId, vo.getGroupId());
} }
lambdaQuery.orderByAsc(Question::getId); lambdaQuery.orderByAsc(Question::getId);
lambdaQuery.eq(Question::getLotteryId, vo.getLotteryId());
return questionDao.selectList(lambdaQuery); return questionDao.selectList(lambdaQuery);
} }
...@@ -73,7 +78,9 @@ public class QuestionService { ...@@ -73,7 +78,9 @@ public class QuestionService {
public void addQuestion(Question vo) { public void addQuestion(Question vo) {
vo.setCreateTime(DateUtil.date()); vo.setCreateTime(DateUtil.date());
if (vo.getLotteryId() != null) {
vo.setLotteryInfoName(lotteryInfoDao.selectById(vo.getLotteryId()).getLotteryInfoName());
}
questionDao.insert(vo); questionDao.insert(vo);
} }
...@@ -86,8 +93,10 @@ public class QuestionService { ...@@ -86,8 +93,10 @@ public class QuestionService {
question.setAnalysis(vo.getAnalysis()); question.setAnalysis(vo.getAnalysis());
question.setAnswer(vo.getAnswer()); question.setAnswer(vo.getAnswer());
question.setQuestionTypeId(vo.getQuestionTypeId()); question.setQuestionTypeId(vo.getQuestionTypeId());
question.setLotteryInfoName(lotteryInfoDao.selectById(vo.getLotteryId()).getLotteryInfoName());
question.setLotteryId(vo.getLotteryId());
questionDao.updateById(question); questionDao.updateById(question);
} }
public void delQuestion(Set<String> ids) { public void delQuestion(Set<String> ids) {
...@@ -95,11 +104,11 @@ public class QuestionService { ...@@ -95,11 +104,11 @@ public class QuestionService {
} }
public Question getQuestion(String questionId) { public Question getQuestion(String questionId) {
Question question = questionDao.selectById(questionId); Question question = questionDao.selectById(questionId);
if (question.getQuestionTypeId() != null) { if (question.getQuestionTypeId() != null) {
QuestionType questionType = questionTypeDao.selectById(question.getQuestionTypeId()); QuestionType questionType = questionTypeDao.selectById(question.getQuestionTypeId());
question.setQuestionTypeName(questionType.getName()); question.setQuestionTypeName(questionType.getName());
} }
return question; return question;
} }
...@@ -169,5 +178,18 @@ public class QuestionService { ...@@ -169,5 +178,18 @@ public class QuestionService {
} }
public List<AnswerRec> getAnswerRec(AnswerRec answerRec) {
LambdaQueryWrapper<AnswerRec> wrapper = new LambdaQueryWrapper<AnswerRec>();
List<LotteryInfo> infos = lotteryInfoDao.selectList(new QueryWrapper<LotteryInfo>());
System.out.println("info="+infos);
List<AnswerRec> recs = new ArrayList<>();
for (LotteryInfo info : infos) {
wrapper.eq(AnswerRec::getLotteryId, info.getId()).eq(AnswerRec::getUserId, answerRec.getUserId()).orderByDesc(AnswerRec::getScore).last("limit 1");
AnswerRec rec = answerRecDao.selectOne(wrapper);
recs.add(rec);
}
AssertUtils.isTrue(recs != null, "没有历史答题记录,请先完成答题");
return recs;
}
} }
...@@ -50,4 +50,9 @@ public class AnswerRecVo extends PageReqVo { ...@@ -50,4 +50,9 @@ public class AnswerRecVo extends PageReqVo {
*/ */
@ApiModelProperty("得分") @ApiModelProperty("得分")
private Float score; private Float score;
/**
* 抽奖活动名
*/
private String lotteryName;
} }
...@@ -121,4 +121,13 @@ public class QuestionFindVo extends PageReqVo { ...@@ -121,4 +121,13 @@ public class QuestionFindVo extends PageReqVo {
*/ */
private String keyword; private String keyword;
/**
* 抽奖活动ID
*/
private Integer lotteryId;
/**
* 抽奖活动名
*/
private String lotteryName;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment