package com.hzya.frame.sys.moduleNew.service.impl; 
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.sys.moduleNew.dao.ISysModuleNew;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hzya.frame.sys.moduleNew.entity.SysModuleNewEntity;
import com.hzya.frame.sys.moduleNew.service.ISysModuleNewService;

import javax.annotation.Resource;
import java.util.List;

/**
 * @description: 系统菜单  service
 * @tableName:   sys_module_new 
 * @entityName:  SysModuleNewEntity
 * @author: 	 gjh
 * @history:	 1.0
 */
@Service(value="sysModuleNewService")
public class  SysModuleNewServiceImpl implements ISysModuleNewService{

	@Resource
	protected ISysModuleNew sysModuleNew;


	/**
	 * @Author lvleigang
	 * @Description  查询数据
	 * @Date 3:32 下午 2023/2/20
	 * @param jsonObject
	 * @return com.hzya.frame.web.entity.JsonResultEntity
	 **/
	@Override
	public JsonResultEntity querylist(JSONObject jsonObject) {
		SysModuleNewEntity sysModuleNewEntity = getData("jsonStr",jsonObject,SysModuleNewEntity.class);
		sysModuleNewEntity.setSts("Y");
		List<SysModuleNewEntity> sysModuleNewEntities = sysModuleNew.SysModuleNewEntity_list_base(sysModuleNewEntity);
		return BaseResult.getSuccessMessageEntity("获取列表成功", sysModuleNewEntities);
	}

	/**
	 * @Author lvleigang
	 * @Description  根据key获取数据jsonObject中的数据，如果没有设置默认值
	 * @Date 3:41 下午 2023/2/14
	 * @param key 健
	 * @param jsonObject json数据
	 * @return java.lang.String
	 **/
	private <T> T getData( String key, JSONObject jsonObject, Class<T> clz) {
		if (checkStr(jsonObject.getString(key)) ) {
			return jsonObject.getJSONObject(key).toJavaObject(clz);
		}
		return null;
	}

	/**
	 * @param str
	 * @return void
	 * @Author lvleigang
	 * @Description 校验字符串
	 * @Date 11:41 上午 2022/12/7
	 **/
	private Boolean checkStr(String str) {
		Boolean flag = true;
		if (str == null || "".equals(str)) {
			flag = false;
		}
		return flag;
	}
}
