| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.GlobalException; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | |
| | | import com.ruoyi.goods.vo.TOrderVO; |
| | | import com.ruoyi.study.api.domain.TUser; |
| | | import com.ruoyi.study.api.feignClient.StudyClient; |
| | | import com.ruoyi.system.api.model.LoginUserParent; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | } |
| | | |
| | | @PostMapping("/goodListStudy") |
| | | @ApiOperation(value = "商品列表查询", tags = {"学习端"}) |
| | | @ApiOperation(value = "商品列表查询", tags = {"学习端-商城"}) |
| | | public R<PageInfo<TGoods>> goodListStudy(@RequestBody GoodQueryDTO goodQuery) { |
| | | if (tokenService.getLoginUserStudy() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | List<String> type = goodQuery.getType(); |
| | | String keywords = goodQuery.getKeywords(); |
| | | // 初始化条件构造器 |
| | | QueryWrapper<TGoods> wrapper = new QueryWrapper<>(); |
| | |
| | | |
| | | // 类型匹配 todo |
| | | if (goodQuery.getType() != null && goodQuery.getType().size() > 0) { |
| | | StringBuilder temp = new StringBuilder(""); |
| | | for (String s : goodQuery.getType()) { |
| | | wrapper.or().apply("FIND_IN_SET('" + s + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | } |
| | |
| | | @GetMapping("/exchangeRecordParent") |
| | | @ApiOperation(value = "家长端-兑换记录", tags = {"家长端-兑换记录"}) |
| | | public R<Page<TOrder>> exchangeRecordParent(Integer pageNumber, Integer pageSize) { |
| | | if (tokenService.getLoginUser1() == null){ |
| | | if (tokenService.getLoginUser1() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | Page<TOrder> page = orderService.page(new Page<>(pageNumber, pageSize), new QueryWrapper<TOrder>().eq("userId", tokenService.getLoginUser1().getUserid()) |
| | |
| | | tOrder.setName(byId.getName()); |
| | | tOrder.setImg(byId.getCoverImg()); |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | if (StringUtils.hasLength(byId.getTypeIds())){ |
| | | if (StringUtils.hasLength(byId.getTypeIds())) { |
| | | String[] split = byId.getTypeIds().split(","); |
| | | for (String s : split) { |
| | | TGoodsType byId1 = goodsTypeService.getById(s); |
| | |
| | | // 如果设置为默认地址 那么要将之前的默认地址取消掉 |
| | | List<Recipient> userId = recipientService.list(new QueryWrapper<Recipient>() |
| | | .eq("userId", tokenService.getLoginUser1().getUserid()) |
| | | .ne("id",byId.getId())); |
| | | .ne("id", byId.getId())); |
| | | for (Recipient recipient1 : userId) { |
| | | recipient1.setIsDefault(0); |
| | | recipientService.updateById(recipient1); |
| | |
| | | @ApiImplicitParam(value = "地址id", name = "id", dataType = "String", required = true) |
| | | }) |
| | | public R setDefaultStudy(@RequestParam Integer id) { |
| | | if (tokenService.getLoginUserStudy() == null) { |
| | | return R.tokenError("登录失效"); |
| | | LoginUserParent userStudy = tokenService.getLoginUserStudy(); |
| | | if (null == userStudy) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | Recipient byId = recipientService.getById(id); |
| | | byId.setIsDefault(1); |
| | | recipientService.updateById(byId); |
| | | // 如果设置为默认地址 那么要将之前的默认地址取消掉 |
| | | List<Recipient> userId = recipientService.list(new QueryWrapper<Recipient>() |
| | | .eq("userId", tokenService.getLoginUser1().getUserid()) |
| | | .ne("id",byId.getId())); |
| | | .eq("userId", userStudy.getUserid()) |
| | | .ne("id", byId.getId())); |
| | | for (Recipient recipient1 : userId) { |
| | | recipient1.setIsDefault(0); |
| | | recipientService.updateById(recipient1); |
| | |
| | | @ApiOperation(value = "新增收货地址/修改收货地址", tags = {"学习端-收货地址"}) |
| | | @ApiOperationSupport(order = 33) |
| | | public R<String> addressSave(@RequestBody Recipient recipient) { |
| | | LoginUserParent userStudy = tokenService.getLoginUserStudy(); |
| | | if (null == userStudy) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | recipient.setUserId(tokenService.getLoginUserStudy().getUserid()); |
| | | if (recipient.getIsDefault() == 1){ |
| | | if (recipient.getIsDefault() == 1) { |
| | | // 如果设置为默认地址 那么要将之前的默认地址取消掉 |
| | | List<Recipient> userId = recipientService.list(new QueryWrapper<Recipient>() |
| | | .eq("userId", tokenService.getLoginUser1().getUserid())); |
| | | .eq("userId", userStudy.getUserid())); |
| | | for (Recipient recipient1 : userId) { |
| | | recipient1.setIsDefault(0); |
| | | recipientService.updateById(recipient1); |
| | | } |
| | | } |
| | | recipientService.addressSaveOrUpdate(recipient); |
| | | return R.ok(); |
| | | return recipientService.addressSaveOrUpdate(recipient) ? R.ok() : R.fail(); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiOperation(value = "家长端-新增收货地址/修改收货地址", tags = {"家长端-新增收货地址/修改收货地址"}) |
| | | @ApiOperationSupport(order = 20) |
| | | public R<String> addressSaveOrUpdateParent(@RequestBody Recipient recipient) { |
| | | if (tokenService.getLoginUser1() == null){ |
| | | if (tokenService.getLoginUser1() == null) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | recipient.setUserId(tokenService.getLoginUser1().getUserid()); |
| | | if (recipient.getId() != null){ |
| | | if (recipient.getIsDefault() == 1){ |
| | | if (recipient.getId() != null) { |
| | | if (recipient.getIsDefault() == 1) { |
| | | // 如果设置为默认地址 那么要将之前的默认地址取消掉 |
| | | List<Recipient> userId = recipientService.list(new QueryWrapper<Recipient>() |
| | | .eq("userId", tokenService.getLoginUser1().getUserid())); |
| | |
| | | } |
| | | } |
| | | recipientService.updateById(recipient); |
| | | }else{ |
| | | if (recipient.getIsDefault() == 1){ |
| | | } else { |
| | | if (recipient.getIsDefault() == 1) { |
| | | // 如果设置为默认地址 那么要将之前的默认地址取消掉 |
| | | List<Recipient> userId = recipientService.list(new QueryWrapper<Recipient>() |
| | | .eq("userId", tokenService.getLoginUser1().getUserid())); |
| | |
| | | @GetMapping("/updateOrderAddress") |
| | | @ApiOperation(value = "修改订单收货地址", tags = {"学习端-收货地址"}) |
| | | @ApiOperationSupport(order = 36) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "String", required = true), |
| | | @ApiImplicitParam(value = "地址信息id", name = "recipientId", dataType = "String", required = true) |
| | | }) |
| | | public R updateOrderAddress(@RequestParam Integer orderId, @RequestParam Integer recipientId) { |
| | | if (tokenService.getLoginUserStudy() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | Recipient userId = recipientService.getById(recipientId); |
| | | TOrder byId = orderService.getById(orderId); |
| | | byId.setConsigneeName(userId.getAddress()); |
| | | byId.setConsigneePhone(userId.getRecipientPhone()); |
| | | byId.setConsigneeAddress(userId.getAddress()); |
| | | orderService.updateById(byId); |
| | | Recipient recipient = recipientService.getById(recipientId); |
| | | TOrder order = orderService.getById(orderId); |
| | | if (null == order) { |
| | | throw new GlobalException("订单不存在!"); |
| | | } |
| | | if (!Constants.ONE.equals(order.getState())) { |
| | | throw new GlobalException("订单已发货,无法修改收货地址!"); |
| | | } |
| | | order.setConsigneeName(recipient.getAddress()); |
| | | order.setConsigneePhone(recipient.getRecipientPhone()); |
| | | order.setConsigneeAddress(recipient.getAddress()); |
| | | orderService.updateById(order); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "商品分类列表", tags = {"学习端-商城"}) |
| | | @ApiOperationSupport(order = 39) |
| | | public R<List<TGoodsType>> goodTypeStudy() { |
| | | return R.ok(goodsTypeService.lambdaQuery().eq(TGoodsType::getIsDelete, 0).eq(TGoodsType::getIsDelete, 0).list()); |
| | | return R.ok(goodsTypeService.lambdaQuery().eq(TGoodsType::getIsDelete, 0).list()); |
| | | } |
| | | |
| | | /** |
| | |
| | | public R<GoodDetailVO> goodDetail(@RequestParam String goodId) { |
| | | // 商品详情 |
| | | TGoods goods = goodsService.lambdaQuery().eq(TGoods::getId, goodId).one(); |
| | | if (null == goods) { |
| | | throw new GlobalException("获取商品详情失败,商品不存在!"); |
| | | } |
| | | // 商品分类详情 |
| | | List<TGoodsType> goodsTypes = goodsTypeService.lambdaQuery().in(TGoodsType::getId, Arrays.asList(goods.getTypeIds().split(","))).list(); |
| | | // 已兑换人数 |
| | |
| | | } |
| | | // 商品详情 |
| | | TGoods goods = goodsService.lambdaQuery().eq(TGoods::getId, goodId).one(); |
| | | if (null == goods) { |
| | | throw new GlobalException("获取商品详情失败,商品不存在!"); |
| | | } |
| | | // 商品分类详情 |
| | | List<TGoodsType> goodsTypes = goodsTypeService.lambdaQuery().in(TGoodsType::getId, Arrays.asList(goods.getTypeIds().split(","))).list(); |
| | | // 已兑换人数 |
| | |
| | | Recipient recipient = recipientService.lambdaQuery() |
| | | .eq(Recipient::getUserId, tokenService.getLoginUser1().getUserid()) |
| | | .eq(Recipient::getIsDefault, 1).one(); |
| | | if (recipient == null){ |
| | | if (recipient == null) { |
| | | // 随便取一条地址数据 |
| | | List<Recipient> list = recipientService.lambdaQuery() |
| | | .eq(Recipient::getUserId, tokenService.getLoginUser1().getUserid()) |
| | | .eq(Recipient::getIsDefault, 1).list(); |
| | | if (!list.isEmpty()){ |
| | | if (!list.isEmpty()) { |
| | | recipient = list.get(0); |
| | | } |
| | | } |