| | |
| | | package com.ruoyi.goods.controller; |
| | | import java.util.Date; |
| | | |
| | | |
| | | 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.goods.vo.TOrderVO; |
| | | import com.ruoyi.study.api.domain.TUser; |
| | | import com.ruoyi.study.api.feignClient.StudyClient; |
| | | import com.ruoyi.study.api.vo.UserPersonalCenterVO; |
| | | import com.ruoyi.system.api.model.LoginUserParent; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | private IRegionService regionService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | @PostMapping("/testAddData") |
| | | @ApiOperation(value = "测试分片", tags = {"测试分片"}) |
| | | public R<Object> testAddData() { |
| | | TOrder tOrder = new TOrder(); |
| | | tOrder.setOrderNumber(""); |
| | | tOrder.setUserId(63); |
| | | tOrder.setInsertTime(new Date()); |
| | | tOrder.setGoodsId(0); |
| | | tOrder.setCount(0); |
| | | tOrder.setState(0); |
| | | tOrder.setExpress(""); |
| | | tOrder.setExpressNumber(""); |
| | | tOrder.setExpressTime(new Date()); |
| | | tOrder.setIntegral(0); |
| | | tOrder.setCompleteTime(new Date()); |
| | | tOrder.setConsigneeName(""); |
| | | tOrder.setImg(""); |
| | | tOrder.setName(""); |
| | | tOrder.setType(""); |
| | | tOrder.setConsigneePhone(""); |
| | | tOrder.setConsigneeAddress(""); |
| | | tOrder.setProvince(""); |
| | | tOrder.setCity(""); |
| | | tOrder.setRemark(""); |
| | | tOrder.setDisabled(false); |
| | | tOrder.setCreateBy(""); |
| | | tOrder.setCreateTime(new Date()); |
| | | tOrder.setUpdateBy(""); |
| | | tOrder.setUpdateTime(new Date()); |
| | | orderService.save(tOrder); |
| | | return R.ok(); |
| | | } |
| | | @PostMapping("/listType") |
| | | @ApiOperation(value = "列表查询", tags = {"后台-商品类型管理"}) |
| | | public R<PageInfo<TGoodsType>> listType(@RequestBody GoodsTypeQuery query) { |
| | |
| | | |
| | | // 类型匹配 todo |
| | | if (goodQuery.getType() != null && goodQuery.getType().size() > 0) { |
| | | for (String s : goodQuery.getType()) { |
| | | wrapper.apply("FIND_IN_SET('" + s + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | for (int i = 0; i < goodQuery.getType().size(); i++) { |
| | | // if (i == 0){ |
| | | // wrapper.apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | // }else{ |
| | | wrapper.or().apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | // } |
| | | } |
| | | } |
| | | wrapper.eq("isDelete", 0); |
| | |
| | | wrapper = keywords != null && !"".equals(keywords.trim()) ? wrapper.like("name", keywords) : wrapper; |
| | | // 类型匹配 todo |
| | | if (goodQuery.getType() != null && goodQuery.getType().size() > 0) { |
| | | for (String s : goodQuery.getType()) { |
| | | wrapper.apply("FIND_IN_SET('" + s + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | for (int i = 0; i < goodQuery.getType().size(); i++) { |
| | | if (i == 0){ |
| | | wrapper.apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | }else{ |
| | | wrapper.or().apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 |
| | | } |
| | | } |
| | | } |
| | | wrapper.eq("isDelete", 0); |
| | | // sort排序 |
| | | wrapper.orderByAsc("CASE WHEN sort IS NULL THEN 1 ELSE 0 END") |
| | | .orderByAsc("sort") |
| | | .orderByDesc("sort") |
| | | .orderByDesc("createTime"); |
| | | return R.ok(goodsService.page(new PageInfo<>(goodQuery.getPageNumber(), goodQuery.getPageSize()), wrapper)); |
| | | } |
| | |
| | | @ApiOperation(value = "修改", tags = {"后台-商品管理"}) |
| | | public R updateGoods(@RequestBody TGoods dto) { |
| | | TGoods byId = goodsService.getById(dto.getId()); |
| | | if (!Objects.equals(byId.getTotal(), dto.getTotal())){ |
| | | if (byId.getTotal()!=null && dto.getTotal()!=null &&!Objects.equals(byId.getTotal(), dto.getTotal())){ |
| | | // 如果修改了商品总数 那么需要再判断当前商品已被购买了多少 |
| | | List<TOrder> list = orderService.list(new QueryWrapper<TOrder>() |
| | | .eq("goodsId", dto.getId())); |
| | |
| | | temp += tOrder.getCount(); |
| | | } |
| | | if (dto.getTotal()<temp){ |
| | | return R.fail("商品总数不能小于当前商品已兑换数量,"+"当前商品已兑换数量为:"+temp); |
| | | return R.fail("商品总数不能小于当前商品已兑换数量,"+"当前商品已兑换数量为:"+temp); |
| | | } |
| | | } |
| | | goodsService.updateById(dto); |
| | |
| | | */ |
| | | @GetMapping("/exchangeRecord") |
| | | @ApiOperation(value = "学习端-兑换记录", tags = {"学习端-商城"}) |
| | | public R<List<ExchangeRecordVO>> exchangeRecord() { |
| | | public R<PageInfo<ExchangeRecordVO>> exchangeRecord(Integer pageNumber,Integer pageSize) { |
| | | PageInfo<ExchangeRecordVO> res = new PageInfo<>(pageNumber, pageSize); |
| | | LoginUserParent loginUserStudy = tokenService.getLoginUserStudy(); |
| | | if (null == loginUserStudy) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | List<ExchangeRecordVO> exchangeRecord = orderService.exchangeRecord(tokenService.getLoginUserStudy().getUserid()); |
| | | List<ExchangeRecordVO> exchangeRecord = orderService.exchangeRecord(res,tokenService.getLoginUserStudy().getUserid()); |
| | | for (ExchangeRecordVO record : exchangeRecord) { |
| | | TGoods goods = goodsService.getById(record.getGoodsId()); |
| | | TGoods goods = goodsService.getById1(record.getGoodsId()); |
| | | List<String> typeList; |
| | | if (null != goods) { |
| | | List<TGoodsType> goodsTypes = goodsTypeService.lambdaQuery().in(TGoodsType::getId, Arrays.stream(goods.getTypeIds().split(",")).collect(Collectors.toList())) |
| | |
| | | } |
| | | record.setGoodsType(typeList); |
| | | } |
| | | return R.ok(exchangeRecord); |
| | | res.setRecords(exchangeRecord); |
| | | res.setTotal(exchangeRecord.size()); |
| | | return R.ok(res); |
| | | } |
| | | |
| | | @GetMapping("/exchangeRecordParent") |
| | | @ApiOperation(value = "家长端-兑换记录", tags = {"家长端-兑换记录"}) |
| | | public R<List<ExchangeRecordVO>> exchangeRecordParent() { |
| | | public R<PageInfo<ExchangeRecordVO>> exchangeRecordParent(Integer pageNumber,Integer pageSize) { |
| | | PageInfo<ExchangeRecordVO> res = new PageInfo<>(pageNumber, pageSize); |
| | | if (tokenService.getLoginUser1() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | List<ExchangeRecordVO> exchangeRecord = orderService.exchangeRecord(tokenService.getLoginUser1().getUserid()); |
| | | List<ExchangeRecordVO> exchangeRecord = orderService.exchangeRecord(res,tokenService.getLoginUser1().getUserid()); |
| | | for (ExchangeRecordVO record : exchangeRecord) { |
| | | TGoods goods = goodsService.getById(record.getGoodsId()); |
| | | TGoods goods = goodsService.getById1(record.getGoodsId()); |
| | | List<String> typeList; |
| | | if (null != goods) { |
| | | List<TGoodsType> goodsTypes = goodsTypeService.lambdaQuery().in(TGoodsType::getId, Arrays.stream(goods.getTypeIds().split(",")).collect(Collectors.toList())) |
| | |
| | | } |
| | | record.setGoodsType(typeList); |
| | | } |
| | | return R.ok(exchangeRecord); |
| | | res.setRecords(exchangeRecord); |
| | | res.setTotal(exchangeRecord.size()); |
| | | return R.ok(res); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "id", dataType = "String", required = true) |
| | | }) |
| | | public R<Boolean> confirm(@RequestParam Integer id) { |
| | | public R<Boolean> confirm(@RequestParam String id) { |
| | | if (tokenService.getLoginUser1() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | TOrder byId = orderService.getById(id); |
| | | byId.setUserId(null); |
| | | byId.setState(3); |
| | | byId.setCompleteTime(new Date()); |
| | | return R.ok(orderService.updateById(byId)); |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "订单id", name = "id", dataType = "String", required = true) |
| | | }) |
| | | public R<Boolean> confirmStudy(@RequestParam Integer id) { |
| | | public R<Boolean> confirmStudy(@RequestParam String id) { |
| | | if (tokenService.getLoginUserStudy() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | TOrder byId = orderService.getById(id); |
| | | byId.setUserId(null); |
| | | byId.setState(3); |
| | | byId.setCompleteTime(new Date()); |
| | | return R.ok(orderService.updateById(byId)); |
| | |
| | | @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "String", required = true), |
| | | @ApiImplicitParam(value = "地址信息id", name = "recipientId", dataType = "String", required = true) |
| | | }) |
| | | public R updateOrderAddressParent(@RequestParam Integer orderId, @RequestParam Integer recipientId) { |
| | | public R updateOrderAddressParent(@RequestParam String orderId, @RequestParam Integer recipientId) { |
| | | if (tokenService.getLoginUser1() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | |
| | | if (!Constants.ONE.equals(order.getState())) { |
| | | throw new GlobalException("订单已发货,无法修改收货地址!"); |
| | | } |
| | | order.setConsigneeName(recipient.getAddress()); |
| | | order.setUserId(null); |
| | | order.setConsigneeName(recipient.getRecipient()); |
| | | order.setConsigneePhone(recipient.getRecipientPhone()); |
| | | order.setConsigneeAddress(recipient.getAddress()); |
| | | order.setConsigneeAddress(recipient.getProvince()+recipient.getCity()+recipient.getAddress()); |
| | | orderService.updateById(order); |
| | | return R.ok(); |
| | | } |
| | |
| | | @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) { |
| | | public R updateOrderAddress(@RequestParam String orderId, @RequestParam Integer recipientId) { |
| | | if (tokenService.getLoginUserStudy() == null) { |
| | | return R.tokenError("登录失效"); |
| | | } |
| | |
| | | if (!Constants.ONE.equals(order.getState())) { |
| | | throw new GlobalException("订单已发货,无法修改收货地址!"); |
| | | } |
| | | order.setConsigneeName(recipient.getAddress()); |
| | | order.setUserId(null); |
| | | order.setConsigneeName(recipient.getRecipient()); |
| | | order.setConsigneePhone(recipient.getRecipientPhone()); |
| | | order.setConsigneeAddress(recipient.getAddress()); |
| | | order.setConsigneeAddress(recipient.getProvince()+recipient.getCity()+recipient.getAddress()); |
| | | orderService.updateById(order); |
| | | return R.ok(); |
| | | } |
| | |
| | | if (null == loginUserStudy) { |
| | | return R.tokenError("登录失效!"); |
| | | } |
| | | return R.ok(goodsService.goodRecommend(loginUserStudy.getUserid())); |
| | | UserPersonalCenterVO data = studyClient.userInfo().getData(); |
| | | List<TGoodsVO> tGoodsVOS = goodsService.goodRecommend(loginUserStudy.getUserid()); |
| | | List<TGoodsVO> res = new ArrayList<>(); |
| | | int temp = 0; |
| | | for (TGoodsVO re : tGoodsVOS) { |
| | | if (temp>=3){ |
| | | break; |
| | | } |
| | | if (data.getUser().getIntegral()>=re.getIntegral()){ |
| | | res.add(re); |
| | | temp++; |
| | | } |
| | | } |
| | | return R.ok(res); |
| | | } |
| | | |
| | | /** |
| | |
| | | if (null != goods.getBasicCount()) { |
| | | number += goods.getBasicCount(); |
| | | } |
| | | number += orderService.getGoodBuyNumber(goods.getId()); |
| | | List<TOrder> list = orderService.list(new QueryWrapper<TOrder>().eq("goodsId", goods.getId())); |
| | | for (TOrder tOrder : list) { |
| | | number+=tOrder.getCount(); |
| | | } |
| | | // 剩余兑换数量 |
| | | Integer residueNumber = null; |
| | | if (null != goods.getTotal()) { |
| | |
| | | if (null != goods.getBasicCount()) { |
| | | number += goods.getBasicCount(); |
| | | } |
| | | number += orderService.getGoodBuyNumber(goods.getId()); |
| | | List<TOrder> list = orderService.list(new QueryWrapper<TOrder>().eq("goodsId", goods.getId())); |
| | | for (TOrder tOrder : list) { |
| | | number+=tOrder.getCount(); |
| | | } |
| | | // 剩余兑换数量 |
| | | Integer residueNumber = null; |
| | | if (null != goods.getTotal()) { |
| | |
| | | @PostMapping("/getOrderInfo/{id}") |
| | | @ApiOperation(value = "查看详情", tags = {"后台-订单管理"}) |
| | | @ApiOperationSupport(order = 11) |
| | | public R<TOrderVO> getOrderInfo(@PathVariable("id") Integer id) { |
| | | public R<TOrderVO> getOrderInfo(@PathVariable("id") String id) { |
| | | TOrder byId = orderService.getById(id); |
| | | TGoods byId2 = goodsService.getById(byId.getGoodsId()); |
| | | TGoods byId2 = goodsService.getById1(byId.getGoodsId()); |
| | | TOrderVO tGoodsVO = new TOrderVO(); |
| | | BeanUtils.copyProperties(byId, tGoodsVO); |
| | | tGoodsVO.setName(byId2.getName()); |
| | |
| | | @ApiOperationSupport(order = 12) |
| | | public R getGoodsInfo1(@RequestBody OrderDTO dto) { |
| | | TOrder byId = orderService.getById(dto.getId()); |
| | | byId.setUserId(null); |
| | | byId.setState(2); |
| | | byId.setExpress(dto.getExpress()); |
| | | byId.setExpressNumber(dto.getExpressNumber()); |
| | |
| | | list1.add(tOrderVO); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | PageInfo<TOrderVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); |
| | | res.setRecords(list1); |