package com.yiqi.core.domain.dto.wx;

import cn.binarywang.wx.miniapp.json.WxMaGsonBuilder;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 获取本小程序所创建的门店，不传wx_store_id和out_store_id则返回本小程序所有门店信息
 * @author xiaohei
 * @date 2024/2/1
 */
@Data
public class IntracityExpressStoreUpdateRequest {

    @ApiModelProperty("门店编号")
    private KeyInfo keys;

    @ApiModelProperty("更新内容")
    private UpdateContent content;


    /**
     * wx_store_id和out_store_id二选一
     */
    @Data
    public static class KeyInfo{
        @JsonProperty("wx_store_id")
        @ApiModelProperty("微信门店编号")
        private String wx_store_id;

        @JsonProperty("out_store_id")
        @ApiModelProperty("自定义门店编号")
        private String out_store_id;
    }

    @Data
    public static class UpdateContent{
        @JsonProperty("store_name")
        @ApiModelProperty("门店名称")
        private String store_name;

        @JsonProperty("order_pattern")
        @ApiModelProperty("运力偏好（1：价格优先，2：运力优先）默认价格优先")
        private String order_pattern;

        @JsonProperty("service_trans_prefer")
        @ApiModelProperty("优先使用的运力ID,order_pattern = 2时必填")
        private String service_trans_prefer;

        @JsonProperty("address_info")
        @ApiModelProperty("门店地址信息")
        private IntracityExpressCreateStoreRequest.AddressInfo address_info;
    }

    public String toJson() {
        return WxMaGsonBuilder.create().toJson(this);
    }
}
