package com.hz.his.feign.service.sync;

/**
 * @Author
 */

import com.hx.resultTool.Result;
import net.sf.json.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;

/**
 * 这里这个name 需要填写 请求的服务提供者的注册到nacos Server上面的服务名,path 是请求接口前缀
 */
@FeignClient(name="synchro-service",path = "/his_synchro",contextId = "synchro-user")
public interface SyncUserService {

    /**
     * 根据用户id同步用户基本信息,订单信息,可划扣信息,已划扣信息
     * @param userId 用户id
     * @return 返回
     */
    @PostMapping(value = "/user/consumption/data/list")
    Result userList(@RequestParam("userId") String userId);

    /**
     * 根据用户id同步用户基本信息
     * @param userId 用户id
     * @return 返回
     */
    @PostMapping(value = "/sync/user/syncUserById")
    Result syncUserById(@RequestParam("userId") String userId);

    /** 主动同步创建顾客到his - 修改用户ciq和会员等级*/
    @PostMapping("/sync/user/updateMembership")
    Result updateMembership(@RequestBody JSONObject jsonObject);

    /** 校验图片是否符合商汤要求*/
    @PostMapping(value = "/sync/user/recognition/quality", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
    Result syncUserRecognitionQuality(@RequestPart MultipartFile file);
}