package com.template.model.seewo;

import java.util.*;
import com.seewo.open.sdk.OpenApiParam;
import com.seewo.open.sdk.ParameterPosition;

/**
 * seewo-open API: 删除指定条件的学生家长
 *
 *
 * @author auto create
 * @since 2.0.1 2023-12-19
 */
public class ParentServiceRemoveStudentParentConditionParam extends OpenApiParam {


    /**
     * 请求体，MimeType为 application/json
     */

    private JSONRequestBody requestBody;


    public JSONRequestBody getRequestBody() {
        return this.requestBody;
    }

    public void setRequestBody(JSONRequestBody requestBody) {
        this.requestBody = requestBody;
    }

    public static ParentServiceRemoveStudentParentConditionParamBuilder builder(){
        return new ParentServiceRemoveStudentParentConditionParamBuilder();
    }

    public static class ParentServiceRemoveStudentParentConditionParamBuilder{
        private JSONRequestBody requestBody;

        public ParentServiceRemoveStudentParentConditionParamBuilder requestBody(JSONRequestBody requestBody){
            this.requestBody = requestBody;
            return this;
        }

        public ParentServiceRemoveStudentParentConditionParam build(){
            ParentServiceRemoveStudentParentConditionParam param = new ParentServiceRemoveStudentParentConditionParam();
            param.setRequestBody(requestBody);
            return param;
        }
    }

    public static class JSONRequestBody {
        /**
         *
         */
        private ThirdRemoveStudentParentQuery query;

        public ThirdRemoveStudentParentQuery getQuery() {
            return this.query;
        }

        public void setQuery(ThirdRemoveStudentParentQuery query) {
            this.query = query;
        }


        public static JSONRequestBodyBuilder builder(){
            return new JSONRequestBodyBuilder();
        }

        public static class JSONRequestBodyBuilder{
            private ThirdRemoveStudentParentQuery query;

            public JSONRequestBodyBuilder query(ThirdRemoveStudentParentQuery query){
                this.query = query;
                return this;
            }

            public JSONRequestBody build(){
                JSONRequestBody param = new JSONRequestBody();
                param.setQuery(query);
                return param;
            }
        }
    }

    public static class ThirdRemoveStudentParentQuery {
        /**
         *  appId
         */
        private String appId;
        /**
         *  学校ID
         */
        private String schoolUid;
        /**
         *  学号列表
         */
        private List<String> studentCodes;
        /**
         *  家长手机号
         */
        private List<String> parentPhones;

        public String getAppId() {
            return this.appId;
        }

        public void setAppId(String appId) {
            this.appId = appId;
        }

        public String getSchoolUid() {
            return this.schoolUid;
        }

        public void setSchoolUid(String schoolUid) {
            this.schoolUid = schoolUid;
        }

        public List<String> getStudentCodes() {
            return this.studentCodes;
        }

        public void setStudentCodes(List<String> studentCodes) {
            this.studentCodes = studentCodes;
        }

        public List<String> getParentPhones() {
            return this.parentPhones;
        }

        public void setParentPhones(List<String> parentPhones) {
            this.parentPhones = parentPhones;
        }


        public static ThirdRemoveStudentParentQueryBuilder builder(){
            return new ThirdRemoveStudentParentQueryBuilder();
        }

        public static class ThirdRemoveStudentParentQueryBuilder{
            private String appId;
            private String schoolUid;
            private List<String> studentCodes;
            private List<String> parentPhones;

            public ThirdRemoveStudentParentQueryBuilder appId(String appId){
                this.appId = appId;
                return this;
            }
            public ThirdRemoveStudentParentQueryBuilder schoolUid(String schoolUid){
                this.schoolUid = schoolUid;
                return this;
            }
            public ThirdRemoveStudentParentQueryBuilder studentCodes(List<String> studentCodes){
                this.studentCodes = studentCodes;
                return this;
            }
            public ThirdRemoveStudentParentQueryBuilder parentPhones(List<String> parentPhones){
                this.parentPhones = parentPhones;
                return this;
            }

            public ThirdRemoveStudentParentQuery build(){
                ThirdRemoveStudentParentQuery param = new ThirdRemoveStudentParentQuery();
                param.setAppId(appId);
                param.setSchoolUid(schoolUid);
                param.setStudentCodes(studentCodes);
                param.setParentPhones(parentPhones);
                return param;
            }
        }
    }


}
