xuhy
2024-12-27 2338f0a18ce10e4162f4c9142a6829b5ab950e47
manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
@@ -7,24 +7,21 @@
import com.jilongda.manage.authority.model.SecUser;
import com.jilongda.manage.authority.service.SecUserService;
import com.jilongda.manage.dto.TOrderDTO;
import com.jilongda.manage.model.TCoupon;
import com.jilongda.manage.model.TCouponReceive;
import com.jilongda.manage.model.TOptometryDetail;
import com.jilongda.manage.model.*;
import com.jilongda.manage.query.TOptometryQuery;
import com.jilongda.manage.service.*;
import com.jilongda.manage.utils.LoginInfoUtil;
import com.jilongda.manage.vo.TOptometryVO;
import com.jilongda.manage.vo.TOrderVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -48,7 +45,16 @@
    private TCouponReceiveService couponReceiveService;
    @Autowired
    private TCouponService couponService;
    @Autowired
    private TOrderService orderService;
    @Autowired
    private TOptometryDetailService optometryDetailService;
    @Autowired
    private TOrderGoodsService orderGoodsService;
    @Autowired
    private TFrameGoodsService frameGoodsService;
    @Autowired
    private TLensGoodsService lensGoodsService;
    @ApiOperation(value = "查询用户信息")
    @GetMapping(value = "/getUserById")
    public ApiResult getUserById(@RequestParam Integer userId) {
@@ -66,12 +72,14 @@
    @ApiOperation(value = "查询优惠券")
    @GetMapping(value = "/getCouponListByUserId")
    public ApiResult<List<TCoupon>> getCouponListByUserId(@RequestParam Integer userId, @RequestParam Integer storeId) {
    public ApiResult<List<TCouponReceive>> getCouponListByUserId(@RequestParam Integer userId, @RequestParam Integer storeId) {
        List<TCouponReceive> list = couponReceiveService.list(Wrappers.lambdaQuery(TCouponReceive.class)
                .eq(TCouponReceive::getUserId, userId)
                .eq(TCouponReceive::getStatus, 1));
        List<TCouponReceive> tCouponReceives = new ArrayList<>();
        for (TCouponReceive tCouponReceive : list) {
            TCoupon byId = couponService.getById(tCouponReceive.getCouponId());
            tCouponReceive.setCouponName(byId.getName());
            if (StringUtils.hasLength(tCouponReceive.getStoreId())){
                if (Arrays.asList(tCouponReceive.getStoreId().split(",")).contains(storeId+"")){
                    tCouponReceives.add(tCouponReceive);
@@ -81,20 +89,49 @@
                tCouponReceives.add(tCouponReceive);
            }
        }
        List<Integer> collect = list.stream().map(TCouponReceive::getCouponId).collect(Collectors.toList());
        if (collect.isEmpty()){
            collect.add(-1);
        }
        List<TCoupon> list1 = couponService.lambdaQuery().in(TCoupon::getId, collect).list();
        return ApiResult.success(list1);
        return ApiResult.success(tCouponReceives);
    }
    @ApiOperation(value = "添加订单")
    @PostMapping(value = "/addOrder")
    public ApiResult addOrder(@RequestBody TOrderDTO dto) {
        // 查询店员
        SecUser user = secUserService.getById(dto.getSysId());
        if(Objects.nonNull(user)){
            dto.setStoreId(user.getStoreId());
        }
        orderService.save(dto);
        List<TOptometryDetail> optometryDetails = dto.getOptometryDetails();
        if (!CollectionUtils.isEmpty(optometryDetails)){
            for (TOptometryDetail optometryDetail : optometryDetails) {
                optometryDetail.setOrderId(dto.getId());
            }
            optometryDetailService.saveBatch(optometryDetails);
        }
        List<TOrderGoods> orderGoods = dto.getOrderGoods();
        for (TOrderGoods orderGood : orderGoods) {
            orderGood.setOrderId(dto.getId());
        }
        // TODO 周哥 补库存
        return ApiResult.success();
    }
    @ApiOperation(value = "销售订单详情")
    @GetMapping(value = "/getOrderDetailById")
    public ApiResult getOrderDetailById(@RequestParam Integer orderId) {
        TOrderVO orderVO = orderService.getOrderDetailById(orderId);
        // TODO 周哥 商品信息集合
        // TODO 周哥 验光处方 判断是关联或者手动
        return ApiResult.success(orderVO);
    }
}