feiyu02
2024-08-15 196bb14112448857a885e32dc4149e308e00b01a
src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/UserSearchCondition.kt
@@ -1,25 +1,106 @@
package cn.flightfeather.supervision.lightshare.vo
import cn.flightfeather.supervision.domain.entity.UserConfig
/**
 * 用户查询条件
 */
data class UserSearchCondition(
class UserSearchCondition {
    companion object {
        fun fromUserConfig(config: UserConfig?, condition: UserSearchCondition? = null): UserSearchCondition {
            return condition?.apply {
                config?.ucProvinceCode?.let { provinceCode = it }
                config?.ucProvinceName?.let { provinceName = it }
                config?.ucCityCode?.let { cityCode = it }
                config?.ucCityName?.let { cityName = it }
                config?.ucDistrictCode?.let { districtCode = it }
                config?.ucDistrictName?.let { districtName = it }
                config?.ucTownCode?.let { townCode = it }
                config?.ucTownName?.let { townName = it }
                config?.ucAreaCode?.let { areaCode = it }
                config?.ucArea?.let { area = it }
                config?.ucManagementCompanyId?.let { mcId = it }
                config?.ucManagementCompany?.let { mcName = it }
                //                userTypeId = config?.ucUserTypeId?.toByte()
                //                userSubTypeId = config?.ucUserSubtypeId?.toByte()
            }
                ?: UserSearchCondition().apply {
                    config?.ucProvinceCode?.let { provinceCode = it }
                    config?.ucProvinceName?.let { provinceName = it }
                    config?.ucCityCode?.let { cityCode = it }
                    config?.ucCityName?.let { cityName = it }
                    config?.ucDistrictCode?.let { districtCode = it }
                    config?.ucDistrictName?.let { districtName = it }
                    config?.ucTownCode?.let { townCode = it }
                    config?.ucTownName?.let { townName = it }
                    config?.ucAreaCode?.let { areaCode = it }
                    config?.ucArea?.let { area = it }
                    config?.ucManagementCompanyId?.let { mcId = it }
                    config?.ucManagementCompany?.let { mcName = it }
                    //                userTypeId = config?.ucUserTypeId?.toByte()
                    //                userSubTypeId = config?.ucUserSubtypeId?.toByte()
                }
        }
    }
    var provinceCode: String? = null
    var provinceName: String? = null
    var cityCode: String? = null
    var cityName: String? = null
    var districtCode: String? = null
    var districtName: String? = null
    //街镇行政代码
    var townCode: String? = null
    var townName: String? = null
    //集中区编号
    var areaCode: String? = null
    //集中区名称
    var area: String? = null
    //所属物业id
    var mcId: String? = null
    //所属物业名称
    var mcName: String? = null
    //用户类型id
    var userTypeId: Byte? = null
    //用户子类型id
    var userSubTypeId: Byte? = null
    //是否可用
    var online: Boolean? = null
        /**
         * 场景类型
         * @see [cn.flightfeather.supervision.domain.enumeration.SceneType.value]
         */
        val sceneTypes: List<String> = emptyList(),
    var sceneTypes: List<String> = emptyList()
        /**
         * 街镇行政代码
         */
        val townCodes: List<String> = emptyList(),
        val districtName: String? = null,
    // 查询字段,对应企业名称
    var searchText: String? = null
        /**
         * 查询字段,对应企业名称
         */
        val searchText: String = ""
    // 按照评分排序,默认降序
    var sorts: String = "desc"
)
    // 周期, yyyy/M-M 或 yyyy-MM-dd
    var period: String? = null
    // 环信码等级,0:绿码;1:黄码;2:红码;null:全部
    var codeType: Int? = null
    // 风险等级,0:低风险;1:中风险;2:高风险;null:全部
    var riskType: Int? = null
}