package com.sinata.rest.modular.member.controller;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.sinata.rest.common.ApiUtils;
|
import com.sinata.rest.modular.member.model.MemMerchant;
|
import com.sinata.rest.modular.member.model.MyDoctor;
|
import com.sinata.rest.modular.member.service.IMemMerchantService;
|
import com.sinata.rest.modular.member.service.IMyDoctorService;
|
import com.sinata.rest.modular.system.controller.AuthController;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Slf4j
|
@RestController
|
@RequestMapping("/doctor")
|
@Api(tags = "医生相关接口", description = "医生相关接口")
|
public class DoctorController extends AuthController {
|
|
@Autowired
|
IMyDoctorService myDoctorService;
|
@Autowired
|
IMemMerchantService merchantService;
|
|
@GetMapping(value = "/getDoctorList")
|
@ApiOperation(value = "获取医生列表", notes = "获取医生列表", response = MyDoctor.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "level", value = "层级 1 省 2 市 3 区", dataType = "Int", paramType = "query", required = true),
|
@ApiImplicitParam(name = "cityCode", value = "所在区域", dataType = "String", paramType = "query", required = true),
|
@ApiImplicitParam(name = "memberId", value = "门店id", dataType = "Int", paramType = "query", required = true),
|
@ApiImplicitParam(name = "doctorName", value = "医生名称", dataType = "Int", paramType = "query", required = true),
|
@ApiImplicitParam(name = "current", value = "页数", defaultValue = "1", dataType = "Int", paramType = "query", required = true),
|
@ApiImplicitParam(name = "size", value = "大小", defaultValue = "10", dataType = "Int", paramType = "query", required = true)
|
})
|
public Object getDoctorList(Integer level,String cityCode,Integer memberId, Integer current, Integer size,String doctorName) {
|
Page<MyDoctor> page = new Page<MyDoctor>(current, size);
|
List<MyDoctor> doctorList = myDoctorService.getDoctorList(level, cityCode, memberId,page,doctorName);
|
return ApiUtils.returnOK(doctorList);
|
}
|
|
@GetMapping(value = "/getDoctorMerchantLsit")
|
@ApiOperation(value = "获取医生服务门店列表", notes = "获取医生服务门店列表", response = MemMerchant.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "doctorId", value = "医生id", dataType = "Int", paramType = "query", required = true)
|
})
|
public Object getDoctorMerchantLsit(Integer doctorId,Integer current, Integer size) {
|
MyDoctor doctor = myDoctorService.getById(doctorId);
|
List<MemMerchant> doctorList = new ArrayList<>();
|
if(StrUtil.isNotEmpty(doctor.getMerchantId())){
|
Page<MemMerchant> page = new Page<MemMerchant>(current, size);
|
LambdaQueryWrapper<MemMerchant> wrapper = new LambdaQueryWrapper<>();
|
wrapper.eq(MemMerchant::getIsDelete,Boolean.FALSE);
|
wrapper.in(MemMerchant::getId,doctor.getMerchantId().split(","));
|
doctorList = merchantService.list(wrapper);
|
doctorList.stream().forEach(memMerchant -> {
|
memMerchant.setImAccount("");
|
memMerchant.setImPassword("");
|
});
|
}
|
return ApiUtils.returnOK(doctorList);
|
}
|
|
}
|