package com.ruoyi.web.controller.api;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.dto.TSysOrderDto;
|
import com.ruoyi.system.model.TCrmClinic;
|
import com.ruoyi.system.model.TSysAppUser;
|
import com.ruoyi.system.model.TSysOrder;
|
import com.ruoyi.system.model.TSysOrderGoods;
|
import com.ruoyi.system.query.TSysAppUserQuery;
|
import com.ruoyi.system.query.TSysOrderQuery;
|
import com.ruoyi.system.service.TCrmClinicService;
|
import com.ruoyi.system.service.TSysAppUserService;
|
import com.ruoyi.system.service.TSysOrderGoodsService;
|
import com.ruoyi.system.service.TSysOrderService;
|
import com.ruoyi.system.vo.TSysOrderDetailVo;
|
import com.ruoyi.system.vo.TSysOrderPageVo;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 订单管理 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2025-08-20
|
*/
|
@RestController
|
@RequestMapping("/sys-order")
|
@Api(tags = "订单管理")
|
public class TSysOrderController {
|
|
private final TSysOrderService sysOrderService;
|
private final TokenService tokenService;
|
private final TCrmClinicService crmClinicService;
|
private final TSysAppUserService sysAppUserService;
|
private final TSysOrderGoodsService sysOrderGoodsService;
|
|
|
|
@Autowired
|
public TSysOrderController(TokenService tokenService, TSysOrderService sysOrderService, TCrmClinicService crmClinicService, TSysAppUserService sysAppUserService, TSysOrderGoodsService sysOrderGoodsService) {
|
this.sysOrderService = sysOrderService;
|
this.tokenService = tokenService;
|
this.crmClinicService = crmClinicService;
|
this.sysAppUserService = sysAppUserService;
|
this.sysOrderGoodsService = sysOrderGoodsService;
|
|
}
|
|
/**
|
* 获取诊所患者诊疗 订单列表
|
*/
|
@ApiOperation(value = "获取诊所患者诊疗订单列表")
|
@PostMapping(value = "/pageList")
|
public R<PageInfo<TSysOrderPageVo>> pageList(@RequestBody TSysOrderQuery query) {
|
|
SysUser user = tokenService.getLoginUser().getUser();
|
Integer roleType = user.getRoleType();
|
if(roleType == 5){
|
// 诊所
|
TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
|
.eq(TCrmClinic::getUserId, user.getUserId())
|
.last("LIMIT 1"));
|
query.setClinicId(crmClinic.getId());
|
}
|
return R.ok(sysOrderService.pageList(query));
|
}
|
|
|
|
@ApiOperation(value = "获取诊所患者诊疗--搜索用户")
|
@PostMapping(value = "/userList")
|
public R<List<TSysAppUser>> pageList(@RequestBody TSysAppUserQuery query) {
|
LambdaQueryWrapper<TSysAppUser> eq = new LambdaQueryWrapper<TSysAppUser>().eq(TSysAppUser::getStatus, 1);
|
if(query.getNickName() != null && !query.getNickName().isEmpty()){
|
eq.and(e->e.like(TSysAppUser::getNickName, query.getNickName()).or().like(TSysAppUser::getPhone, query.getNickName()));
|
}
|
// if(query.getPhone() != null && !query.getPhone().isEmpty()){
|
// eq.like(TSysAppUser::getPhone, query.getPhone());
|
// }
|
List<TSysAppUser> list = sysAppUserService.list(eq);
|
return R.ok(list);
|
}
|
|
|
@ApiOperation(value = "诊所患者诊疗--确认添加")
|
@PostMapping(value = "/add")
|
public R<String> add(@RequestBody @Valid TSysOrderDto dto) {
|
SysUser user = tokenService.getLoginUser().getUser();
|
Integer roleType = user.getRoleType();
|
|
if(roleType == 5){
|
// 诊所
|
TCrmClinic crmClinic = crmClinicService.getOne(Wrappers.lambdaQuery(TCrmClinic.class)
|
.eq(TCrmClinic::getUserId, user.getUserId())
|
.last("LIMIT 1"));
|
sysOrderService.add(dto,crmClinic,user.getNickName(),user.getUserId().toString());
|
return R.ok("添加成功");
|
}
|
return R.fail("添加失败");
|
}
|
|
|
@ApiOperation(value = "诊所患者诊疗--详情")
|
@GetMapping(value = "/detail/{id}")
|
public R<TSysOrderDetailVo> detail(@PathVariable String id) {
|
TSysOrder tSysOrder = sysOrderService.getById(id);
|
|
TSysOrderDetailVo detail = new TSysOrderDetailVo();
|
detail.setId(tSysOrder.getId());
|
String appUserId = tSysOrder.getAppUserId();
|
TSysAppUser appUser = sysAppUserService.getById(appUserId);
|
detail.setUserName(appUser.getNickName());
|
detail.setCheckTime(tSysOrder.getCheckTime());
|
detail.setTotalMoney(tSysOrder.getTotalMoney());
|
|
List<TSysOrderGoods> list = sysOrderGoodsService.list(new LambdaQueryWrapper<TSysOrderGoods>().eq(TSysOrderGoods::getOrderId, id));
|
detail.setList(list);
|
|
return R.ok(detail);
|
}
|
|
|
}
|