package com.jilongda.manage.controller;
import com.jilongda.common.basic.ApiResult;
import com.jilongda.common.basic.PageInfo;
import com.jilongda.common.constants.WarehousingConstant;
import com.jilongda.common.utils.CodeGenerateUtils;
import com.jilongda.common.utils.TimeUtils;
import com.jilongda.manage.authority.model.SecUser;
import com.jilongda.manage.authority.service.SecUserService;
import com.jilongda.manage.model.*;
import com.jilongda.manage.query.TOptometristQuery;
import com.jilongda.manage.query.TOrderAftersalesQuery;
import com.jilongda.manage.service.*;
import com.jilongda.manage.vo.TOptometristVO;
import com.jilongda.manage.vo.TOrderAftersalesDetailVO;
import com.jilongda.manage.vo.TOrderAftersalesVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.List;
/**
*
* 订单售后表 前端控制器
*
*
* @author 无关风月
* @since 2024-12-09
*/
@Api(tags = "订单售后管理")
@RestController
@RequestMapping("/t-order-aftersales")
public class TOrderAftersalesController {
@Autowired
private TOrderAftersalesService orderAftersalesService;
@Autowired
private TOrderService orderService;
@Autowired
private SecUserService secUserService;
@Autowired
private TStoreService tStoreService;
@Autowired
private TAppUserService appUserService;
@Autowired
private TOptometristService tOptometristService;
@Autowired
private TOrderGoodsService goodsService;
@ApiOperation(value = "订单售后列表")
@PostMapping(value = "/pageList")
public ApiResult> pageList(@RequestBody TOrderAftersalesQuery query) {
if (StringUtils.hasLength(query.getStartTime())){
query.setStartTime(query.getStartTime()+" 00:00:00");
query.setEndTime(query.getEndTime()+" 23:59:59");
}
PageInfo orderAftersalesVOPageInfo = orderAftersalesService.pageList(query);
return ApiResult.success(orderAftersalesVOPageInfo);
}
@ApiOperation(value = "订单售后添加")
@PostMapping(value = "/add")
public ApiResult add(@RequestBody TOrderAftersales dto) {
dto.setCode(WarehousingConstant.ASTER_SALES+ CodeGenerateUtils.generateVolumeSn());
orderAftersalesService.save(dto);
return ApiResult.success();
}
@ApiOperation(value = "订单售后详情")
@GetMapping(value = "/detail")
public ApiResult detail(Integer id) {
TOrderAftersales byId = orderAftersalesService.getById(id);
TOrder byId1 = orderService.getById(byId.getOrderId());
TStore byId2 = tStoreService.getById(byId1.getStoreId());
SecUser byId3 = secUserService.getById(byId.getSysId());
TOptometrist byId5 = tOptometristService.getById(byId.getOptometristId());
TOrderAftersalesDetailVO res = new TOrderAftersalesDetailVO();
BeanUtils.copyProperties(byId,res);
res.setOrderId(byId1.getId());
if (byId1.getUserId()!=null){
TAppUser byId4 = appUserService.getById(byId1.getUserId());
if (byId4!=null){
res.setPhone(byId4.getPhone());
res.setName(byId4.getName());
res.setRealName(byId4.getRealName());
}
}else{
res.setPhone(byId1.getPhone());
res.setRealName(byId1.getRealName());
}
res.setStoreName(byId2.getName());
res.setOptometristName(byId5.getName());
res.setSalesUser(byId3.getNickName());
res.setOrderTime(TimeUtils.localDateTimeToString(byId1.getCreateTime()));
res.setAfterSalesTime(TimeUtils.localDateTimeToString(byId.getCreateTime()));
List list = goodsService.lambdaQuery().eq(TOrderGoods::getOrderId, byId1.getId()).list();
res.setGoodsList(list);
res.setOrderMoney(byId1.getOrderMoney());
res.setCouponMoney(byId1.getCouponMoney());
res.setPayMoney(byId1.getPayMoney());
return ApiResult.success(res);
}
}