package com.ruoyi.web.controller.api;
|
|
|
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpResponse;
|
import cn.hutool.http.HttpUtil;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.lkl.laop.sdk.exception.SDKException;
|
import com.ruoyi.common.basic.PageInfo;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.ip.IpUtils;
|
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.system.dto.TSysOrderDto;
|
import com.ruoyi.system.model.*;
|
import com.ruoyi.system.query.TErpGoodsWarehouseQuery;
|
import com.ruoyi.system.query.TSysAppUserQuery;
|
import com.ruoyi.system.query.TSysEducationalInfoQuery;
|
import com.ruoyi.system.query.TSysOrderQuery;
|
import com.ruoyi.system.service.*;
|
import com.ruoyi.system.vo.TSysOrderDetailVo;
|
import com.ruoyi.system.vo.TSysOrderPageVo;
|
import com.ruoyi.web.core.config.LakalaConfig;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.SneakyThrows;
|
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.io.IOUtils;
|
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.methods.HttpPost;
|
import org.apache.http.conn.ClientConnectionManager;
|
import org.apache.http.conn.scheme.Scheme;
|
import org.apache.http.conn.scheme.SchemeRegistry;
|
import org.apache.http.conn.ssl.SSLSocketFactory;
|
import org.apache.http.entity.StringEntity;
|
import org.apache.http.impl.client.DefaultHttpClient;
|
import org.apache.poi.ss.formula.functions.T;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.net.ssl.SSLContext;
|
import javax.net.ssl.TrustManager;
|
import javax.net.ssl.X509TrustManager;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.validation.Valid;
|
import java.io.*;
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.nio.charset.StandardCharsets;
|
import java.security.*;
|
import java.security.cert.*;
|
import java.security.spec.InvalidKeySpecException;
|
import java.security.spec.PKCS8EncodedKeySpec;
|
import java.time.LocalDateTime;
|
import java.time.format.DateTimeFormatter;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.concurrent.ThreadPoolExecutor;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 订单管理 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2025-08-20
|
*/
|
@RestController
|
@RequestMapping("")
|
@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.like(TSysAppUser::getNickName, 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);
|
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);
|
}
|
|
|
}
|