| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.ruoyi.common.core.controller.FileController; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.model.TCrmClinic; |
| | | import com.ruoyi.system.model.TSysAppUser; |
| | | import com.ruoyi.system.model.TSysChronicDisease; |
| | | import com.ruoyi.system.model.TSysInspection; |
| | | import com.ruoyi.system.query.TSysAppUserQuery; |
| | | import com.ruoyi.system.service.TSysAppUserService; |
| | | import com.ruoyi.system.service.TSysChronicDiseaseService; |
| | | import com.ruoyi.system.service.TSysInspectionService; |
| | | import com.ruoyi.system.service.TSysOrderService; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.utils.wx.model.WeixinProperties; |
| | | import com.ruoyi.system.utils.xiMaUtil.XimaAIUtil; |
| | | import com.ruoyi.system.vo.TSysAppUserVO; |
| | | import com.ruoyi.system.vo.TSysOrderVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @author xiaochen |
| | | * @since 2025-08-20 |
| | | */ |
| | | @Slf4j |
| | | @Api(tags = "用户管理") |
| | | @RestController |
| | | @RequestMapping("/t-sys-app-user") |
| | |
| | | private final TSysChronicDiseaseService sysChronicDiseaseService; |
| | | private final TokenService tokenService; |
| | | private final RedisCache redisCache; |
| | | private final XimaAIUtil ximaAIUtil; |
| | | private final RestTemplate restTemplate; |
| | | private final FileController fileController; |
| | | private final WeixinProperties wxConfig; |
| | | private final TCrmClinicService crmClinicService; |
| | | @Autowired |
| | | public TSysAppUserController(TSysAppUserService sysAppUserService, TSysInspectionService sysInspectionService, TSysOrderService sysOrderService, TSysChronicDiseaseService sysChronicDiseaseService, TokenService tokenService, RedisCache redisCache) { |
| | | public TSysAppUserController(TSysAppUserService sysAppUserService, TSysInspectionService sysInspectionService, TSysOrderService sysOrderService, TSysChronicDiseaseService sysChronicDiseaseService, TokenService tokenService, RedisCache redisCache, XimaAIUtil ximaAIUtil, RestTemplate restTemplate, FileController fileController, WeixinProperties wxConfig, TCrmClinicService crmClinicService) { |
| | | this.sysAppUserService = sysAppUserService; |
| | | this.sysInspectionService = sysInspectionService; |
| | | this.sysOrderService = sysOrderService; |
| | | this.sysChronicDiseaseService = sysChronicDiseaseService; |
| | | this.tokenService = tokenService; |
| | | this.redisCache = redisCache; |
| | | this.ximaAIUtil = ximaAIUtil; |
| | | this.restTemplate = restTemplate; |
| | | this.fileController = fileController; |
| | | this.wxConfig = wxConfig; |
| | | this.crmClinicService = crmClinicService; |
| | | } |
| | | |
| | | /** |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 获取AI检测页面 |
| | | */ |
| | | @ApiOperation(value = "获取AI检测页面[1229]",notes = "设备类型 deviceType: android ios") |
| | | @GetMapping(value = "/getXiMaAiDetection") |
| | | public R<JSONObject> getXiMaAiDetection(@RequestParam String deviceType) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TSysAppUser sysAppUser = sysAppUserService.getById(userId); |
| | | |
| | | if(StringUtils.isBlank(sysAppUser.getNickName()) || StringUtils.isBlank(sysAppUser.getPhone()) || Objects.isNull(sysAppUser.getSex()) ||Objects.isNull(sysAppUser.getUserHeight()) || Objects.isNull(sysAppUser.getUserWeight())){ |
| | | return R.fail("请先完善用户信息"); |
| | | } |
| | | |
| | | if(StringUtils.isBlank(sysAppUser.getIdentifierNumber())){ |
| | | String identifierNumber = UUID.randomUUID().toString().replace("-", ""); |
| | | sysAppUser.setIdentifierNumber(identifierNumber); |
| | | sysAppUserService.updateById(sysAppUser); |
| | | } |
| | | JSONObject authorizationH5 = ximaAIUtil.getAuthorizationH5(sysAppUser.getIdentifierNumber(), sysAppUser.getNickName(), sysAppUser.getPhone(), sysAppUser.getSex() == 1 ? "0" : "1", sysAppUser.getUserHeight(), sysAppUser.getUserWeight(), deviceType); |
| | | return R.ok(authorizationH5); |
| | | } |
| | | |
| | | @ApiOperation(value = "查询诊所邀请码[1229]") |
| | | @GetMapping("/getClinicQrCode") |
| | | public R<String> getClinicQrCode() { |
| | | |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TSysAppUser sysAppUser = sysAppUserService.getById(userId); |
| | | if(StringUtils.isBlank(sysAppUser.getClinicId())){ |
| | | return R.fail("请先绑定诊所"); |
| | | } |
| | | TCrmClinic crmClinic = crmClinicService.getById(sysAppUser.getClinicId()); |
| | | if(Objects.isNull(crmClinic)){ |
| | | return R.fail("未找到该诊所信息"); |
| | | } |
| | | return R.ok(crmClinic.getQrCode()); |
| | | } |
| | | |
| | | } |
| | | |