package cn.timer.api.dto.yggl;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;

import cn.timer.api.dao.yggl.YgAreaDtoMapper;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* @author Tang 2019-11-15
*/

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("pro_city_area_class")
@ApiModel("籍贯:地区")
public class YgAreaDto implements IYgjgDto,InitializingBean{
	@Id
    @GeneratedValue
    @TableId (type = IdType.AUTO)
	@ApiModelProperty(value="编号",example="1")
    private Integer id;
    
	@ApiModelProperty(value="省编码 ",example="省编码")
    private Integer province;
    
	@ApiModelProperty(value="市编码",example="市编码")
    private Integer city;
	
	@ApiModelProperty(value="名字",example="名字")
    private String name;
	
	@Autowired
	private YgAreaDtoMapper ygAreaDtoMapper;
	
	public List<String> exePunish() {
	       List<YgAreaDto> areaList = new LambdaQueryChainWrapper<YgAreaDto>(ygAreaDtoMapper).orderByAsc(YgAreaDto::getProvince).list();
	       List<String> a =new ArrayList<String>();
	       for (YgAreaDto area : areaList) { a.add(area.getName()); }
	       return a;
	    }
    
    public void afterPropertiesSet(){
        PunishFactory.registerPunish("area", this);
    }

}