shilin 4 роки тому
батько
коміт
961c0e707e
44 змінених файлів з 11876 додано та 0 видалено
  1. 27 0
      src/main/java/com/gyee/frame/common/conf/ExceptJobConfig.java
  2. 10 0
      src/main/java/com/gyee/frame/common/conf/UserLoginContext.java
  3. 35 0
      src/main/java/com/gyee/frame/common/quartz/task/BraceletPushTask.java
  4. 41 0
      src/main/java/com/gyee/frame/common/quartz/task/monitor_target_matrixMonitor.java
  5. 86 0
      src/main/java/com/gyee/frame/controller/app/TargetDetail/TargetdetailController.java
  6. 42 0
      src/main/java/com/gyee/frame/controller/app/bracelet/BraceletController.java
  7. 101 0
      src/main/java/com/gyee/frame/controller/gen/ChatDetailController.java
  8. 68 0
      src/main/java/com/gyee/frame/controller/gen/GyeeMatrixController.java
  9. 151 0
      src/main/java/com/gyee/frame/controller/gen/ShbraceletpointController.java
  10. 96 0
      src/main/java/com/gyee/frame/mapper/auto/GyeeBraceletuserMapper.java
  11. 98 0
      src/main/java/com/gyee/frame/mapper/auto/GyeeContactsMapper.java
  12. 96 0
      src/main/java/com/gyee/frame/mapper/auto/WeatherfhMapper.java
  13. 476 0
      src/main/java/com/gyee/frame/model/auto/ChatDetail.java
  14. 1253 0
      src/main/java/com/gyee/frame/model/auto/ChatDetailExample.java
  15. 112 0
      src/main/java/com/gyee/frame/model/auto/GyeeBraceletuser.java
  16. 512 0
      src/main/java/com/gyee/frame/model/auto/GyeeBraceletuserExample.java
  17. 178 0
      src/main/java/com/gyee/frame/model/auto/GyeeContacts.java
  18. 652 0
      src/main/java/com/gyee/frame/model/auto/GyeeContactsExample.java
  19. 277 0
      src/main/java/com/gyee/frame/model/auto/GyeePermission.java
  20. 862 0
      src/main/java/com/gyee/frame/model/auto/GyeePermissionExample.java
  21. 144 0
      src/main/java/com/gyee/frame/model/auto/Shbraceletpoint.java
  22. 777 0
      src/main/java/com/gyee/frame/model/auto/ShbraceletpointExample.java
  23. 312 0
      src/main/java/com/gyee/frame/model/auto/Weatherfh.java
  24. 884 0
      src/main/java/com/gyee/frame/model/auto/WeatherfhExample.java
  25. 55 0
      src/main/java/com/gyee/frame/model/custom/DatasVo.java
  26. 61 0
      src/main/java/com/gyee/frame/model/custom/MatrixVo.java
  27. 36 0
      src/main/java/com/gyee/frame/model/custom/OnlineVo.java
  28. 50 0
      src/main/java/com/gyee/frame/netty/websocket/util/WebsocketUtil.java
  29. 117 0
      src/main/java/com/gyee/frame/service/ChatDetailService.java
  30. 150 0
      src/main/java/com/gyee/frame/service/ShbraceletpointService.java
  31. 113 0
      src/main/java/com/gyee/frame/service/app/bracelet/BraceletService.java
  32. 203 0
      src/main/java/com/gyee/frame/service/monitor/MonitorService.java
  33. 1029 0
      src/main/java/com/gyee/frame/util/Convert.java
  34. 210 0
      src/main/java/com/gyee/frame/util/IRealTimeDataBaseUtil.java
  35. 23 0
      src/main/java/com/gyee/frame/util/RealTimeDataBaseFactory.java
  36. 445 0
      src/main/resources/mybatis/auto/ChatDetailMapper.xml
  37. 241 0
      src/main/resources/mybatis/auto/GyeeBraceletuserMapper.xml
  38. 276 0
      src/main/resources/mybatis/auto/GyeeContactsMapper.xml
  39. 318 0
      src/main/resources/mybatis/auto/GyeePermissionMapper.xml
  40. 316 0
      src/main/resources/mybatis/auto/ShbraceletpointMapper.xml
  41. 336 0
      src/main/resources/mybatis/auto/WeatherfhMapper.xml
  42. 187 0
      src/main/resources/templates/gen/shbraceletpoint/add.html
  43. 158 0
      src/main/resources/templates/gen/shbraceletpoint/edit.html
  44. 262 0
      src/main/resources/templates/gen/shbraceletpoint/list.html

+ 27 - 0
src/main/java/com/gyee/frame/common/conf/ExceptJobConfig.java

@@ -0,0 +1,27 @@
+package com.gyee.frame.common.conf;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 不启动调入任务的websocket函数
+ *
+ * @author gyee
+ */
+@Component
+@ConfigurationProperties(prefix = "exceptjob")
+public class ExceptJobConfig
+{
+
+    public  static Map<String,String> exceptmaps;
+
+    public static Map<String, String> getExceptmaps() {
+        return exceptmaps;
+    }
+
+    public static void setExceptmaps(Map<String, String> exceptmaps) {
+        ExceptJobConfig.exceptmaps = exceptmaps;
+    }
+}

+ 10 - 0
src/main/java/com/gyee/frame/common/conf/UserLoginContext.java

@@ -0,0 +1,10 @@
+package com.gyee.frame.common.conf;
+
+import javax.websocket.Session;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class UserLoginContext
+{
+    public static ConcurrentHashMap<String, Session> userLoginMap = new ConcurrentHashMap();
+	
+}

+ 35 - 0
src/main/java/com/gyee/frame/common/quartz/task/BraceletPushTask.java

@@ -0,0 +1,35 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.service.app.bracelet.BraceletService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component("braceletPushTask")
+public class BraceletPushTask {
+    @Autowired
+    private BraceletService braceletService;
+    /**
+     * 无参的任务
+     */
+    public void braceletPushTask() throws Exception {
+        braceletService.braceletPushTask();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+        ////System.out.println("我已执行");
+    }
+
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     *
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+        //List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+        //System.err.println("用户查询num:"+list.size());
+        //System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+}

+ 41 - 0
src/main/java/com/gyee/frame/common/quartz/task/monitor_target_matrixMonitor.java

@@ -0,0 +1,41 @@
+package com.gyee.frame.common.quartz.task;
+
+import com.gyee.frame.service.monitor.MonitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ *
+ */
+@Component("monitor_target_matrixMonitor")
+public class monitor_target_matrixMonitor {
+
+	@Autowired
+    private MonitorService monitorService;
+    /**
+     * 无参的任务
+     * @throws Exception 
+     */
+    public void monitor_target_matrixMonitor() throws Exception {
+        monitorService.monitor_target_matrixMonitor();//调用list方法完成对 key :"weatherProphet_1" ,路径"weather/weatherProphet_1"的推送
+        ////System.out.println("我已执行");
+    }   
+       
+
+    /**
+     * 有参任务
+     * 目前仅执行常见的数据类型  Integer Long  带L  string  带 ''  bool Double 带 d
+     * @param a
+     * @param b
+     * 
+     */
+    public void runTask2(Integer a,Long b,String c,Boolean d,Double e)
+    {
+    	//List<TsysUser> list=  tsysUserMapper.selectByExample(new TsysUserExample());
+    	//System.err.println("用户查询num:"+list.size());
+        //System.out.println("正在执行定时任务,带多个参数的方法"+a+"   "+b+" "+c+"  "+d+" "+e+"执行时间:"+new Date().toLocaleString());
+    }
+
+}

+ 86 - 0
src/main/java/com/gyee/frame/controller/app/TargetDetail/TargetdetailController.java

@@ -0,0 +1,86 @@
+package com.gyee.frame.controller.app.TargetDetail;
+
+import com.gyee.frame.netty.websocket.util.SocketToolController;
+import com.gyee.frame.service.app.targetdetail.TargetdetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * @author Wang Jiawen
+ * @purpose
+ * @date 2020-05-14 21:52
+ */
+@Controller
+@RequestMapping("/targetdetail")
+public class TargetdetailController extends SocketToolController {
+    @Autowired
+    private TargetdetailService targetdetailService;
+
+    @ResponseBody
+    @RequestMapping("/targetdetail_target")
+    public String targetdetail(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+            String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, String> pointMap = TargetdetailService.targetdetail_target_pointMap;
+        pointMap.put(remoteAddr,pointKey);
+        TargetdetailService.targetdetail_target_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+    @ResponseBody
+    @RequestMapping("/targetdetail_curve")
+    public String targetdetail_curve(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, String> pointMap = TargetdetailService.targetdetail_curve_pointMap;
+        pointMap.put(remoteAddr,pointKey);
+        TargetdetailService.targetdetail_curve_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+    @ResponseBody
+    @RequestMapping("/targetdetail_histogram")
+    public String targetdetail_histogram(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, String> pointMap = TargetdetailService.targetdetail_histogram_pointMap;
+        pointMap.put(remoteAddr,pointKey);
+        TargetdetailService.targetdetail_histogram_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+
+    @ResponseBody
+    @RequestMapping("/close_targetdetail_target")
+    public String close_targetdetail(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, String> pointMap = TargetdetailService.targetdetail_target_pointMap;
+        pointMap.remove(remoteAddr);
+        TargetdetailService.targetdetail_target_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+    @ResponseBody
+    @RequestMapping("/close_targetdetail_curve")
+    public String close_targetdetail_curve(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, String> pointMap = TargetdetailService.targetdetail_curve_pointMap;
+        pointMap.remove(remoteAddr);
+        TargetdetailService.targetdetail_curve_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+    @ResponseBody
+    @RequestMapping("/close_targetdetail_histogram")
+    public String close_targetdetail_histogram(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, String> pointMap = TargetdetailService.targetdetail_histogram_pointMap;
+        pointMap.remove(remoteAddr);
+        TargetdetailService.targetdetail_histogram_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+}

+ 42 - 0
src/main/java/com/gyee/frame/controller/app/bracelet/BraceletController.java

@@ -0,0 +1,42 @@
+package com.gyee.frame.controller.app.bracelet;
+
+import com.gyee.frame.netty.websocket.util.SocketToolController;
+import com.gyee.frame.service.app.bracelet.BraceletService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/bracelet")
+public class BraceletController extends SocketToolController {
+    @Autowired
+    private BraceletService braceletService;
+    @ResponseBody
+    @RequestMapping("/bracelet")
+    public String bracelet(HttpServletRequest httpServletRequest, String beginDate, String endDate) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, List<String>> pointMap = BraceletService.bracelet_pointMap;
+        List<String> list = new ArrayList<>();
+        list.add(beginDate);
+        list.add(endDate);
+        pointMap.put(remoteAddr,list);
+        BraceletService.bracelet_pointMap = pointMap;
+        return remoteAddr;
+    }
+
+    @ResponseBody
+    @RequestMapping("/close_bracelet")
+    public String close_bracelet(HttpServletRequest httpServletRequest,String pointKey) throws Exception {
+        String remoteAddr = httpServletRequest.getRemoteAddr();
+        Map<String, List<String>> pointMap = BraceletService.bracelet_pointMap;
+        pointMap.remove(remoteAddr);
+        BraceletService.bracelet_pointMap = pointMap;
+        return remoteAddr;
+    }
+}

+ 101 - 0
src/main/java/com/gyee/frame/controller/gen/ChatDetailController.java

@@ -0,0 +1,101 @@
+package com.gyee.frame.controller.gen;
+
+
+import com.gyee.frame.model.auto.ChatDetail;
+import com.gyee.frame.model.auto.Gyeeuser;
+import com.gyee.frame.model.custom.DatasVo;
+import com.gyee.frame.service.ChatDetailService;
+import com.gyee.frame.service.GyeeuserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 用户Controller
+ * @ClassName: UserController
+ * @author gyee
+ * @date 2019-11-20 22:35
+ */
+
+@Controller
+@RequestMapping("/chatDetailController")
+public class ChatDetailController {
+
+
+    @Autowired
+    private ChatDetailService chatDetailService;
+    @Autowired
+    private GyeeuserService gyeeuserService;
+
+    @GetMapping("/selectByUserId")
+    @ResponseBody
+    public List<DatasVo> selectByUserId(String send, String receive) {
+
+        List<ChatDetail> result=chatDetailService.selectByUserId(send,receive);
+        List<DatasVo> ls=new ArrayList<>();
+        if(!result.isEmpty())
+        {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            for(ChatDetail po:result)
+            {
+                DatasVo vo=new DatasVo();
+                vo.setSend(po.getSendingid());
+                vo.setReceive(po.getPointtoid());
+                vo.setContent(po.getChatcontent());
+                vo.setType(po.getChattypes());
+                vo.setTime(dateFormat.format(po.getChattime()));
+                ls.add(vo);
+            }
+        }
+        return  ls;
+    }
+
+    @GetMapping("/selectLastInfoByUserId")
+    @ResponseBody
+    public List<DatasVo> selectLastInfoByUserId(String userid) {
+
+        List<ChatDetail>vos=new ArrayList<>();
+        List<Gyeeuser> results=gyeeuserService.findContactUserlist(userid);
+        if(!results.isEmpty())
+        {
+            for(Gyeeuser user:results)
+            {
+               if(!user.getId().equals(userid))
+               {
+                   List<ChatDetail> result=chatDetailService.selectLastInfoByUserId(userid,user.getId());
+                   if(!result.isEmpty())
+                   {
+                       if(result.get(0).getChattypes().equals("pic"))
+                       {
+                           result.get(0).setChatcontent("");
+                       }
+                       vos.add(result.get(0));
+                   }
+               }
+            }
+        }
+        List<DatasVo> ls=new ArrayList<>();
+        if(!vos.isEmpty())
+        {
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            for(ChatDetail po:vos)
+            {
+                DatasVo vo=new DatasVo();
+                vo.setSend(po.getSendingid());
+                vo.setReceive(po.getPointtoid());
+                vo.setContent(po.getChatcontent());
+                vo.setType(po.getChattypes());
+                vo.setTime(dateFormat.format(po.getChattime()));
+                ls.add(vo);
+            }
+        }
+        return  ls;
+    }
+
+}

+ 68 - 0
src/main/java/com/gyee/frame/controller/gen/GyeeMatrixController.java

@@ -0,0 +1,68 @@
+package com.gyee.frame.controller.gen;
+
+import com.gyee.frame.common.base.BaseController;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.Project;
+import com.gyee.frame.model.auto.Windpowerstation;
+import com.gyee.frame.util.StringUtils;
+import io.swagger.annotations.Api;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("GyeeMatrixController")
+@Api(value = "")
+public class GyeeMatrixController extends BaseController{
+	
+
+	@GetMapping("/GyeeMatrixList")
+	@ResponseBody
+	public AjaxResult getMatrixList(String keyid){
+
+		List<Map<String,String>> ls=new ArrayList<>();
+		if(StringUtils.isNotNull(keyid))
+		{
+			if(keyid.equals("0"))
+			{
+
+				for(Windpowerstation wp: InitialRunner.wpls)
+				{
+					Map<String,String> map=new HashMap<>();
+					map.put("id",wp.getId());
+					map.put("name",wp.getName());
+					ls.add(map);
+				}
+			}else {
+
+				for(Project pj: InitialRunner.pjls)
+				{
+					Map<String,String> map=new HashMap<>();
+					if(pj.getWindpowerstationid().equals(keyid))
+					{
+						map.put("id",pj.getId());
+						map.put("name",pj.getName());
+						ls.add(map);
+					}
+				}
+			}
+		}
+
+		if(ls.isEmpty()){
+			return AjaxResult.error(500, "无法获取权限");
+			
+		}else{
+			return AjaxResult.successData(200, ls);
+		}
+	}
+	
+
+	
+}

+ 151 - 0
src/main/java/com/gyee/frame/controller/gen/ShbraceletpointController.java

@@ -0,0 +1,151 @@
+package com.gyee.frame.controller.gen;
+
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.base.BaseController;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.auto.Shbraceletpoint;
+import com.gyee.frame.model.custom.TableSplitResult;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.model.custom.TitleVo;
+import com.gyee.frame.service.ShbraceletpointService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@Controller
+@RequestMapping("ShbraceletpointController")
+@Api(value = "")
+public class ShbraceletpointController extends BaseController{
+	
+	private String prefix = "gen/shbraceletpoint";
+	@Autowired
+	private ShbraceletpointService shbraceletpointService;
+	
+	@GetMapping("view")
+	@RequiresPermissions("gen:shbraceletpoint:view")
+    public String view(ModelMap model)
+    {	
+		String str="";
+		setTitle(model, new TitleVo("列表", str+"管理", true,"欢迎进入"+str+"页面", true, false));
+        return prefix + "/list";
+    }
+	
+	//@Log(title = "集合查询", action = "111")
+	@PostMapping("list")
+	@RequiresPermissions("gen:shbraceletpoint:list")
+	@ResponseBody
+	public Object list(Tablepar tablepar,String searchText){
+		PageInfo<Shbraceletpoint> page=shbraceletpointService.list(tablepar,searchText) ; 
+		TableSplitResult<Shbraceletpoint> result=new TableSplitResult<Shbraceletpoint>(page.getPageNum(), page.getTotal(), page.getList()); 
+		return  result;
+	}
+	
+	/**
+     * 新增
+     */
+
+    @GetMapping("/add")
+    public String add(ModelMap modelMap)
+    {
+        return prefix + "/add";
+    }
+	
+	//@Log(title = "新增", action = "111")
+	@PostMapping("add")
+	@RequiresPermissions("gen:shbraceletpoint:add")
+	@ResponseBody
+	public AjaxResult add(Shbraceletpoint shbraceletpoint){
+		int b=shbraceletpointService.insertSelective(shbraceletpoint);
+		if(b>0){
+			return success();
+		}else{
+			return error();
+		}
+	}
+	
+	/**
+	 * 删除用户
+	 * @param ids
+	 * @return
+	 */
+	//@Log(title = "删除", action = "111")
+	@PostMapping("remove")
+	@RequiresPermissions("gen:shbraceletpoint:remove")
+	@ResponseBody
+	public AjaxResult remove(String ids){
+		int b=shbraceletpointService.deleteByPrimaryKey(ids);
+		if(b>0){
+			return success();
+		}else{
+			return error();
+		}
+	}
+	
+	/**
+	 * 检查用户
+
+	 * @return
+	 */
+	@PostMapping("checkNameUnique")
+	@ResponseBody
+	public int checkNameUnique(Shbraceletpoint shbraceletpoint){
+		int b=shbraceletpointService.checkNameUnique(shbraceletpoint);
+		if(b>0){
+			return 1;
+		}else{
+			return 0;
+		}
+	}
+	
+	
+	/**
+	 * 修改跳转
+	 * @param id
+	 * @param mmap
+	 * @return
+	 */
+	@GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") String id, ModelMap mmap)
+    {
+        mmap.put("Shbraceletpoint", shbraceletpointService.selectByPrimaryKey(id));
+
+        return prefix + "/edit";
+    }
+	
+	/**
+     * 修改保存
+     */
+    //@Log(title = "修改", action = "111")
+    @RequiresPermissions("gen:shbraceletpoint:edit")
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(Shbraceletpoint record)
+    {
+        return toAjax(shbraceletpointService.updateByPrimaryKeySelective(record));
+    }
+
+    
+    /**
+   	 * 根据主键查询
+   	 * 
+   	 * @param id
+
+   	 * @return
+   	 */
+   	@PostMapping("/get/{id}")
+   	@ApiOperation(value = "根据id查询唯一", notes = "根据id查询唯一")
+   	public Shbraceletpoint edit(@PathVariable("id") String id) {
+   		return shbraceletpointService.selectByPrimaryKey(id);
+   	}
+    
+
+	
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/GyeeBraceletuserMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.GyeeBraceletuser;
+import com.gyee.frame.model.auto.GyeeBraceletuserExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface GyeeBraceletuserMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    long countByExample(GyeeBraceletuserExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(GyeeBraceletuserExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int insert(GyeeBraceletuser record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int insertSelective(GyeeBraceletuser record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    List<GyeeBraceletuser> selectByExample(GyeeBraceletuserExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    GyeeBraceletuser selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") GyeeBraceletuser record, @Param("example") GyeeBraceletuserExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") GyeeBraceletuser record, @Param("example") GyeeBraceletuserExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(GyeeBraceletuser record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(GyeeBraceletuser record);
+}

+ 98 - 0
src/main/java/com/gyee/frame/mapper/auto/GyeeContactsMapper.java

@@ -0,0 +1,98 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.GyeeContacts;
+import com.gyee.frame.model.auto.GyeeContactsExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface GyeeContactsMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    long countByExample(GyeeContactsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(GyeeContactsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int insert(GyeeContacts record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int insertSelective(GyeeContacts record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    List<GyeeContacts> selectByExample(GyeeContactsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    GyeeContacts selectByPrimaryKey(String id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") GyeeContacts record, @Param("example") GyeeContactsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") GyeeContacts record, @Param("example") GyeeContactsExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(GyeeContacts record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(GyeeContacts record);
+
+    List<GyeeContacts> queryGyeeContactsByUserId(String userid);
+}

+ 96 - 0
src/main/java/com/gyee/frame/mapper/auto/WeatherfhMapper.java

@@ -0,0 +1,96 @@
+package com.gyee.frame.mapper.auto;
+
+import com.gyee.frame.model.auto.Weatherfh;
+import com.gyee.frame.model.auto.WeatherfhExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface WeatherfhMapper {
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    long countByExample(WeatherfhExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int deleteByExample(WeatherfhExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int deleteByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int insert(Weatherfh record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int insertSelective(Weatherfh record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    List<Weatherfh> selectByExample(WeatherfhExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    Weatherfh selectByPrimaryKey(Integer id);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int updateByExampleSelective(@Param("record") Weatherfh record, @Param("example") WeatherfhExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int updateByExample(@Param("record") Weatherfh record, @Param("example") WeatherfhExample example);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKeySelective(Weatherfh record);
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    int updateByPrimaryKey(Weatherfh record);
+}

+ 476 - 0
src/main/java/com/gyee/frame/model/auto/ChatDetail.java

@@ -0,0 +1,476 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class ChatDetail implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.id
+     *
+     * @mbg.generated
+     */
+    private Integer id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.sendingid
+     *
+     * @mbg.generated
+     */
+    private String sendingid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.sendingname
+     *
+     * @mbg.generated
+     */
+    private String sendingname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.chattime
+     *
+     * @mbg.generated
+     */
+    private Date chattime;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.pointto
+     *
+     * @mbg.generated
+     */
+    private String pointto;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.pointtoid
+     *
+     * @mbg.generated
+     */
+    private String pointtoid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.chattypes
+     *
+     * @mbg.generated
+     */
+    private String chattypes;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.chatcontent
+     *
+     * @mbg.generated
+     */
+    private String chatcontent;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.remark1
+     *
+     * @mbg.generated
+     */
+    private String remark1;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.remark2
+     *
+     * @mbg.generated
+     */
+    private String remark2;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.remark3
+     *
+     * @mbg.generated
+     */
+    private String remark3;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.numericdate
+     *
+     * @mbg.generated
+     */
+    private Long numericdate;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.sendingip
+     *
+     * @mbg.generated
+     */
+    private String sendingip;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column chatdetail.receiveip
+     *
+     * @mbg.generated
+     */
+    private String receiveip;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table chatdetail
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.id
+     *
+     * @return the value of chatdetail.id
+     *
+     * @mbg.generated
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.id
+     *
+     * @param id the value for chatdetail.id
+     *
+     * @mbg.generated
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.sendingid
+     *
+     * @return the value of chatdetail.sendingid
+     *
+     * @mbg.generated
+     */
+    public String getSendingid() {
+        return sendingid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.sendingid
+     *
+     * @param sendingid the value for chatdetail.sendingid
+     *
+     * @mbg.generated
+     */
+    public void setSendingid(String sendingid) {
+        this.sendingid = sendingid == null ? null : sendingid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.sendingname
+     *
+     * @return the value of chatdetail.sendingname
+     *
+     * @mbg.generated
+     */
+    public String getSendingname() {
+        return sendingname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.sendingname
+     *
+     * @param sendingname the value for chatdetail.sendingname
+     *
+     * @mbg.generated
+     */
+    public void setSendingname(String sendingname) {
+        this.sendingname = sendingname == null ? null : sendingname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.chattime
+     *
+     * @return the value of chatdetail.chattime
+     *
+     * @mbg.generated
+     */
+    public Date getChattime() {
+        return chattime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.chattime
+     *
+     * @param chattime the value for chatdetail.chattime
+     *
+     * @mbg.generated
+     */
+    public void setChattime(Date chattime) {
+        this.chattime = chattime;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.pointto
+     *
+     * @return the value of chatdetail.pointto
+     *
+     * @mbg.generated
+     */
+    public String getPointto() {
+        return pointto;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.pointto
+     *
+     * @param pointto the value for chatdetail.pointto
+     *
+     * @mbg.generated
+     */
+    public void setPointto(String pointto) {
+        this.pointto = pointto == null ? null : pointto.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.pointtoid
+     *
+     * @return the value of chatdetail.pointtoid
+     *
+     * @mbg.generated
+     */
+    public String getPointtoid() {
+        return pointtoid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.pointtoid
+     *
+     * @param pointtoid the value for chatdetail.pointtoid
+     *
+     * @mbg.generated
+     */
+    public void setPointtoid(String pointtoid) {
+        this.pointtoid = pointtoid == null ? null : pointtoid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.chattypes
+     *
+     * @return the value of chatdetail.chattypes
+     *
+     * @mbg.generated
+     */
+    public String getChattypes() {
+        return chattypes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.chattypes
+     *
+     * @param chattypes the value for chatdetail.chattypes
+     *
+     * @mbg.generated
+     */
+    public void setChattypes(String chattypes) {
+        this.chattypes = chattypes == null ? null : chattypes.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.chatcontent
+     *
+     * @return the value of chatdetail.chatcontent
+     *
+     * @mbg.generated
+     */
+    public String getChatcontent() {
+        return chatcontent;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.chatcontent
+     *
+     * @param chatcontent the value for chatdetail.chatcontent
+     *
+     * @mbg.generated
+     */
+    public void setChatcontent(String chatcontent) {
+        this.chatcontent = chatcontent == null ? null : chatcontent.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.remark1
+     *
+     * @return the value of chatdetail.remark1
+     *
+     * @mbg.generated
+     */
+    public String getRemark1() {
+        return remark1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.remark1
+     *
+     * @param remark1 the value for chatdetail.remark1
+     *
+     * @mbg.generated
+     */
+    public void setRemark1(String remark1) {
+        this.remark1 = remark1 == null ? null : remark1.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.remark2
+     *
+     * @return the value of chatdetail.remark2
+     *
+     * @mbg.generated
+     */
+    public String getRemark2() {
+        return remark2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.remark2
+     *
+     * @param remark2 the value for chatdetail.remark2
+     *
+     * @mbg.generated
+     */
+    public void setRemark2(String remark2) {
+        this.remark2 = remark2 == null ? null : remark2.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.remark3
+     *
+     * @return the value of chatdetail.remark3
+     *
+     * @mbg.generated
+     */
+    public String getRemark3() {
+        return remark3;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.remark3
+     *
+     * @param remark3 the value for chatdetail.remark3
+     *
+     * @mbg.generated
+     */
+    public void setRemark3(String remark3) {
+        this.remark3 = remark3 == null ? null : remark3.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.numericdate
+     *
+     * @return the value of chatdetail.numericdate
+     *
+     * @mbg.generated
+     */
+    public Long getNumericdate() {
+        return numericdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.numericdate
+     *
+     * @param numericdate the value for chatdetail.numericdate
+     *
+     * @mbg.generated
+     */
+    public void setNumericdate(Long numericdate) {
+        this.numericdate = numericdate;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.sendingip
+     *
+     * @return the value of chatdetail.sendingip
+     *
+     * @mbg.generated
+     */
+    public String getSendingip() {
+        return sendingip;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.sendingip
+     *
+     * @param sendingip the value for chatdetail.sendingip
+     *
+     * @mbg.generated
+     */
+    public void setSendingip(String sendingip) {
+        this.sendingip = sendingip == null ? null : sendingip.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column chatdetail.receiveip
+     *
+     * @return the value of chatdetail.receiveip
+     *
+     * @mbg.generated
+     */
+    public String getReceiveip() {
+        return receiveip;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column chatdetail.receiveip
+     *
+     * @param receiveip the value for chatdetail.receiveip
+     *
+     * @mbg.generated
+     */
+    public void setReceiveip(String receiveip) {
+        this.receiveip = receiveip == null ? null : receiveip.trim();
+    }
+}

Різницю між файлами не показано, бо вона завелика
+ 1253 - 0
src/main/java/com/gyee/frame/model/auto/ChatDetailExample.java


+ 112 - 0
src/main/java/com/gyee/frame/model/auto/GyeeBraceletuser.java

@@ -0,0 +1,112 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class GyeeBraceletuser implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEBRACELETUSER.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEBRACELETUSER.BRCUSERID
+     *
+     * @mbg.generated
+     */
+    private String brcuserid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEBRACELETUSER.USERID
+     *
+     * @mbg.generated
+     */
+    private String userid;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEBRACELETUSER.ID
+     *
+     * @return the value of GYEEBRACELETUSER.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEBRACELETUSER.ID
+     *
+     * @param id the value for GYEEBRACELETUSER.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEBRACELETUSER.BRCUSERID
+     *
+     * @return the value of GYEEBRACELETUSER.BRCUSERID
+     *
+     * @mbg.generated
+     */
+    public String getBrcuserid() {
+        return brcuserid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEBRACELETUSER.BRCUSERID
+     *
+     * @param brcuserid the value for GYEEBRACELETUSER.BRCUSERID
+     *
+     * @mbg.generated
+     */
+    public void setBrcuserid(String brcuserid) {
+        this.brcuserid = brcuserid == null ? null : brcuserid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEBRACELETUSER.USERID
+     *
+     * @return the value of GYEEBRACELETUSER.USERID
+     *
+     * @mbg.generated
+     */
+    public String getUserid() {
+        return userid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEBRACELETUSER.USERID
+     *
+     * @param userid the value for GYEEBRACELETUSER.USERID
+     *
+     * @mbg.generated
+     */
+    public void setUserid(String userid) {
+        this.userid = userid == null ? null : userid.trim();
+    }
+}

+ 512 - 0
src/main/java/com/gyee/frame/model/auto/GyeeBraceletuserExample.java

@@ -0,0 +1,512 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class GyeeBraceletuserExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public GyeeBraceletuserExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridIsNull() {
+            addCriterion("BRCUSERID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridIsNotNull() {
+            addCriterion("BRCUSERID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridEqualTo(String value) {
+            addCriterion("BRCUSERID =", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridNotEqualTo(String value) {
+            addCriterion("BRCUSERID <>", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridGreaterThan(String value) {
+            addCriterion("BRCUSERID >", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridGreaterThanOrEqualTo(String value) {
+            addCriterion("BRCUSERID >=", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridLessThan(String value) {
+            addCriterion("BRCUSERID <", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridLessThanOrEqualTo(String value) {
+            addCriterion("BRCUSERID <=", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridLike(String value) {
+            addCriterion("BRCUSERID like", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridNotLike(String value) {
+            addCriterion("BRCUSERID not like", value, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridIn(List<String> values) {
+            addCriterion("BRCUSERID in", values, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridNotIn(List<String> values) {
+            addCriterion("BRCUSERID not in", values, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridBetween(String value1, String value2) {
+            addCriterion("BRCUSERID between", value1, value2, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andBrcuseridNotBetween(String value1, String value2) {
+            addCriterion("BRCUSERID not between", value1, value2, "brcuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridIsNull() {
+            addCriterion("USERID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridIsNotNull() {
+            addCriterion("USERID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridEqualTo(String value) {
+            addCriterion("USERID =", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotEqualTo(String value) {
+            addCriterion("USERID <>", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridGreaterThan(String value) {
+            addCriterion("USERID >", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridGreaterThanOrEqualTo(String value) {
+            addCriterion("USERID >=", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridLessThan(String value) {
+            addCriterion("USERID <", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridLessThanOrEqualTo(String value) {
+            addCriterion("USERID <=", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridLike(String value) {
+            addCriterion("USERID like", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotLike(String value) {
+            addCriterion("USERID not like", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridIn(List<String> values) {
+            addCriterion("USERID in", values, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotIn(List<String> values) {
+            addCriterion("USERID not in", values, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridBetween(String value1, String value2) {
+            addCriterion("USERID between", value1, value2, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotBetween(String value1, String value2) {
+            addCriterion("USERID not between", value1, value2, "userid");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEEBRACELETUSER
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 178 - 0
src/main/java/com/gyee/frame/model/auto/GyeeContacts.java

@@ -0,0 +1,178 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class GyeeContacts implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEECONTACTS.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEECONTACTS.USERID
+     *
+     * @mbg.generated
+     */
+    private String userid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEECONTACTS.USERNAME
+     *
+     * @mbg.generated
+     */
+    private String username;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEECONTACTS.CONTID
+     *
+     * @mbg.generated
+     */
+    private String contid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEECONTACTS.CONTNAME
+     *
+     * @mbg.generated
+     */
+    private String contname;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEECONTACTS.ID
+     *
+     * @return the value of GYEECONTACTS.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEECONTACTS.ID
+     *
+     * @param id the value for GYEECONTACTS.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEECONTACTS.USERID
+     *
+     * @return the value of GYEECONTACTS.USERID
+     *
+     * @mbg.generated
+     */
+    public String getUserid() {
+        return userid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEECONTACTS.USERID
+     *
+     * @param userid the value for GYEECONTACTS.USERID
+     *
+     * @mbg.generated
+     */
+    public void setUserid(String userid) {
+        this.userid = userid == null ? null : userid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEECONTACTS.USERNAME
+     *
+     * @return the value of GYEECONTACTS.USERNAME
+     *
+     * @mbg.generated
+     */
+    public String getUsername() {
+        return username;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEECONTACTS.USERNAME
+     *
+     * @param username the value for GYEECONTACTS.USERNAME
+     *
+     * @mbg.generated
+     */
+    public void setUsername(String username) {
+        this.username = username == null ? null : username.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEECONTACTS.CONTID
+     *
+     * @return the value of GYEECONTACTS.CONTID
+     *
+     * @mbg.generated
+     */
+    public String getContid() {
+        return contid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEECONTACTS.CONTID
+     *
+     * @param contid the value for GYEECONTACTS.CONTID
+     *
+     * @mbg.generated
+     */
+    public void setContid(String contid) {
+        this.contid = contid == null ? null : contid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEECONTACTS.CONTNAME
+     *
+     * @return the value of GYEECONTACTS.CONTNAME
+     *
+     * @mbg.generated
+     */
+    public String getContname() {
+        return contname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEECONTACTS.CONTNAME
+     *
+     * @param contname the value for GYEECONTACTS.CONTNAME
+     *
+     * @mbg.generated
+     */
+    public void setContname(String contname) {
+        this.contname = contname == null ? null : contname.trim();
+    }
+}

+ 652 - 0
src/main/java/com/gyee/frame/model/auto/GyeeContactsExample.java

@@ -0,0 +1,652 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class GyeeContactsExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public GyeeContactsExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridIsNull() {
+            addCriterion("USERID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridIsNotNull() {
+            addCriterion("USERID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridEqualTo(String value) {
+            addCriterion("USERID =", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotEqualTo(String value) {
+            addCriterion("USERID <>", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridGreaterThan(String value) {
+            addCriterion("USERID >", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridGreaterThanOrEqualTo(String value) {
+            addCriterion("USERID >=", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridLessThan(String value) {
+            addCriterion("USERID <", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridLessThanOrEqualTo(String value) {
+            addCriterion("USERID <=", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridLike(String value) {
+            addCriterion("USERID like", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotLike(String value) {
+            addCriterion("USERID not like", value, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridIn(List<String> values) {
+            addCriterion("USERID in", values, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotIn(List<String> values) {
+            addCriterion("USERID not in", values, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridBetween(String value1, String value2) {
+            addCriterion("USERID between", value1, value2, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUseridNotBetween(String value1, String value2) {
+            addCriterion("USERID not between", value1, value2, "userid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameIsNull() {
+            addCriterion("USERNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameIsNotNull() {
+            addCriterion("USERNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameEqualTo(String value) {
+            addCriterion("USERNAME =", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotEqualTo(String value) {
+            addCriterion("USERNAME <>", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameGreaterThan(String value) {
+            addCriterion("USERNAME >", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
+            addCriterion("USERNAME >=", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameLessThan(String value) {
+            addCriterion("USERNAME <", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameLessThanOrEqualTo(String value) {
+            addCriterion("USERNAME <=", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameLike(String value) {
+            addCriterion("USERNAME like", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotLike(String value) {
+            addCriterion("USERNAME not like", value, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameIn(List<String> values) {
+            addCriterion("USERNAME in", values, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotIn(List<String> values) {
+            addCriterion("USERNAME not in", values, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameBetween(String value1, String value2) {
+            addCriterion("USERNAME between", value1, value2, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsernameNotBetween(String value1, String value2) {
+            addCriterion("USERNAME not between", value1, value2, "username");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidIsNull() {
+            addCriterion("CONTID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidIsNotNull() {
+            addCriterion("CONTID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidEqualTo(String value) {
+            addCriterion("CONTID =", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidNotEqualTo(String value) {
+            addCriterion("CONTID <>", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidGreaterThan(String value) {
+            addCriterion("CONTID >", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidGreaterThanOrEqualTo(String value) {
+            addCriterion("CONTID >=", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidLessThan(String value) {
+            addCriterion("CONTID <", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidLessThanOrEqualTo(String value) {
+            addCriterion("CONTID <=", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidLike(String value) {
+            addCriterion("CONTID like", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidNotLike(String value) {
+            addCriterion("CONTID not like", value, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidIn(List<String> values) {
+            addCriterion("CONTID in", values, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidNotIn(List<String> values) {
+            addCriterion("CONTID not in", values, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidBetween(String value1, String value2) {
+            addCriterion("CONTID between", value1, value2, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContidNotBetween(String value1, String value2) {
+            addCriterion("CONTID not between", value1, value2, "contid");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameIsNull() {
+            addCriterion("CONTNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameIsNotNull() {
+            addCriterion("CONTNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameEqualTo(String value) {
+            addCriterion("CONTNAME =", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameNotEqualTo(String value) {
+            addCriterion("CONTNAME <>", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameGreaterThan(String value) {
+            addCriterion("CONTNAME >", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameGreaterThanOrEqualTo(String value) {
+            addCriterion("CONTNAME >=", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameLessThan(String value) {
+            addCriterion("CONTNAME <", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameLessThanOrEqualTo(String value) {
+            addCriterion("CONTNAME <=", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameLike(String value) {
+            addCriterion("CONTNAME like", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameNotLike(String value) {
+            addCriterion("CONTNAME not like", value, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameIn(List<String> values) {
+            addCriterion("CONTNAME in", values, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameNotIn(List<String> values) {
+            addCriterion("CONTNAME not in", values, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameBetween(String value1, String value2) {
+            addCriterion("CONTNAME between", value1, value2, "contname");
+            return (Criteria) this;
+        }
+
+        public Criteria andContnameNotBetween(String value1, String value2) {
+            addCriterion("CONTNAME not between", value1, value2, "contname");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEECONTACTS
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 277 - 0
src/main/java/com/gyee/frame/model/auto/GyeePermission.java

@@ -0,0 +1,277 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+public class GyeePermission implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.ID
+     *
+     * @mbg.generated
+     */
+    private String id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.PERMISSSIONLEVEL
+     *
+     * @mbg.generated
+     */
+    private String permisssionlevel;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.PERMISSSIONNAME
+     *
+     * @mbg.generated
+     */
+    private String permisssionname;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.DESCRIBES
+     *
+     * @mbg.generated
+     */
+    private String describes;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.REMARK1
+     *
+     * @mbg.generated
+     */
+    private String remark1;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.REMARK2
+     *
+     * @mbg.generated
+     */
+    private String remark2;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.PARENT
+     *
+     * @mbg.generated
+     */
+    private String parent;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column GYEEPERMISSION.ISABLE
+     *
+     * @mbg.generated
+     */
+    private String isable;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.ID
+     *
+     * @return the value of GYEEPERMISSION.ID
+     *
+     * @mbg.generated
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.ID
+     *
+     * @param id the value for GYEEPERMISSION.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.PERMISSSIONLEVEL
+     *
+     * @return the value of GYEEPERMISSION.PERMISSSIONLEVEL
+     *
+     * @mbg.generated
+     */
+    public String getPermisssionlevel() {
+        return permisssionlevel;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.PERMISSSIONLEVEL
+     *
+     * @param permisssionlevel the value for GYEEPERMISSION.PERMISSSIONLEVEL
+     *
+     * @mbg.generated
+     */
+    public void setPermisssionlevel(String permisssionlevel) {
+        this.permisssionlevel = permisssionlevel == null ? null : permisssionlevel.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.PERMISSSIONNAME
+     *
+     * @return the value of GYEEPERMISSION.PERMISSSIONNAME
+     *
+     * @mbg.generated
+     */
+    public String getPermisssionname() {
+        return permisssionname;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.PERMISSSIONNAME
+     *
+     * @param permisssionname the value for GYEEPERMISSION.PERMISSSIONNAME
+     *
+     * @mbg.generated
+     */
+    public void setPermisssionname(String permisssionname) {
+        this.permisssionname = permisssionname == null ? null : permisssionname.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.DESCRIBES
+     *
+     * @return the value of GYEEPERMISSION.DESCRIBES
+     *
+     * @mbg.generated
+     */
+    public String getDescribes() {
+        return describes;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.DESCRIBES
+     *
+     * @param describes the value for GYEEPERMISSION.DESCRIBES
+     *
+     * @mbg.generated
+     */
+    public void setDescribes(String describes) {
+        this.describes = describes == null ? null : describes.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.REMARK1
+     *
+     * @return the value of GYEEPERMISSION.REMARK1
+     *
+     * @mbg.generated
+     */
+    public String getRemark1() {
+        return remark1;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.REMARK1
+     *
+     * @param remark1 the value for GYEEPERMISSION.REMARK1
+     *
+     * @mbg.generated
+     */
+    public void setRemark1(String remark1) {
+        this.remark1 = remark1 == null ? null : remark1.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.REMARK2
+     *
+     * @return the value of GYEEPERMISSION.REMARK2
+     *
+     * @mbg.generated
+     */
+    public String getRemark2() {
+        return remark2;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.REMARK2
+     *
+     * @param remark2 the value for GYEEPERMISSION.REMARK2
+     *
+     * @mbg.generated
+     */
+    public void setRemark2(String remark2) {
+        this.remark2 = remark2 == null ? null : remark2.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.PARENT
+     *
+     * @return the value of GYEEPERMISSION.PARENT
+     *
+     * @mbg.generated
+     */
+    public String getParent() {
+        return parent;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.PARENT
+     *
+     * @param parent the value for GYEEPERMISSION.PARENT
+     *
+     * @mbg.generated
+     */
+    public void setParent(String parent) {
+        this.parent = parent == null ? null : parent.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column GYEEPERMISSION.ISABLE
+     *
+     * @return the value of GYEEPERMISSION.ISABLE
+     *
+     * @mbg.generated
+     */
+    public String getIsable() {
+        return isable;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column GYEEPERMISSION.ISABLE
+     *
+     * @param isable the value for GYEEPERMISSION.ISABLE
+     *
+     * @mbg.generated
+     */
+    public void setIsable(String isable) {
+        this.isable = isable == null ? null : isable.trim();
+    }
+}

+ 862 - 0
src/main/java/com/gyee/frame/model/auto/GyeePermissionExample.java

@@ -0,0 +1,862 @@
+package com.gyee.frame.model.auto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class GyeePermissionExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public GyeePermissionExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("ID like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("ID not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelIsNull() {
+            addCriterion("PERMISSSIONLEVEL is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelIsNotNull() {
+            addCriterion("PERMISSSIONLEVEL is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelEqualTo(String value) {
+            addCriterion("PERMISSSIONLEVEL =", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelNotEqualTo(String value) {
+            addCriterion("PERMISSSIONLEVEL <>", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelGreaterThan(String value) {
+            addCriterion("PERMISSSIONLEVEL >", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelGreaterThanOrEqualTo(String value) {
+            addCriterion("PERMISSSIONLEVEL >=", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelLessThan(String value) {
+            addCriterion("PERMISSSIONLEVEL <", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelLessThanOrEqualTo(String value) {
+            addCriterion("PERMISSSIONLEVEL <=", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelLike(String value) {
+            addCriterion("PERMISSSIONLEVEL like", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelNotLike(String value) {
+            addCriterion("PERMISSSIONLEVEL not like", value, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelIn(List<String> values) {
+            addCriterion("PERMISSSIONLEVEL in", values, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelNotIn(List<String> values) {
+            addCriterion("PERMISSSIONLEVEL not in", values, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelBetween(String value1, String value2) {
+            addCriterion("PERMISSSIONLEVEL between", value1, value2, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionlevelNotBetween(String value1, String value2) {
+            addCriterion("PERMISSSIONLEVEL not between", value1, value2, "permisssionlevel");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameIsNull() {
+            addCriterion("PERMISSSIONNAME is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameIsNotNull() {
+            addCriterion("PERMISSSIONNAME is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameEqualTo(String value) {
+            addCriterion("PERMISSSIONNAME =", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameNotEqualTo(String value) {
+            addCriterion("PERMISSSIONNAME <>", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameGreaterThan(String value) {
+            addCriterion("PERMISSSIONNAME >", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameGreaterThanOrEqualTo(String value) {
+            addCriterion("PERMISSSIONNAME >=", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameLessThan(String value) {
+            addCriterion("PERMISSSIONNAME <", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameLessThanOrEqualTo(String value) {
+            addCriterion("PERMISSSIONNAME <=", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameLike(String value) {
+            addCriterion("PERMISSSIONNAME like", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameNotLike(String value) {
+            addCriterion("PERMISSSIONNAME not like", value, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameIn(List<String> values) {
+            addCriterion("PERMISSSIONNAME in", values, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameNotIn(List<String> values) {
+            addCriterion("PERMISSSIONNAME not in", values, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameBetween(String value1, String value2) {
+            addCriterion("PERMISSSIONNAME between", value1, value2, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andPermisssionnameNotBetween(String value1, String value2) {
+            addCriterion("PERMISSSIONNAME not between", value1, value2, "permisssionname");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesIsNull() {
+            addCriterion("DESCRIBES is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesIsNotNull() {
+            addCriterion("DESCRIBES is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesEqualTo(String value) {
+            addCriterion("DESCRIBES =", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesNotEqualTo(String value) {
+            addCriterion("DESCRIBES <>", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesGreaterThan(String value) {
+            addCriterion("DESCRIBES >", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesGreaterThanOrEqualTo(String value) {
+            addCriterion("DESCRIBES >=", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesLessThan(String value) {
+            addCriterion("DESCRIBES <", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesLessThanOrEqualTo(String value) {
+            addCriterion("DESCRIBES <=", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesLike(String value) {
+            addCriterion("DESCRIBES like", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesNotLike(String value) {
+            addCriterion("DESCRIBES not like", value, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesIn(List<String> values) {
+            addCriterion("DESCRIBES in", values, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesNotIn(List<String> values) {
+            addCriterion("DESCRIBES not in", values, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesBetween(String value1, String value2) {
+            addCriterion("DESCRIBES between", value1, value2, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribesNotBetween(String value1, String value2) {
+            addCriterion("DESCRIBES not between", value1, value2, "describes");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1IsNull() {
+            addCriterion("REMARK1 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1IsNotNull() {
+            addCriterion("REMARK1 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1EqualTo(String value) {
+            addCriterion("REMARK1 =", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1NotEqualTo(String value) {
+            addCriterion("REMARK1 <>", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1GreaterThan(String value) {
+            addCriterion("REMARK1 >", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1GreaterThanOrEqualTo(String value) {
+            addCriterion("REMARK1 >=", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1LessThan(String value) {
+            addCriterion("REMARK1 <", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1LessThanOrEqualTo(String value) {
+            addCriterion("REMARK1 <=", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1Like(String value) {
+            addCriterion("REMARK1 like", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1NotLike(String value) {
+            addCriterion("REMARK1 not like", value, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1In(List<String> values) {
+            addCriterion("REMARK1 in", values, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1NotIn(List<String> values) {
+            addCriterion("REMARK1 not in", values, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1Between(String value1, String value2) {
+            addCriterion("REMARK1 between", value1, value2, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark1NotBetween(String value1, String value2) {
+            addCriterion("REMARK1 not between", value1, value2, "remark1");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2IsNull() {
+            addCriterion("REMARK2 is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2IsNotNull() {
+            addCriterion("REMARK2 is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2EqualTo(String value) {
+            addCriterion("REMARK2 =", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2NotEqualTo(String value) {
+            addCriterion("REMARK2 <>", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2GreaterThan(String value) {
+            addCriterion("REMARK2 >", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2GreaterThanOrEqualTo(String value) {
+            addCriterion("REMARK2 >=", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2LessThan(String value) {
+            addCriterion("REMARK2 <", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2LessThanOrEqualTo(String value) {
+            addCriterion("REMARK2 <=", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2Like(String value) {
+            addCriterion("REMARK2 like", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2NotLike(String value) {
+            addCriterion("REMARK2 not like", value, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2In(List<String> values) {
+            addCriterion("REMARK2 in", values, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2NotIn(List<String> values) {
+            addCriterion("REMARK2 not in", values, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2Between(String value1, String value2) {
+            addCriterion("REMARK2 between", value1, value2, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andRemark2NotBetween(String value1, String value2) {
+            addCriterion("REMARK2 not between", value1, value2, "remark2");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIsNull() {
+            addCriterion("PARENT is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIsNotNull() {
+            addCriterion("PARENT is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentEqualTo(String value) {
+            addCriterion("PARENT =", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentNotEqualTo(String value) {
+            addCriterion("PARENT <>", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentGreaterThan(String value) {
+            addCriterion("PARENT >", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentGreaterThanOrEqualTo(String value) {
+            addCriterion("PARENT >=", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentLessThan(String value) {
+            addCriterion("PARENT <", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentLessThanOrEqualTo(String value) {
+            addCriterion("PARENT <=", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentLike(String value) {
+            addCriterion("PARENT like", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentNotLike(String value) {
+            addCriterion("PARENT not like", value, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentIn(List<String> values) {
+            addCriterion("PARENT in", values, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentNotIn(List<String> values) {
+            addCriterion("PARENT not in", values, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentBetween(String value1, String value2) {
+            addCriterion("PARENT between", value1, value2, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andParentNotBetween(String value1, String value2) {
+            addCriterion("PARENT not between", value1, value2, "parent");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableIsNull() {
+            addCriterion("ISABLE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableIsNotNull() {
+            addCriterion("ISABLE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableEqualTo(String value) {
+            addCriterion("ISABLE =", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableNotEqualTo(String value) {
+            addCriterion("ISABLE <>", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableGreaterThan(String value) {
+            addCriterion("ISABLE >", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableGreaterThanOrEqualTo(String value) {
+            addCriterion("ISABLE >=", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableLessThan(String value) {
+            addCriterion("ISABLE <", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableLessThanOrEqualTo(String value) {
+            addCriterion("ISABLE <=", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableLike(String value) {
+            addCriterion("ISABLE like", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableNotLike(String value) {
+            addCriterion("ISABLE not like", value, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableIn(List<String> values) {
+            addCriterion("ISABLE in", values, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableNotIn(List<String> values) {
+            addCriterion("ISABLE not in", values, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableBetween(String value1, String value2) {
+            addCriterion("ISABLE between", value1, value2, "isable");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsableNotBetween(String value1, String value2) {
+            addCriterion("ISABLE not between", value1, value2, "isable");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table GYEEPERMISSION
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 144 - 0
src/main/java/com/gyee/frame/model/auto/Shbraceletpoint.java

@@ -0,0 +1,144 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.lang.Long;
+
+/**
+ *  Shbraceletpoint 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2020-05-20 19:07:48
+ */
+ @ApiModel(value="Shbraceletpoint", description="")
+public class Shbraceletpoint implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	
+		
+	/**  **/
+	@ApiModelProperty(value = "")
+private String id;
+		
+	/**  **/
+    @ApiModelProperty(name = "'key'",required=true)
+private String key;
+		
+	/**  **/
+	@ApiModelProperty(value = "") 
+private String value;
+		
+	/**  **/
+	@ApiModelProperty(value = "") 
+private Long ts;
+		
+	/**  **/
+	@ApiModelProperty(value = "") 
+private String status;
+		
+	/**  **/
+	@ApiModelProperty(value = "") 
+private String type;
+		
+	/**  **/
+	@ApiModelProperty(value = "") 
+private String time;
+		
+	/**  **/
+    @ApiModelProperty(name = "'describe'",required=true)
+private String describe;
+		
+		
+	public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+	 
+			
+	public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+	 
+			
+	public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+	 
+			
+	public Long getTs() {
+        return ts;
+    }
+
+    public void setTs(Long ts) {
+        this.ts = ts;
+    }
+	 
+			
+	public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+	 
+			
+	public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+	 
+			
+	public String getTime() {
+        return time;
+    }
+
+    public void setTime(String time) {
+        this.time = time;
+    }
+	 
+			
+	public String getDescribe() {
+        return describe;
+    }
+
+    public void setDescribe(String describe) {
+        this.describe = describe;
+    }
+	 
+			
+	public Shbraceletpoint() {
+        super();
+    }
+    
+																																										
+	public Shbraceletpoint(String id,String key,String value,Long ts,String status,String type,String time,String describe) {
+	
+		this.id = id;
+		this.key = key;
+		this.value = value;
+		this.ts = ts;
+		this.status = status;
+		this.type = type;
+		this.time = time;
+		this.describe = describe;
+		
+	}
+	
+}

+ 777 - 0
src/main/java/com/gyee/frame/model/auto/ShbraceletpointExample.java

@@ -0,0 +1,777 @@
+package com.gyee.frame.model.auto;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ *  ShbraceletpointExample
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2020-05-20 19:07:48
+ */
+public class ShbraceletpointExample {
+
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public ShbraceletpointExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+				
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andKeyIsNull() {
+            addCriterion("key is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyIsNotNull() {
+            addCriterion("key is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyEqualTo(String value) {
+            addCriterion("key =", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyNotEqualTo(String value) {
+            addCriterion("key <>", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyGreaterThan(String value) {
+            addCriterion("key >", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyGreaterThanOrEqualTo(String value) {
+            addCriterion("key >=", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyLessThan(String value) {
+            addCriterion("key <", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyLessThanOrEqualTo(String value) {
+            addCriterion("key <=", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyLike(String value) {
+            addCriterion("key like", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyNotLike(String value) {
+            addCriterion("key not like", value, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyIn(List<String> values) {
+            addCriterion("key in", values, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyNotIn(List<String> values) {
+            addCriterion("key not in", values, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyBetween(String value1, String value2) {
+            addCriterion("key between", value1, value2, "key");
+            return (Criteria) this;
+        }
+
+        public Criteria andKeyNotBetween(String value1, String value2) {
+            addCriterion("key not between", value1, value2, "key");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andValueIsNull() {
+            addCriterion("value is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIsNotNull() {
+            addCriterion("value is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueEqualTo(String value) {
+            addCriterion("value =", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotEqualTo(String value) {
+            addCriterion("value <>", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThan(String value) {
+            addCriterion("value >", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueGreaterThanOrEqualTo(String value) {
+            addCriterion("value >=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThan(String value) {
+            addCriterion("value <", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLessThanOrEqualTo(String value) {
+            addCriterion("value <=", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueLike(String value) {
+            addCriterion("value like", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotLike(String value) {
+            addCriterion("value not like", value, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueIn(List<String> values) {
+            addCriterion("value in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotIn(List<String> values) {
+            addCriterion("value not in", values, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueBetween(String value1, String value2) {
+            addCriterion("value between", value1, value2, "value");
+            return (Criteria) this;
+        }
+
+        public Criteria andValueNotBetween(String value1, String value2) {
+            addCriterion("value not between", value1, value2, "value");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andTsIsNull() {
+            addCriterion("ts is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsIsNotNull() {
+            addCriterion("ts is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsEqualTo(Long value) {
+            addCriterion("ts =", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsNotEqualTo(Long value) {
+            addCriterion("ts <>", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsGreaterThan(Long value) {
+            addCriterion("ts >", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsGreaterThanOrEqualTo(Long value) {
+            addCriterion("ts >=", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsLessThan(Long value) {
+            addCriterion("ts <", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsLessThanOrEqualTo(Long value) {
+            addCriterion("ts <=", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsLike(Long value) {
+            addCriterion("ts like", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsNotLike(Long value) {
+            addCriterion("ts not like", value, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsIn(List<Long> values) {
+            addCriterion("ts in", values, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsNotIn(List<Long> values) {
+            addCriterion("ts not in", values, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsBetween(Long value1, Long value2) {
+            addCriterion("ts between", value1, value2, "ts");
+            return (Criteria) this;
+        }
+
+        public Criteria andTsNotBetween(Long value1, Long value2) {
+            addCriterion("ts not between", value1, value2, "ts");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andStatusIsNull() {
+            addCriterion("status is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIsNotNull() {
+            addCriterion("status is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusEqualTo(String value) {
+            addCriterion("status =", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotEqualTo(String value) {
+            addCriterion("status <>", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThan(String value) {
+            addCriterion("status >", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusGreaterThanOrEqualTo(String value) {
+            addCriterion("status >=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThan(String value) {
+            addCriterion("status <", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLessThanOrEqualTo(String value) {
+            addCriterion("status <=", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusLike(String value) {
+            addCriterion("status like", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotLike(String value) {
+            addCriterion("status not like", value, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusIn(List<String> values) {
+            addCriterion("status in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotIn(List<String> values) {
+            addCriterion("status not in", values, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusBetween(String value1, String value2) {
+            addCriterion("status between", value1, value2, "status");
+            return (Criteria) this;
+        }
+
+        public Criteria andStatusNotBetween(String value1, String value2) {
+            addCriterion("status not between", value1, value2, "status");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andTypeIsNull() {
+            addCriterion("type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIsNotNull() {
+            addCriterion("type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeEqualTo(String value) {
+            addCriterion("type =", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotEqualTo(String value) {
+            addCriterion("type <>", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThan(String value) {
+            addCriterion("type >", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("type >=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThan(String value) {
+            addCriterion("type <", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLessThanOrEqualTo(String value) {
+            addCriterion("type <=", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeLike(String value) {
+            addCriterion("type like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotLike(String value) {
+            addCriterion("type not like", value, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeIn(List<String> values) {
+            addCriterion("type in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotIn(List<String> values) {
+            addCriterion("type not in", values, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeBetween(String value1, String value2) {
+            addCriterion("type between", value1, value2, "type");
+            return (Criteria) this;
+        }
+
+        public Criteria andTypeNotBetween(String value1, String value2) {
+            addCriterion("type not between", value1, value2, "type");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andTimeIsNull() {
+            addCriterion("time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeIsNotNull() {
+            addCriterion("time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeEqualTo(String value) {
+            addCriterion("time =", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeNotEqualTo(String value) {
+            addCriterion("time <>", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeGreaterThan(String value) {
+            addCriterion("time >", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeGreaterThanOrEqualTo(String value) {
+            addCriterion("time >=", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeLessThan(String value) {
+            addCriterion("time <", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeLessThanOrEqualTo(String value) {
+            addCriterion("time <=", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeLike(String value) {
+            addCriterion("time like", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeNotLike(String value) {
+            addCriterion("time not like", value, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeIn(List<String> values) {
+            addCriterion("time in", values, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeNotIn(List<String> values) {
+            addCriterion("time not in", values, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeBetween(String value1, String value2) {
+            addCriterion("time between", value1, value2, "time");
+            return (Criteria) this;
+        }
+
+        public Criteria andTimeNotBetween(String value1, String value2) {
+            addCriterion("time not between", value1, value2, "time");
+            return (Criteria) this;
+        }
+        
+			
+        public Criteria andDescribeIsNull() {
+            addCriterion("describe is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeIsNotNull() {
+            addCriterion("describe is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeEqualTo(String value) {
+            addCriterion("describe =", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeNotEqualTo(String value) {
+            addCriterion("describe <>", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeGreaterThan(String value) {
+            addCriterion("describe >", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeGreaterThanOrEqualTo(String value) {
+            addCriterion("describe >=", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeLessThan(String value) {
+            addCriterion("describe <", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeLessThanOrEqualTo(String value) {
+            addCriterion("describe <=", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeLike(String value) {
+            addCriterion("describe like", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeNotLike(String value) {
+            addCriterion("describe not like", value, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeIn(List<String> values) {
+            addCriterion("describe in", values, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeNotIn(List<String> values) {
+            addCriterion("describe not in", values, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeBetween(String value1, String value2) {
+            addCriterion("describe between", value1, value2, "describe");
+            return (Criteria) this;
+        }
+
+        public Criteria andDescribeNotBetween(String value1, String value2) {
+            addCriterion("describe not between", value1, value2, "describe");
+            return (Criteria) this;
+        }
+        
+	}
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 312 - 0
src/main/java/com/gyee/frame/model/auto/Weatherfh.java

@@ -0,0 +1,312 @@
+package com.gyee.frame.model.auto;
+
+import java.io.Serializable;
+
+import java.util.Date;
+
+public class Weatherfh implements Serializable {
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.ID
+     *
+     * @mbg.generated
+     */
+    private Long id;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.RECODEDATA
+     *
+     * @mbg.generated
+     */
+    private Date recodedata;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.REGION
+     *
+     * @mbg.generated
+     */
+    private String region;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    private String windpowerstationid;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.WEATHER
+     *
+     * @mbg.generated
+     */
+    private String weather;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.TEMPERATURE
+     *
+     * @mbg.generated
+     */
+    private Double temperature;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.REALFEEL
+     *
+     * @mbg.generated
+     */
+    private Double realfeel;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.WINDDIRECTION
+     *
+     * @mbg.generated
+     */
+    private String winddirection;
+
+    /**
+     *
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database column WEATHERFH.SPEED
+     *
+     * @mbg.generated
+     */
+    private Double speed;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.ID
+     *
+     * @return the value of WEATHERFH.ID
+     *
+     * @mbg.generated
+     */
+    public Long getId() {
+        return id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.ID
+     *
+     * @param id the value for WEATHERFH.ID
+     *
+     * @mbg.generated
+     */
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.RECODEDATA
+     *
+     * @return the value of WEATHERFH.RECODEDATA
+     *
+     * @mbg.generated
+     */
+    public Date getRecodedata() {
+        return recodedata;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.RECODEDATA
+     *
+     * @param recodedata the value for WEATHERFH.RECODEDATA
+     *
+     * @mbg.generated
+     */
+    public void setRecodedata(Date recodedata) {
+        this.recodedata = recodedata;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.REGION
+     *
+     * @return the value of WEATHERFH.REGION
+     *
+     * @mbg.generated
+     */
+    public String getRegion() {
+        return region;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.REGION
+     *
+     * @param region the value for WEATHERFH.REGION
+     *
+     * @mbg.generated
+     */
+    public void setRegion(String region) {
+        this.region = region == null ? null : region.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.WINDPOWERSTATIONID
+     *
+     * @return the value of WEATHERFH.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    public String getWindpowerstationid() {
+        return windpowerstationid;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.WINDPOWERSTATIONID
+     *
+     * @param windpowerstationid the value for WEATHERFH.WINDPOWERSTATIONID
+     *
+     * @mbg.generated
+     */
+    public void setWindpowerstationid(String windpowerstationid) {
+        this.windpowerstationid = windpowerstationid == null ? null : windpowerstationid.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.WEATHER
+     *
+     * @return the value of WEATHERFH.WEATHER
+     *
+     * @mbg.generated
+     */
+    public String getWeather() {
+        return weather;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.WEATHER
+     *
+     * @param weather the value for WEATHERFH.WEATHER
+     *
+     * @mbg.generated
+     */
+    public void setWeather(String weather) {
+        this.weather = weather == null ? null : weather.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.TEMPERATURE
+     *
+     * @return the value of WEATHERFH.TEMPERATURE
+     *
+     * @mbg.generated
+     */
+    public Double getTemperature() {
+        return temperature;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.TEMPERATURE
+     *
+     * @param temperature the value for WEATHERFH.TEMPERATURE
+     *
+     * @mbg.generated
+     */
+    public void setTemperature(Double temperature) {
+        this.temperature = temperature;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.REALFEEL
+     *
+     * @return the value of WEATHERFH.REALFEEL
+     *
+     * @mbg.generated
+     */
+    public Double getRealfeel() {
+        return realfeel;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.REALFEEL
+     *
+     * @param realfeel the value for WEATHERFH.REALFEEL
+     *
+     * @mbg.generated
+     */
+    public void setRealfeel(Double realfeel) {
+        this.realfeel = realfeel;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.WINDDIRECTION
+     *
+     * @return the value of WEATHERFH.WINDDIRECTION
+     *
+     * @mbg.generated
+     */
+    public String getWinddirection() {
+        return winddirection;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.WINDDIRECTION
+     *
+     * @param winddirection the value for WEATHERFH.WINDDIRECTION
+     *
+     * @mbg.generated
+     */
+    public void setWinddirection(String winddirection) {
+        this.winddirection = winddirection == null ? null : winddirection.trim();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method returns the value of the database column WEATHERFH.SPEED
+     *
+     * @return the value of WEATHERFH.SPEED
+     *
+     * @mbg.generated
+     */
+    public Double getSpeed() {
+        return speed;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method sets the value of the database column WEATHERFH.SPEED
+     *
+     * @param speed the value for WEATHERFH.SPEED
+     *
+     * @mbg.generated
+     */
+    public void setSpeed(Double speed) {
+        this.speed = speed;
+    }
+}

+ 884 - 0
src/main/java/com/gyee/frame/model/auto/WeatherfhExample.java

@@ -0,0 +1,884 @@
+package com.gyee.frame.model.auto;
+
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class WeatherfhExample {
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    protected String orderByClause;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    protected boolean distinct;
+
+    /**
+     * This field was generated by MyBatis Generator.
+     * This field corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    protected List<Criteria> oredCriteria;
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public WeatherfhExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    /**
+     * This method was generated by MyBatis Generator.
+     * This method corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("ID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("ID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(Integer value) {
+            addCriterion("ID =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(Integer value) {
+            addCriterion("ID <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(Integer value) {
+            addCriterion("ID >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("ID >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(Integer value) {
+            addCriterion("ID <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(Integer value) {
+            addCriterion("ID <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<Integer> values) {
+            addCriterion("ID in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<Integer> values) {
+            addCriterion("ID not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(Integer value1, Integer value2) {
+            addCriterion("ID between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("ID not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataIsNull() {
+            addCriterion("RECODEDATA is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataIsNotNull() {
+            addCriterion("RECODEDATA is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataEqualTo(Date value) {
+            addCriterion("RECODEDATA =", value, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataNotEqualTo(Date value) {
+            addCriterion("RECODEDATA <>", value, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataGreaterThan(Date value) {
+            addCriterion("RECODEDATA >", value, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataGreaterThanOrEqualTo(Date value) {
+            addCriterion("RECODEDATA >=", value, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataLessThan(Date value) {
+            addCriterion("RECODEDATA <", value, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataLessThanOrEqualTo(Date value) {
+            addCriterion("RECODEDATA <=", value, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataIn(List<Date> values) {
+            addCriterion("RECODEDATA in", values, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataNotIn(List<Date> values) {
+            addCriterion("RECODEDATA not in", values, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataBetween(Date value1, Date value2) {
+            addCriterion("RECODEDATA between", value1, value2, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRecodedataNotBetween(Date value1, Date value2) {
+            addCriterion("RECODEDATA not between", value1, value2, "recodedata");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionIsNull() {
+            addCriterion("REGION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionIsNotNull() {
+            addCriterion("REGION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionEqualTo(String value) {
+            addCriterion("REGION =", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionNotEqualTo(String value) {
+            addCriterion("REGION <>", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionGreaterThan(String value) {
+            addCriterion("REGION >", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionGreaterThanOrEqualTo(String value) {
+            addCriterion("REGION >=", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionLessThan(String value) {
+            addCriterion("REGION <", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionLessThanOrEqualTo(String value) {
+            addCriterion("REGION <=", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionLike(String value) {
+            addCriterion("REGION like", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionNotLike(String value) {
+            addCriterion("REGION not like", value, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionIn(List<String> values) {
+            addCriterion("REGION in", values, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionNotIn(List<String> values) {
+            addCriterion("REGION not in", values, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionBetween(String value1, String value2) {
+            addCriterion("REGION between", value1, value2, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andRegionNotBetween(String value1, String value2) {
+            addCriterion("REGION not between", value1, value2, "region");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidIsNull() {
+            addCriterion("WINDPOWERSTATIONID is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidIsNotNull() {
+            addCriterion("WINDPOWERSTATIONID is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidEqualTo(String value) {
+            addCriterion("WINDPOWERSTATIONID =", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidNotEqualTo(String value) {
+            addCriterion("WINDPOWERSTATIONID <>", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidGreaterThan(String value) {
+            addCriterion("WINDPOWERSTATIONID >", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidGreaterThanOrEqualTo(String value) {
+            addCriterion("WINDPOWERSTATIONID >=", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidLessThan(String value) {
+            addCriterion("WINDPOWERSTATIONID <", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidLessThanOrEqualTo(String value) {
+            addCriterion("WINDPOWERSTATIONID <=", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidLike(String value) {
+            addCriterion("WINDPOWERSTATIONID like", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidNotLike(String value) {
+            addCriterion("WINDPOWERSTATIONID not like", value, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidIn(List<String> values) {
+            addCriterion("WINDPOWERSTATIONID in", values, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidNotIn(List<String> values) {
+            addCriterion("WINDPOWERSTATIONID not in", values, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidBetween(String value1, String value2) {
+            addCriterion("WINDPOWERSTATIONID between", value1, value2, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWindpowerstationidNotBetween(String value1, String value2) {
+            addCriterion("WINDPOWERSTATIONID not between", value1, value2, "windpowerstationid");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherIsNull() {
+            addCriterion("WEATHER is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherIsNotNull() {
+            addCriterion("WEATHER is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherEqualTo(String value) {
+            addCriterion("WEATHER =", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherNotEqualTo(String value) {
+            addCriterion("WEATHER <>", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherGreaterThan(String value) {
+            addCriterion("WEATHER >", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherGreaterThanOrEqualTo(String value) {
+            addCriterion("WEATHER >=", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherLessThan(String value) {
+            addCriterion("WEATHER <", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherLessThanOrEqualTo(String value) {
+            addCriterion("WEATHER <=", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherLike(String value) {
+            addCriterion("WEATHER like", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherNotLike(String value) {
+            addCriterion("WEATHER not like", value, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherIn(List<String> values) {
+            addCriterion("WEATHER in", values, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherNotIn(List<String> values) {
+            addCriterion("WEATHER not in", values, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherBetween(String value1, String value2) {
+            addCriterion("WEATHER between", value1, value2, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andWeatherNotBetween(String value1, String value2) {
+            addCriterion("WEATHER not between", value1, value2, "weather");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureIsNull() {
+            addCriterion("TEMPERATURE is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureIsNotNull() {
+            addCriterion("TEMPERATURE is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureEqualTo(Double value) {
+            addCriterion("TEMPERATURE =", value, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureNotEqualTo(Double value) {
+            addCriterion("TEMPERATURE <>", value, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureGreaterThan(Double value) {
+            addCriterion("TEMPERATURE >", value, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureGreaterThanOrEqualTo(Double value) {
+            addCriterion("TEMPERATURE >=", value, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureLessThan(Double value) {
+            addCriterion("TEMPERATURE <", value, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureLessThanOrEqualTo(Double value) {
+            addCriterion("TEMPERATURE <=", value, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureIn(List<Double> values) {
+            addCriterion("TEMPERATURE in", values, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureNotIn(List<Double> values) {
+            addCriterion("TEMPERATURE not in", values, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureBetween(Double value1, Double value2) {
+            addCriterion("TEMPERATURE between", value1, value2, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andTemperatureNotBetween(Double value1, Double value2) {
+            addCriterion("TEMPERATURE not between", value1, value2, "temperature");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelIsNull() {
+            addCriterion("REALFEEL is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelIsNotNull() {
+            addCriterion("REALFEEL is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelEqualTo(Double value) {
+            addCriterion("REALFEEL =", value, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelNotEqualTo(Double value) {
+            addCriterion("REALFEEL <>", value, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelGreaterThan(Double value) {
+            addCriterion("REALFEEL >", value, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelGreaterThanOrEqualTo(Double value) {
+            addCriterion("REALFEEL >=", value, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelLessThan(Double value) {
+            addCriterion("REALFEEL <", value, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelLessThanOrEqualTo(Double value) {
+            addCriterion("REALFEEL <=", value, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelIn(List<Double> values) {
+            addCriterion("REALFEEL in", values, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelNotIn(List<Double> values) {
+            addCriterion("REALFEEL not in", values, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelBetween(Double value1, Double value2) {
+            addCriterion("REALFEEL between", value1, value2, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andRealfeelNotBetween(Double value1, Double value2) {
+            addCriterion("REALFEEL not between", value1, value2, "realfeel");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionIsNull() {
+            addCriterion("WINDDIRECTION is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionIsNotNull() {
+            addCriterion("WINDDIRECTION is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionEqualTo(String value) {
+            addCriterion("WINDDIRECTION =", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionNotEqualTo(String value) {
+            addCriterion("WINDDIRECTION <>", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionGreaterThan(String value) {
+            addCriterion("WINDDIRECTION >", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionGreaterThanOrEqualTo(String value) {
+            addCriterion("WINDDIRECTION >=", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionLessThan(String value) {
+            addCriterion("WINDDIRECTION <", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionLessThanOrEqualTo(String value) {
+            addCriterion("WINDDIRECTION <=", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionLike(String value) {
+            addCriterion("WINDDIRECTION like", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionNotLike(String value) {
+            addCriterion("WINDDIRECTION not like", value, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionIn(List<String> values) {
+            addCriterion("WINDDIRECTION in", values, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionNotIn(List<String> values) {
+            addCriterion("WINDDIRECTION not in", values, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionBetween(String value1, String value2) {
+            addCriterion("WINDDIRECTION between", value1, value2, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andWinddirectionNotBetween(String value1, String value2) {
+            addCriterion("WINDDIRECTION not between", value1, value2, "winddirection");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedIsNull() {
+            addCriterion("SPEED is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedIsNotNull() {
+            addCriterion("SPEED is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedEqualTo(Double value) {
+            addCriterion("SPEED =", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedNotEqualTo(Double value) {
+            addCriterion("SPEED <>", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedGreaterThan(Double value) {
+            addCriterion("SPEED >", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedGreaterThanOrEqualTo(Double value) {
+            addCriterion("SPEED >=", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedLessThan(Double value) {
+            addCriterion("SPEED <", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedLessThanOrEqualTo(Double value) {
+            addCriterion("SPEED <=", value, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedIn(List<Double> values) {
+            addCriterion("SPEED in", values, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedNotIn(List<Double> values) {
+            addCriterion("SPEED not in", values, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedBetween(Double value1, Double value2) {
+            addCriterion("SPEED between", value1, value2, "speed");
+            return (Criteria) this;
+        }
+
+        public Criteria andSpeedNotBetween(Double value1, Double value2) {
+            addCriterion("SPEED not between", value1, value2, "speed");
+            return (Criteria) this;
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated do_not_delete_during_merge
+     */
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    /**
+     * This class was generated by MyBatis Generator.
+     * This class corresponds to the database table WEATHERFH
+     *
+     * @mbg.generated
+     */
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 55 - 0
src/main/java/com/gyee/frame/model/custom/DatasVo.java

@@ -0,0 +1,55 @@
+
+package com.gyee.frame.model.custom;
+
+/**
+ *
+ */
+
+public class DatasVo {
+
+    private String time;
+    private String send;
+    private String receive;
+    private String type;
+    private String content;
+
+    public String getTime() {
+        return time;
+    }
+
+    public void setTime(String time) {
+        this.time = time;
+    }
+
+    public String getSend() {
+        return send;
+    }
+
+    public void setSend(String send) {
+        this.send = send;
+    }
+
+    public String getReceive() {
+        return receive;
+    }
+
+    public void setReceive(String receive) {
+        this.receive = receive;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+}

+ 61 - 0
src/main/java/com/gyee/frame/model/custom/MatrixVo.java

@@ -0,0 +1,61 @@
+/**
+ * <p>文件名:	DataVo.java</p>
+ * <p>版权:  </p>
+ * <p>公司:	company Co., Ltd.</p>
+ * <p>项目名:lnly</p>
+ * <p>作者:	刘厦(liusha.information@gmail.com)</p>
+ */
+package com.gyee.frame.model.custom;
+
+/**
+ *
+ */
+
+public class MatrixVo {
+
+    private String idnum;
+    private String id;
+    private String icon;
+    private String speed;
+    private String power;
+
+    public String getIdnum() {
+        return idnum;
+    }
+
+    public void setIdnum(String idnum) {
+        this.idnum = idnum;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    public String getSpeed() {
+        return speed;
+    }
+
+    public void setSpeed(String speed) {
+        this.speed = speed;
+    }
+
+    public String getPower() {
+        return power;
+    }
+
+    public void setPower(String power) {
+        this.power = power;
+    }
+}

+ 36 - 0
src/main/java/com/gyee/frame/model/custom/OnlineVo.java

@@ -0,0 +1,36 @@
+/**
+ * <p>文件名:	DataVo.java</p>
+ * <p>版权:  </p>
+ * <p>公司:	company Co., Ltd.</p>
+ * <p>项目名:lnly</p>
+ * <p>作者:	刘厦(liusha.information@gmail.com)</p>
+ */
+package com.gyee.frame.model.custom;
+
+import java.util.List;
+
+/**
+ *
+ */
+
+public class OnlineVo {
+
+    private String id;
+    private List<String> userlist;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public List<String> getUserlist() {
+        return userlist;
+    }
+
+    public void setUserlist(List<String> userlist) {
+        this.userlist = userlist;
+    }
+}

+ 50 - 0
src/main/java/com/gyee/frame/netty/websocket/util/WebsocketUtil.java

@@ -0,0 +1,50 @@
+package com.gyee.frame.netty.websocket.util;
+
+import javax.websocket.RemoteEndpoint.Async;
+import javax.websocket.Session;
+import java.lang.reflect.Field;
+import java.net.InetSocketAddress;
+
+
+public class WebsocketUtil {
+
+    public static InetSocketAddress getRemoteAddress(Session session) {
+        if (session == null) {
+            return null;
+        }
+        Async async = session.getAsyncRemote();
+
+        //在Tomcat 8.0.x版本有效
+//		InetSocketAddress addr = (InetSocketAddress) getFieldInstance(async,"base#sos#socketWrapper#socket#sc#remoteAddress");
+        //在Tomcat 8.5以上版本有效
+        InetSocketAddress addr = (InetSocketAddress) getFieldInstance(async,"base#socketWrapper#socket#sc#remoteAddress");
+        return addr;
+    }
+
+    private static Object getFieldInstance(Object obj, String fieldPath) {
+        String fields[] = fieldPath.split("#");
+        for (String field : fields) {
+            obj = getField(obj, obj.getClass(), field);
+            if (obj == null) {
+                return null;
+            }
+        }
+
+        return obj;
+    }
+
+    private static Object getField(Object obj, Class<?> clazz, String fieldName) {
+        for (; clazz != Object.class; clazz = clazz.getSuperclass()) {
+            try {
+                Field field;
+                field = clazz.getDeclaredField(fieldName);
+                field.setAccessible(true);
+                return field.get(obj);
+            } catch (Exception e) {
+            }
+        }
+
+        return null;
+    }
+
+}

+ 117 - 0
src/main/java/com/gyee/frame/service/ChatDetailService.java

@@ -0,0 +1,117 @@
+package com.gyee.frame.service;
+
+
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.mapper.auto.ChatDetailMapper;
+import com.gyee.frame.model.auto.ChatDetail;
+import com.gyee.frame.model.auto.ChatDetailExample;
+import com.gyee.frame.util.Convert;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ *  ChatDetailService
+ * @Title: ChatDetailService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2020-04-15 16:48:37  
+ **/
+@Service
+public class ChatDetailService implements BaseService<ChatDetail, ChatDetailExample> {
+	@Resource
+	private ChatDetailMapper chatDetailMapper;
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+
+		List<Integer> lista= Convert.toListIntArray(ids);
+		ChatDetailExample example=new ChatDetailExample();
+		example.createCriteria().andIdIn(lista);
+		return chatDetailMapper.deleteByExample(example);
+
+	}
+
+	@Override
+	public int updateByPrimaryKeySelective(ChatDetail record) {
+		return chatDetailMapper.updateByPrimaryKeySelective(record);
+	}
+
+
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(ChatDetail record) {
+
+
+
+		return chatDetailMapper.insertSelective(record);
+	}
+
+
+	@Override
+	public int updateByExampleSelective(ChatDetail record, ChatDetailExample example) {
+
+		return chatDetailMapper.updateByExampleSelective(record, example);
+	}
+
+
+	@Override
+	public int updateByExample(ChatDetail record, ChatDetailExample example) {
+
+		return chatDetailMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<ChatDetail> selectByExample(ChatDetailExample example) {
+
+		return chatDetailMapper.selectByExample(example);
+	}
+
+
+	@Override
+	public long countByExample(ChatDetailExample example) {
+
+		return chatDetailMapper.countByExample(example);
+	}
+
+
+	@Override
+	public int deleteByExample(ChatDetailExample example) {
+
+		return chatDetailMapper.deleteByExample(example);
+	}
+
+	@Override
+	public ChatDetail selectByPrimaryKey(String id) {
+
+		if(StringUtils.isNotNull(id))
+		{
+			return chatDetailMapper.selectByPrimaryKey(Integer.valueOf(id));
+		}
+		return new ChatDetail();
+
+	}
+
+
+	public List<ChatDetail> selectLastInfoByUserId(String sendingid,String pointtoid){
+
+
+		List<ChatDetail> list= chatDetailMapper.selectLastInfoByUserId(sendingid,pointtoid);
+
+		return  list;
+	}
+
+	public List<ChatDetail> selectByUserId(String sendingid,String pointtoid){
+
+		List<ChatDetail> list= chatDetailMapper.selectByUserId(sendingid,pointtoid);
+
+		return  list;
+	}
+
+
+}

+ 150 - 0
src/main/java/com/gyee/frame/service/ShbraceletpointService.java

@@ -0,0 +1,150 @@
+package com.gyee.frame.service;
+
+import java.util.List;
+import java.util.Arrays;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.gyee.frame.common.base.BaseService;
+import com.gyee.frame.common.support.Convert;
+import com.gyee.frame.mapper.auto.ShbraceletpointMapper;
+import com.gyee.frame.model.auto.Shbraceletpoint;
+import com.gyee.frame.model.auto.ShbraceletpointExample;
+import com.gyee.frame.model.custom.Tablepar;
+import com.gyee.frame.util.SnowflakeIdWorker;
+
+/**
+ *  ShbraceletpointService
+ * @Title: ShbraceletpointService.java 
+ * @Package com.gyee.frame.service 
+ * @author gyee_自动生成
+ * @email 1@qq.com
+ * @date 2020-05-20 19:07:48  
+ **/
+@Service
+public class ShbraceletpointService implements BaseService<Shbraceletpoint, ShbraceletpointExample>{
+	@Autowired
+	private ShbraceletpointMapper shbraceletpointMapper;
+
+
+
+		/**
+		 * 查询集合
+		 * @return
+		 */
+		public List<Shbraceletpoint> shbraceletpointList(Long beginDateTs,Long endDateTs){
+			ShbraceletpointExample testExample=new ShbraceletpointExample();
+			testExample.setOrderByClause("ts ASC");
+
+
+				testExample.createCriteria().andTsGreaterThanOrEqualTo(beginDateTs).andTsLessThanOrEqualTo(endDateTs);
+				List<Shbraceletpoint> shbraceletpointList = shbraceletpointMapper.selectByExample(testExample);
+
+
+			return shbraceletpointList;
+		}
+	/**
+	 * 分页查询
+	 * @return
+	 */
+	 public PageInfo<Shbraceletpoint> list(Tablepar tablepar,String name){
+	        ShbraceletpointExample testExample=new ShbraceletpointExample();
+	        testExample.setOrderByClause("id ASC");
+	        if(name!=null&&!"".equals(name)){
+	        	//testExample.createCriteria().andTsLike("%"+name+"%");
+	        }
+
+	        PageHelper.startPage(tablepar.getPageNum(), tablepar.getPageSize());
+	        List<Shbraceletpoint> list= shbraceletpointMapper.selectByExample(testExample);
+	        PageInfo<Shbraceletpoint> pageInfo = new PageInfo<Shbraceletpoint>(list);
+	        return  pageInfo;
+	 }
+
+	@Override
+	public int deleteByPrimaryKey(String ids) {
+				
+			List<String> lista=Convert.toListStrArray(ids);
+			ShbraceletpointExample example=new ShbraceletpointExample();
+			example.createCriteria().andIdIn(lista);
+			return shbraceletpointMapper.deleteByExample(example);
+			
+				
+	}
+	
+	
+	@Override
+	public Shbraceletpoint selectByPrimaryKey(String id) {
+				
+			return shbraceletpointMapper.selectByPrimaryKey(id);
+				
+	}
+
+	
+	@Override
+	public int updateByPrimaryKeySelective(Shbraceletpoint record) {
+		return shbraceletpointMapper.updateByPrimaryKeySelective(record);
+	}
+	
+	
+	/**
+	 * 添加
+	 */
+	@Override
+	public int insertSelective(Shbraceletpoint record) {
+				
+		//添加雪花主键id
+		record.setId(SnowflakeIdWorker.getUUID());
+			
+				
+		return shbraceletpointMapper.insertSelective(record);
+	}
+	
+	
+	@Override
+	public int updateByExampleSelective(Shbraceletpoint record, ShbraceletpointExample example) {
+		
+		return shbraceletpointMapper.updateByExampleSelective(record, example);
+	}
+
+	
+	@Override
+	public int updateByExample(Shbraceletpoint record, ShbraceletpointExample example) {
+		
+		return shbraceletpointMapper.updateByExample(record, example);
+	}
+
+	@Override
+	public List<Shbraceletpoint> selectByExample(ShbraceletpointExample example) {
+		
+		return shbraceletpointMapper.selectByExample(example);
+	}
+
+	
+	@Override
+	public long countByExample(ShbraceletpointExample example) {
+		
+		return shbraceletpointMapper.countByExample(example);
+	}
+
+	
+	@Override
+	public int deleteByExample(ShbraceletpointExample example) {
+		
+		return shbraceletpointMapper.deleteByExample(example);
+	}
+	
+	/**
+	 * 检查name
+	 * @param shbraceletpoint
+	 * @return
+	 */
+	public int checkNameUnique(Shbraceletpoint shbraceletpoint){
+		ShbraceletpointExample example=new ShbraceletpointExample();
+		example.createCriteria().andTsEqualTo(shbraceletpoint.getTs());
+		List<Shbraceletpoint> list=shbraceletpointMapper.selectByExample(example);
+		return list.size();
+	}
+
+
+}

+ 113 - 0
src/main/java/com/gyee/frame/service/app/bracelet/BraceletService.java

@@ -0,0 +1,113 @@
+package com.gyee.frame.service.app.bracelet;
+
+import com.gyee.frame.model.auto.Shbraceletpoint;
+import com.gyee.frame.model.enumeration.Messagetype;
+import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.ShbraceletpointService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class BraceletService extends SocketToolService {
+    public static Map<String, List<String>> bracelet_pointMap = new HashMap<>();
+    public static Map<String, Map<String, Map<String, List<Shbraceletpoint>>>> shbraceletpointMapMapMapList = new HashMap<>();
+    /*ip,  Y1-A0BC,  Y1-A0BC_PLD,*/
+    @Autowired
+    private ShbraceletpointService shbraceletpointService;
+    /*2020-05-01 12:13:11*/
+    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    public void braceletPushTask() throws Exception {
+        Set set = bracelet_pointMap.keySet();
+        Iterator<String> it = set.iterator();
+        Map<String, Double> pointDataMap = new HashMap();
+        while (it.hasNext()) {
+            String ip = it.next();
+            List<String> braceletDateList = bracelet_pointMap.get(ip);
+            String beginDate = braceletDateList.get(0);
+            String endDate = braceletDateList.get(1);
+
+            Long beginDateTs = sdf.parse(beginDate).getTime();
+            Long endDateTs = sdf.parse(endDate).getTime();
+
+            List<Shbraceletpoint> shbraceletpointList = shbraceletpointService.shbraceletpointList(beginDateTs, endDateTs);
+            /*Map<String,Map<String,List<Shbraceletpoint>>> deviceNameMap = new HashMap<>();
+            Map<String, List<Shbraceletpoint>> deviceMetricsNameMap = new HashMap<>();
+
+            *//*获取设备指标名称*//*
+            List<String> deviceMetricsName = shbraceletpointList.stream().map(Shbraceletpoint::getKey).collect(Collectors.toList());
+
+            for (int i = 0;i<deviceMetricsName.size();i++){
+                List<Shbraceletpoint> list = new ArrayList<>();
+                list.clear();
+                String metriceName = deviceMetricsName.get(i);
+                for (int j = 0;j<deviceMetricsName.size();j++) {
+                    String key = shbraceletpointList.get(j).getKey();
+                    if (metriceName.equals(key)) {
+                        Shbraceletpoint shbraceletpoint = shbraceletpointList.get(j);
+                        list.add(shbraceletpoint);
+                        deviceMetricsNameMap.put(metriceName, list);
+                    }
+                }
+            }
+
+            Map<String,Map<String, List<Shbraceletpoint>>>  deviceMap = new HashMap<>();
+            for(Shbraceletpoint shbraceletpoint1:shbraceletpointList){
+                String deviceName = shbraceletpoint1.getKey().split("_")[0];
+                deviceNameMap.put(deviceName,deviceMetricsNameMap);
+                Map<String,List<Shbraceletpoint>> listMap = new HashMap<>();
+                for(String key:deviceMetricsNameMap.keySet()){
+
+                    listMap.put(key, deviceMetricsNameMap.get(key));
+
+                    deviceNameMap.put(deviceName,listMap);
+                }
+
+            }*/
+            Map<String, Map<String, List<Shbraceletpoint>>> deviceNameMap = injectionMap(shbraceletpointList);
+            shbraceletpointMapMapMapList.put(ip,deviceNameMap);
+        }
+
+        this.pushToWeb("pageNumber_9", "functionNumber_1","all", shbraceletpointMapMapMapList, Messagetype.MESSAGE);
+    }
+    private  Map<String,Map<String,List<Shbraceletpoint>>> injectionMap(List<Shbraceletpoint> shbraceletpointList ){
+        Map<String,Map<String,List<Shbraceletpoint>>> deviceNameMap = new HashMap<>();/*设备名*/
+        Map<String, List<Shbraceletpoint>> deviceMetricsNameMap = new HashMap<>();/*设备指标*/
+
+        /*获取设备指标名称*/
+        List<String> deviceMetricsName = shbraceletpointList.stream().map(Shbraceletpoint::getKey).collect(Collectors.toList());
+
+        for (int i = 0;i<deviceMetricsName.size();i++){
+            List<Shbraceletpoint> list = new ArrayList<>();
+            list.clear();
+            String metriceName = deviceMetricsName.get(i);
+            for (int j = 0;j<deviceMetricsName.size();j++) {
+                String key = shbraceletpointList.get(j).getKey();
+                if (metriceName.equals(key)) {
+                    Shbraceletpoint shbraceletpoint = shbraceletpointList.get(j);
+                    list.add(shbraceletpoint);
+                    deviceMetricsNameMap.put(metriceName, list);
+                }
+            }
+        }
+
+        /*Map<String,Map<String, List<Shbraceletpoint>>>  deviceMap = new HashMap<>();*/
+        for(Shbraceletpoint shbraceletpoint1:shbraceletpointList){
+            String deviceName = shbraceletpoint1.getKey().split("_")[0];
+            deviceNameMap.put(deviceName,deviceMetricsNameMap);
+            Map<String,List<Shbraceletpoint>> listMap = new HashMap<>();
+            for(String key:deviceMetricsNameMap.keySet()){
+
+                listMap.put(key, deviceMetricsNameMap.get(key));
+
+                deviceNameMap.put(deviceName,listMap);
+            }
+
+        }
+        return deviceNameMap;
+    }
+}

+ 203 - 0
src/main/java/com/gyee/frame/service/monitor/MonitorService.java

@@ -0,0 +1,203 @@
+package com.gyee.frame.service.monitor;
+
+
+import com.gyee.frame.common.spring.Constant;
+import com.gyee.frame.common.spring.InitialRunner;
+import com.gyee.frame.model.auto.*;
+import com.gyee.frame.model.custom.MatrixVo;
+import com.gyee.frame.model.custom.PointData;
+import com.gyee.frame.model.enumeration.Messagetype;
+import com.gyee.frame.netty.websocket.WebSocketServer;
+import com.gyee.frame.netty.websocket.util.SocketToolService;
+import com.gyee.frame.service.ProjectService;
+import com.gyee.frame.service.WindpowerstationService;
+import com.gyee.frame.util.IRealTimeDataBaseUtil;
+import com.gyee.frame.util.RealTimeDataBaseFactory;
+import com.gyee.frame.util.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+@Service
+public class MonitorService extends SocketToolService {
+
+    @Resource
+    private WindpowerstationService windpowerstationService;
+    @Resource
+    private ProjectService projectService;
+
+    private int decimal_digit = 2;
+    private IRealTimeDataBaseUtil mongodb = RealTimeDataBaseFactory.createRealTimeDataBase();
+
+
+
+    public void monitor_target_matrixMonitor() throws Exception {
+
+
+        Map<String, Map<String, WindTurbineTestingPointAi2>> wtpAimap = InitialRunner.wtpAimap;
+        String pageNumber = "pageNumber_4";
+        String functionNumber = "functionNumber_2";
+        StringBuilder sb = new StringBuilder();
+        sb.append(pageNumber).append("_").append(functionNumber);
+
+        String jobkey = String.valueOf(sb);
+        Map<String, CopyOnWriteArraySet<String>> keyidMap = WebSocketServer.keyidMap;
+
+
+        if(WebSocketServer.keyidMap.isEmpty())
+        {
+            WindpowerstationExample windpowerstationExample=new WindpowerstationExample();
+            windpowerstationExample.setOrderByClause("ordernum ASC");
+            windpowerstationExample.createCriteria().getAllCriteria();
+            List<Windpowerstation> wpls= windpowerstationService.selectByExample(windpowerstationExample);
+
+            ProjectExample projectExample=new ProjectExample();
+            projectExample.setOrderByClause("ordernum ASC");
+            projectExample.createCriteria().getAllCriteria();
+            List<Project> pjls= projectService.selectByExample(projectExample);
+
+            CopyOnWriteArraySet<String> set=new CopyOnWriteArraySet<String>();
+            for(Windpowerstation wp: wpls)
+            {
+                StringBuilder sb2 = new StringBuilder();
+                sb2.append("wp_").append(wp.getId());
+                set.add(String.valueOf(sb2));
+            }
+
+            for(Project pj: pjls)
+            {
+                StringBuilder sb2 = new StringBuilder();
+                sb2.append("pj_").append(pj.getId());
+                set.add(String.valueOf(sb2));
+            }
+            keyidMap.put(jobkey,set);
+        }
+
+//        CopyOnWriteArraySet<String> set=new CopyOnWriteArraySet<String>();
+//        set.add("wp_CL_FDC");
+//        set.add("wp_DX_FDC");
+//        set.add("wp_KB_FDC");
+//
+//        set.add("pj_CL01_GC");
+//        set.add("pj_CL02_GC");
+//        set.add("pj_DX01_GC");
+//        set.add("pj_KB01_GC");
+//        set.add("pj_KB02_GC");
+//        set.add("pj_KB03_GC");
+//        set.add("pj_KB04_GC");
+//
+//        keyidMap.put(jobkey,set);
+
+        if(keyidMap.containsKey(jobkey))
+        {
+            CopyOnWriteArraySet<String> set=keyidMap.get(jobkey);
+
+            for (String str : set) {
+
+                List<MatrixVo> vos = new ArrayList<>();
+
+                if (str.equals("all")) {
+                    continue;
+                }
+                String keyid_title = str.substring(0, 3);
+                String keyid = str.substring(3);
+
+                if (keyid_title.equals("wp_")) {
+
+                    if (InitialRunner.wp_wtmap.containsKey(keyid)) {
+                        List<Windturbine> ls = InitialRunner.wp_wtmap.get(keyid);
+                        if (null != ls && !ls.isEmpty()) {
+
+                            setMatrixValue(wtpAimap, vos, ls);
+
+                        }
+                    }
+
+                } else if (keyid_title.equals("pj_")) {
+
+                    if (InitialRunner.pj_wtmap.containsKey(keyid)) {
+                        List<Windturbine> ls = InitialRunner.pj_wtmap.get(keyid);
+                        if (null != ls && !ls.isEmpty()) {
+                            setMatrixValue(wtpAimap, vos, ls);
+                        }
+                    }
+
+                }
+ //               else if (keyid_title.equals("ln_")) {
+//                    if (InitialRunner.ln_wtmap.containsKey(keyid)) {
+//                        List<Windturbine> ls = InitialRunner.ln_wtmap.get(keyid);
+//                        if (null != ls && !ls.isEmpty()) {
+//                            setMatrixValue(wtpAimap, vos, ls);
+//                        }
+//                    }
+//                }
+
+                this.pushToWeb("pageNumber_4", "functionNumber_2", str, vos, Messagetype.MESSAGE);
+
+            }
+
+        }
+
+
+    }
+
+    private void setMatrixValue(Map<String, Map<String, WindTurbineTestingPointAi2>> wtpAimap, List<MatrixVo> vos, List<Windturbine> ls) throws Exception {
+        List<String> fjztls=new ArrayList<>();
+        List<String> glls=new ArrayList<>();
+        List<String> fsls=new ArrayList<>();
+        for (Windturbine wt : ls) {
+
+            if(wtpAimap.containsKey(wt.getId()))
+            {
+                fjztls.add(wtpAimap.get(wt.getId()).get(Constant.FJZT).getId());
+                glls.add(wtpAimap.get(wt.getId()).get(Constant.TPOINT_WT_FJGL).getId());
+                fsls.add(wtpAimap.get(wt.getId()).get(Constant.TPOINT_WT_FJSSFS).getId());
+            }
+
+        }
+        List<PointData> fjztvaluels=mongodb.getRealData(fjztls);
+        List<PointData> glvaluels=mongodb.getRealData(glls);
+        List<PointData> fsvaluels=mongodb.getRealData(fsls);
+
+        if(null !=fjztvaluels && null !=glvaluels && null !=fsvaluels && glvaluels.size()==fjztvaluels.size() && fsvaluels.size()==ls.size() && fjztvaluels.size()==ls.size())
+        {
+            for ( int i=0;i<ls.size();i++) {
+
+                Windturbine wt=ls.get(i);
+                MatrixVo vo = new MatrixVo();
+                StringBuilder sbs = new StringBuilder();
+                vo.setId(wt.getId());
+                String temp=wt.getId().substring(wt.getId().length()-3);
+                if(StringUtils.isNumeric(temp))
+                {
+                    vo.setIdnum(temp);
+                }else
+                {
+                    temp=wt.getId().substring(wt.getId().length()-2);
+                    vo.setIdnum(temp);
+                }
+                //风机状态
+                PointData fjzt_real =fjztvaluels.get(i);
+                sbs.append("00");
+                int fjzt = new BigDecimal(fjzt_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).intValue();
+                vo.setIcon(String.valueOf(sbs.append(fjzt)));
+                //功率
+                PointData power_real = glvaluels.get(i);
+                double power = new BigDecimal(power_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+                vo.setPower(String.valueOf(power));
+
+                //风速
+                PointData speed_real =fsvaluels.get(i);
+                double speed = new BigDecimal(speed_real.getPointValueInDouble()).setScale(decimal_digit, RoundingMode.HALF_EVEN).doubleValue();
+                vo.setSpeed(String.valueOf(speed));
+                vos.add(vo);
+            }
+        }
+    }
+}

Різницю між файлами не показано, бо вона завелика
+ 1029 - 0
src/main/java/com/gyee/frame/util/Convert.java


+ 210 - 0
src/main/java/com/gyee/frame/util/IRealTimeDataBaseUtil.java

@@ -0,0 +1,210 @@
+package com.gyee.frame.util;
+
+
+import com.gyee.frame.model.auto.WindPowerStationTestingPoint2;
+import com.gyee.frame.model.auto.WindTurbineTestingPointAi2;
+import com.gyee.frame.model.custom.DNAStatVal;
+import com.gyee.frame.model.custom.DNAVal;
+import com.gyee.frame.model.custom.PointData;
+
+import java.util.List;
+import java.util.Map;
+
+
+public interface IRealTimeDataBaseUtil {
+    /**
+     * 通过风场测点获得测点实时数据
+     * @param point 只是用了code字段,作为唯一标识
+     * @returns
+     * @throws Exception
+     */
+    public PointData getRealData(WindPowerStationTestingPoint2 point) throws Exception;
+
+    /**
+     * 通过风场测点获得测点历史快照数据
+     * @param point 只是用了code字段,作为唯一标识
+     * @param beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistoryDatasSnap(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate, Long count, Long pried) throws Exception;
+
+    /**
+     * 通过风场测点获得测点历史存储数据,存多少取多少
+     * @param point 只是用了code字段,作为唯一标识
+     * @param beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistoryDatasRaw(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate) throws Exception;
+
+    /**
+     * 通过风机测点获得测点实时数据
+     * @param point 只是用了id字段,作为唯一标识
+     * @return
+     * @throws Exception
+     */
+    public PointData getRealData(WindTurbineTestingPointAi2 point) throws Exception;
+
+    /**
+     * 通过风机测点获得历史快照
+     * @param point  只是用了id字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistoryDatasSnap(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate, Long count, Long pried) throws Exception;
+
+    /**
+     * 通过风机测点获得测点历史存储数据,存多少取多少
+     * @param point 只是用了id字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistoryDatasRaw(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate) throws Exception;
+
+
+    /**
+     * 通过风机测点获得测点实时数据
+     * @param pointid 测点编号
+     * @return
+     * @throws Exception
+     */
+    public PointData getRealData(String pointid) throws Exception;
+
+    /**
+     * 通过全局点名获得测点实时数据 读取多个点
+     * @param pointids 测点的数组
+     * @return 列表集合
+     * @throws Exception
+     */
+    public List<PointData> getRealData(String... pointids) throws Exception;
+    /**
+     * 通过全局点名获得测点实时数据 读取多个点
+     * @param pointids 测点的列表
+     * @return 列表集合
+     * @throws Exception
+     */
+    public List<PointData> getRealData(List<String> pointids) throws Exception;
+    /**
+     * 通过全局点名获得测点实时数据 读取多个点
+     * @param pointids 测点的数组
+     * @return Map集合
+     * @throws Exception
+     */
+    public Map<String,Double> getRealDataMap(String... pointids) throws Exception;
+
+    /**
+     * 通过全局点名获得历史数据快照
+     * @param pointid  全局点名
+     * @param beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistoryDatasSnap(String pointid, Long beginDate, Long endDate, Long count, Long pried) throws Exception;
+
+    /**
+     * 通过风机测点获得测点历史存储数据,存多少取多少
+     * @param pointid 全局点名
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistoryDatasRaw(String pointid, Long beginDate, Long endDate) throws Exception;
+
+
+    /**
+     * 通过风机测点获得测点指定时间周期的统计数据
+     * @param point 只是用了id字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @type 0、最大值。1、最小值。、平均值
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistStat(WindTurbineTestingPointAi2 point, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception;
+
+    /**
+     * 通过风场测点获得测点指定时间周期的统计数据
+     * @param point 只是用了code字段,作为唯一标识
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @type 0、最大值。1、最小值。、平均值
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistStat(WindPowerStationTestingPoint2 point, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception;
+
+    /**
+     * 通过全局点名获得测点指定时间周期的统计数据
+     * @param pointid 全局点名
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param count  点数
+     * @param pried  时间间隔
+     * @type 0、最大值。1、最小值。、平均值
+     * @return
+     * @throws Exception
+     */
+    public List<PointData> getHistStat(String pointid, Long beginDate, Long endDate, Long count, Long pried, int type) throws Exception;
+
+    /**
+     * 通过全局点名获得测点指定时间周期的统计数据 同时返回max、min、avg数据
+     * @param point 全局点名
+     * @param  beginDate 开始时间(秒级)
+     * @param endDate 结束时间(秒级)
+     * @param pried  时间间隔
+     * @return
+     * @throws Exception
+     */
+    public DNAStatVal[] getHistStat(String point, Long beginDate, Long endDate, Integer pried) throws Exception;
+    /**
+     * 补录单点历史数据
+     * @param point 测点对象
+     * @return
+     * @throws Exception
+     */
+    public void updatePoint(PointData point) throws Exception;
+
+    /**
+     * 批量查询实时数据
+     * @param tagNames 测点字符串数组
+     * @return
+     * @throws Exception
+     */
+
+    public DNAVal[] getRealtimeTagValues(String... tagNames) throws Exception;
+
+    /**
+     * 批量插入历史数据
+     * @param pointls 测点对象集合
+     * @throws Exception
+     */
+    public void updatePoint(List<PointData> pointls) throws Exception;
+
+    /**
+     *
+     * @param nameList 测点名称列表集合
+     * @param tTime  时间点(秒级)
+     * @return
+     * @throws Exception
+     */
+    public DNAVal[] getHistMatrix(String[] nameList, int tTime) throws Exception;
+}

+ 23 - 0
src/main/java/com/gyee/frame/util/RealTimeDataBaseFactory.java

@@ -0,0 +1,23 @@
+package com.gyee.frame.util;
+
+
+import com.gyee.frame.common.conf.V2Config;
+import com.gyee.frame.util.golden.EdosUtil;
+import com.gyee.frame.util.mongodb.MongodbUtilImpl;
+
+public class RealTimeDataBaseFactory {
+
+
+    public static IRealTimeDataBaseUtil createRealTimeDataBase() {
+
+
+        switch (V2Config.getRealtimedataBase()) {
+            case "mongodb":
+                return new MongodbUtilImpl();
+            case "golden":
+                return new EdosUtil();
+            default:
+                return new MongodbUtilImpl();
+        }
+    }
+}

+ 445 - 0
src/main/resources/mybatis/auto/ChatDetailMapper.xml

@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.ChatDetailMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.ChatDetail">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="sendingid" jdbcType="VARCHAR" property="sendingid" />
+    <result column="sendingname" jdbcType="VARCHAR" property="sendingname" />
+    <result column="chattime" jdbcType="TIMESTAMP" property="chattime" />
+    <result column="pointto" jdbcType="VARCHAR" property="pointto" />
+    <result column="pointtoid" jdbcType="VARCHAR" property="pointtoid" />
+    <result column="chattypes" jdbcType="VARCHAR" property="chattypes" />
+    <result column="chatcontent" jdbcType="VARCHAR" property="chatcontent" />
+    <result column="remark1" jdbcType="VARCHAR" property="remark1" />
+    <result column="remark2" jdbcType="VARCHAR" property="remark2" />
+    <result column="remark3" jdbcType="VARCHAR" property="remark3" />
+    <result column="numericdate" jdbcType="BIGINT" property="numericdate" />
+    <result column="sendingip" jdbcType="VARCHAR" property="sendingip" />
+    <result column="receiveip" jdbcType="VARCHAR" property="receiveip" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    id, sendingid, sendingname, chattime, pointto, pointtoid, chattypes, chatcontent, 
+    remark1, remark2, remark3, numericdate, sendingip, receiveip
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.ChatDetailExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from chatdetail
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from chatdetail
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from chatdetail
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.ChatDetailExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from chatdetail
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.ChatDetail">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into chatdetail (id, sendingid, sendingname, 
+      chattime, pointto, pointtoid, 
+      chattypes, chatcontent, remark1, 
+      remark2, remark3, numericdate, 
+      sendingip, receiveip)
+    values (#{id,jdbcType=INTEGER}, #{sendingid,jdbcType=VARCHAR}, #{sendingname,jdbcType=VARCHAR}, 
+      #{chattime,jdbcType=TIMESTAMP}, #{pointto,jdbcType=VARCHAR}, #{pointtoid,jdbcType=VARCHAR}, 
+      #{chattypes,jdbcType=VARCHAR}, #{chatcontent,jdbcType=VARCHAR}, #{remark1,jdbcType=VARCHAR}, 
+      #{remark2,jdbcType=VARCHAR}, #{remark3,jdbcType=VARCHAR}, #{numericdate,jdbcType=BIGINT}, 
+      #{sendingip,jdbcType=VARCHAR}, #{receiveip,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.ChatDetail">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into chatdetail
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="sendingid != null">
+        sendingid,
+      </if>
+      <if test="sendingname != null">
+        sendingname,
+      </if>
+      <if test="chattime != null">
+        chattime,
+      </if>
+      <if test="pointto != null">
+        pointto,
+      </if>
+      <if test="pointtoid != null">
+        pointtoid,
+      </if>
+      <if test="chattypes != null">
+        chattypes,
+      </if>
+      <if test="chatcontent != null">
+        chatcontent,
+      </if>
+      <if test="remark1 != null">
+        remark1,
+      </if>
+      <if test="remark2 != null">
+        remark2,
+      </if>
+      <if test="remark3 != null">
+        remark3,
+      </if>
+      <if test="numericdate != null">
+        numericdate,
+      </if>
+      <if test="sendingip != null">
+        sendingip,
+      </if>
+      <if test="receiveip != null">
+        receiveip,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=INTEGER},
+      </if>
+      <if test="sendingid != null">
+        #{sendingid,jdbcType=VARCHAR},
+      </if>
+      <if test="sendingname != null">
+        #{sendingname,jdbcType=VARCHAR},
+      </if>
+      <if test="chattime != null">
+        #{chattime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="pointto != null">
+        #{pointto,jdbcType=VARCHAR},
+      </if>
+      <if test="pointtoid != null">
+        #{pointtoid,jdbcType=VARCHAR},
+      </if>
+      <if test="chattypes != null">
+        #{chattypes,jdbcType=VARCHAR},
+      </if>
+      <if test="chatcontent != null">
+        #{chatcontent,jdbcType=VARCHAR},
+      </if>
+      <if test="remark1 != null">
+        #{remark1,jdbcType=VARCHAR},
+      </if>
+      <if test="remark2 != null">
+        #{remark2,jdbcType=VARCHAR},
+      </if>
+      <if test="remark3 != null">
+        #{remark3,jdbcType=VARCHAR},
+      </if>
+      <if test="numericdate != null">
+        #{numericdate,jdbcType=BIGINT},
+      </if>
+      <if test="sendingip != null">
+        #{sendingip,jdbcType=VARCHAR},
+      </if>
+      <if test="receiveip != null">
+        #{receiveip,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.ChatDetailExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from chatdetail
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update chatdetail
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=INTEGER},
+      </if>
+      <if test="record.sendingid != null">
+        sendingid = #{record.sendingid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.sendingname != null">
+        sendingname = #{record.sendingname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.chattime != null">
+        chattime = #{record.chattime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.pointto != null">
+        pointto = #{record.pointto,jdbcType=VARCHAR},
+      </if>
+      <if test="record.pointtoid != null">
+        pointtoid = #{record.pointtoid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.chattypes != null">
+        chattypes = #{record.chattypes,jdbcType=VARCHAR},
+      </if>
+      <if test="record.chatcontent != null">
+        chatcontent = #{record.chatcontent,jdbcType=VARCHAR},
+      </if>
+      <if test="record.remark1 != null">
+        remark1 = #{record.remark1,jdbcType=VARCHAR},
+      </if>
+      <if test="record.remark2 != null">
+        remark2 = #{record.remark2,jdbcType=VARCHAR},
+      </if>
+      <if test="record.remark3 != null">
+        remark3 = #{record.remark3,jdbcType=VARCHAR},
+      </if>
+      <if test="record.numericdate != null">
+        numericdate = #{record.numericdate,jdbcType=BIGINT},
+      </if>
+      <if test="record.sendingip != null">
+        sendingip = #{record.sendingip,jdbcType=VARCHAR},
+      </if>
+      <if test="record.receiveip != null">
+        receiveip = #{record.receiveip,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update chatdetail
+    set id = #{record.id,jdbcType=INTEGER},
+      sendingid = #{record.sendingid,jdbcType=VARCHAR},
+      sendingname = #{record.sendingname,jdbcType=VARCHAR},
+      chattime = #{record.chattime,jdbcType=TIMESTAMP},
+      pointto = #{record.pointto,jdbcType=VARCHAR},
+      pointtoid = #{record.pointtoid,jdbcType=VARCHAR},
+      chattypes = #{record.chattypes,jdbcType=VARCHAR},
+      chatcontent = #{record.chatcontent,jdbcType=VARCHAR},
+      remark1 = #{record.remark1,jdbcType=VARCHAR},
+      remark2 = #{record.remark2,jdbcType=VARCHAR},
+      remark3 = #{record.remark3,jdbcType=VARCHAR},
+      numericdate = #{record.numericdate,jdbcType=BIGINT},
+      sendingip = #{record.sendingip,jdbcType=VARCHAR},
+      receiveip = #{record.receiveip,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.ChatDetail">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update chatdetail
+    <set>
+      <if test="sendingid != null">
+        sendingid = #{sendingid,jdbcType=VARCHAR},
+      </if>
+      <if test="sendingname != null">
+        sendingname = #{sendingname,jdbcType=VARCHAR},
+      </if>
+      <if test="chattime != null">
+        chattime = #{chattime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="pointto != null">
+        pointto = #{pointto,jdbcType=VARCHAR},
+      </if>
+      <if test="pointtoid != null">
+        pointtoid = #{pointtoid,jdbcType=VARCHAR},
+      </if>
+      <if test="chattypes != null">
+        chattypes = #{chattypes,jdbcType=VARCHAR},
+      </if>
+      <if test="chatcontent != null">
+        chatcontent = #{chatcontent,jdbcType=VARCHAR},
+      </if>
+      <if test="remark1 != null">
+        remark1 = #{remark1,jdbcType=VARCHAR},
+      </if>
+      <if test="remark2 != null">
+        remark2 = #{remark2,jdbcType=VARCHAR},
+      </if>
+      <if test="remark3 != null">
+        remark3 = #{remark3,jdbcType=VARCHAR},
+      </if>
+      <if test="numericdate != null">
+        numericdate = #{numericdate,jdbcType=BIGINT},
+      </if>
+      <if test="sendingip != null">
+        sendingip = #{sendingip,jdbcType=VARCHAR},
+      </if>
+      <if test="receiveip != null">
+        receiveip = #{receiveip,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.ChatDetail">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update chatdetail
+    set sendingid = #{sendingid,jdbcType=VARCHAR},
+      sendingname = #{sendingname,jdbcType=VARCHAR},
+      chattime = #{chattime,jdbcType=TIMESTAMP},
+      pointto = #{pointto,jdbcType=VARCHAR},
+      pointtoid = #{pointtoid,jdbcType=VARCHAR},
+      chattypes = #{chattypes,jdbcType=VARCHAR},
+      chatcontent = #{chatcontent,jdbcType=VARCHAR},
+      remark1 = #{remark1,jdbcType=VARCHAR},
+      remark2 = #{remark2,jdbcType=VARCHAR},
+      remark3 = #{remark3,jdbcType=VARCHAR},
+      numericdate = #{numericdate,jdbcType=BIGINT},
+      sendingip = #{sendingip,jdbcType=VARCHAR},
+      receiveip = #{receiveip,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+
+  <select id="selectByUserId"   resultMap="BaseResultMap">
+    select
+    id, sendingid, sendingname, chattime, pointto, pointtoid, chattypes, chatcontent,
+    remark1, remark2, remark3, numericdate, sendingip, receiveip
+    from chatdetail
+    where  ((sendingid = #{sendingid} and pointtoid = #{pointtoid}
+    ) or (sendingid = #{pointtoid} and pointtoid = #{sendingid} ))
+    AND   chattime >= trunc(sysdate - 1)
+    ORDER BY chattime
+  </select>
+
+ <!-- <select id="selectLastInfoByUserId"  resultMap="BaseResultMap">
+    select
+    id, sendingid, sendingname, chattime, pointto, pointtoid, chattypes, chatcontent,
+    remark1, remark2, remark3, numericdate, sendingip, receiveip
+    from chatdetail
+    where pointtoid = #{userid}
+    AND   DATE_SUB(CURDATE(), INTERVAL 3 DAY) &lt;=chattime
+    group by sendingid
+    ORDER BY chattime desc
+  </select>-->
+
+  <select id="selectLastInfoByUserId"   resultMap="BaseResultMap">
+    select
+    id, sendingid, sendingname, chattime, pointto, pointtoid, chattypes, chatcontent,
+    remark1, remark2, remark3, numericdate, sendingip, receiveip
+    from chatdetail
+    where  ((sendingid = #{sendingid} and pointtoid = #{pointtoid}
+    ) or (sendingid = #{pointtoid} and pointtoid = #{sendingid} ))
+    AND  chattime >= trunc(sysdate - 1)    and rownum=1    ORDER BY chattime desc
+  </select>
+</mapper>

+ 241 - 0
src/main/resources/mybatis/auto/GyeeBraceletuserMapper.xml

@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.GyeeBraceletuserMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.GyeeBraceletuser">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="NVARCHAR" property="id" />
+    <result column="BRCUSERID" jdbcType="NVARCHAR" property="brcuserid" />
+    <result column="USERID" jdbcType="NVARCHAR" property="userid" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, BRCUSERID, USERID
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.GyeeBraceletuserExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from GYEEBRACELETUSER
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from GYEEBRACELETUSER
+    where ID = #{id,jdbcType=NVARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from GYEEBRACELETUSER
+    where ID = #{id,jdbcType=NVARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.GyeeBraceletuserExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from GYEEBRACELETUSER
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.GyeeBraceletuser">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into GYEEBRACELETUSER (ID, BRCUSERID, USERID
+      )
+    values (#{id,jdbcType=NVARCHAR}, #{brcuserid,jdbcType=NVARCHAR}, #{userid,jdbcType=NVARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.GyeeBraceletuser">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into GYEEBRACELETUSER
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="brcuserid != null">
+        BRCUSERID,
+      </if>
+      <if test="userid != null">
+        USERID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=NVARCHAR},
+      </if>
+      <if test="brcuserid != null">
+        #{brcuserid,jdbcType=NVARCHAR},
+      </if>
+      <if test="userid != null">
+        #{userid,jdbcType=NVARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.GyeeBraceletuserExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from GYEEBRACELETUSER
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEBRACELETUSER
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.brcuserid != null">
+        BRCUSERID = #{record.brcuserid,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.userid != null">
+        USERID = #{record.userid,jdbcType=NVARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEBRACELETUSER
+    set ID = #{record.id,jdbcType=NVARCHAR},
+      BRCUSERID = #{record.brcuserid,jdbcType=NVARCHAR},
+      USERID = #{record.userid,jdbcType=NVARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.GyeeBraceletuser">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEBRACELETUSER
+    <set>
+      <if test="brcuserid != null">
+        BRCUSERID = #{brcuserid,jdbcType=NVARCHAR},
+      </if>
+      <if test="userid != null">
+        USERID = #{userid,jdbcType=NVARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=NVARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.GyeeBraceletuser">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEBRACELETUSER
+    set BRCUSERID = #{brcuserid,jdbcType=NVARCHAR},
+      USERID = #{userid,jdbcType=NVARCHAR}
+    where ID = #{id,jdbcType=NVARCHAR}
+  </update>
+</mapper>

+ 276 - 0
src/main/resources/mybatis/auto/GyeeContactsMapper.xml

@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.GyeeContactsMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.GyeeContacts">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="NVARCHAR" property="id" />
+    <result column="USERID" jdbcType="NVARCHAR" property="userid" />
+    <result column="USERNAME" jdbcType="NVARCHAR" property="username" />
+    <result column="CONTID" jdbcType="NVARCHAR" property="contid" />
+    <result column="CONTNAME" jdbcType="NVARCHAR" property="contname" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, USERID, USERNAME, CONTID, CONTNAME
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.GyeeContactsExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from GYEECONTACTS
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from GYEECONTACTS
+    where ID = #{id,jdbcType=NVARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from GYEECONTACTS
+    where ID = #{id,jdbcType=NVARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.GyeeContactsExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from GYEECONTACTS
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.GyeeContacts">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into GYEECONTACTS (ID, USERID, USERNAME, 
+      CONTID, CONTNAME)
+    values (#{id,jdbcType=NVARCHAR}, #{userid,jdbcType=NVARCHAR}, #{username,jdbcType=NVARCHAR}, 
+      #{contid,jdbcType=NVARCHAR}, #{contname,jdbcType=NVARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.GyeeContacts">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into GYEECONTACTS
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="userid != null">
+        USERID,
+      </if>
+      <if test="username != null">
+        USERNAME,
+      </if>
+      <if test="contid != null">
+        CONTID,
+      </if>
+      <if test="contname != null">
+        CONTNAME,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=NVARCHAR},
+      </if>
+      <if test="userid != null">
+        #{userid,jdbcType=NVARCHAR},
+      </if>
+      <if test="username != null">
+        #{username,jdbcType=NVARCHAR},
+      </if>
+      <if test="contid != null">
+        #{contid,jdbcType=NVARCHAR},
+      </if>
+      <if test="contname != null">
+        #{contname,jdbcType=NVARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.GyeeContactsExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from GYEECONTACTS
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEECONTACTS
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.userid != null">
+        USERID = #{record.userid,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.username != null">
+        USERNAME = #{record.username,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.contid != null">
+        CONTID = #{record.contid,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.contname != null">
+        CONTNAME = #{record.contname,jdbcType=NVARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEECONTACTS
+    set ID = #{record.id,jdbcType=NVARCHAR},
+      USERID = #{record.userid,jdbcType=NVARCHAR},
+      USERNAME = #{record.username,jdbcType=NVARCHAR},
+      CONTID = #{record.contid,jdbcType=NVARCHAR},
+      CONTNAME = #{record.contname,jdbcType=NVARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.GyeeContacts">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEECONTACTS
+    <set>
+      <if test="userid != null">
+        USERID = #{userid,jdbcType=NVARCHAR},
+      </if>
+      <if test="username != null">
+        USERNAME = #{username,jdbcType=NVARCHAR},
+      </if>
+      <if test="contid != null">
+        CONTID = #{contid,jdbcType=NVARCHAR},
+      </if>
+      <if test="contname != null">
+        CONTNAME = #{contname,jdbcType=NVARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=NVARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.GyeeContacts">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEECONTACTS
+    set USERID = #{userid,jdbcType=NVARCHAR},
+      USERNAME = #{username,jdbcType=NVARCHAR},
+      CONTID = #{contid,jdbcType=NVARCHAR},
+      CONTNAME = #{contname,jdbcType=NVARCHAR}
+    where ID = #{id,jdbcType=NVARCHAR}
+  </update>
+
+  <select id="queryGyeeContactsByUserId" parameterType="java.lang.String" resultType="com.gyee.frame.model.auto.GyeeContacts">
+
+    select  * from GYEECONTACTS  where userid = #{userid}
+  </select>
+</mapper>

+ 318 - 0
src/main/resources/mybatis/auto/GyeePermissionMapper.xml

@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.GyeePermissionMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.GyeePermission">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="NVARCHAR" property="id" />
+    <result column="PERMISSSIONLEVEL" jdbcType="NVARCHAR" property="permisssionlevel" />
+    <result column="PERMISSSIONNAME" jdbcType="NVARCHAR" property="permisssionname" />
+    <result column="DESCRIBES" jdbcType="NVARCHAR" property="describes" />
+    <result column="REMARK1" jdbcType="NVARCHAR" property="remark1" />
+    <result column="REMARK2" jdbcType="NVARCHAR" property="remark2" />
+    <result column="PARENT" jdbcType="NVARCHAR" property="parent" />
+    <result column="ISABLE" jdbcType="NVARCHAR" property="isable" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, PERMISSSIONLEVEL, PERMISSSIONNAME, DESCRIBES, REMARK1, REMARK2, PARENT, ISABLE
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.GyeePermissionExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from GYEEPERMISSION
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from GYEEPERMISSION
+    where ID = #{id,jdbcType=NVARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from GYEEPERMISSION
+    where ID = #{id,jdbcType=NVARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.GyeePermissionExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from GYEEPERMISSION
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.GyeePermission">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into GYEEPERMISSION (ID, PERMISSSIONLEVEL, PERMISSSIONNAME, 
+      DESCRIBES, REMARK1, REMARK2, 
+      PARENT, ISABLE)
+    values (#{id,jdbcType=NVARCHAR}, #{permisssionlevel,jdbcType=NVARCHAR}, #{permisssionname,jdbcType=NVARCHAR}, 
+      #{describes,jdbcType=NVARCHAR}, #{remark1,jdbcType=NVARCHAR}, #{remark2,jdbcType=NVARCHAR}, 
+      #{parent,jdbcType=NVARCHAR}, #{isable,jdbcType=NVARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.GyeePermission">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into GYEEPERMISSION
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="permisssionlevel != null">
+        PERMISSSIONLEVEL,
+      </if>
+      <if test="permisssionname != null">
+        PERMISSSIONNAME,
+      </if>
+      <if test="describes != null">
+        DESCRIBES,
+      </if>
+      <if test="remark1 != null">
+        REMARK1,
+      </if>
+      <if test="remark2 != null">
+        REMARK2,
+      </if>
+      <if test="parent != null">
+        PARENT,
+      </if>
+      <if test="isable != null">
+        ISABLE,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=NVARCHAR},
+      </if>
+      <if test="permisssionlevel != null">
+        #{permisssionlevel,jdbcType=NVARCHAR},
+      </if>
+      <if test="permisssionname != null">
+        #{permisssionname,jdbcType=NVARCHAR},
+      </if>
+      <if test="describes != null">
+        #{describes,jdbcType=NVARCHAR},
+      </if>
+      <if test="remark1 != null">
+        #{remark1,jdbcType=NVARCHAR},
+      </if>
+      <if test="remark2 != null">
+        #{remark2,jdbcType=NVARCHAR},
+      </if>
+      <if test="parent != null">
+        #{parent,jdbcType=NVARCHAR},
+      </if>
+      <if test="isable != null">
+        #{isable,jdbcType=NVARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.GyeePermissionExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from GYEEPERMISSION
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEPERMISSION
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.permisssionlevel != null">
+        PERMISSSIONLEVEL = #{record.permisssionlevel,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.permisssionname != null">
+        PERMISSSIONNAME = #{record.permisssionname,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.describes != null">
+        DESCRIBES = #{record.describes,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.remark1 != null">
+        REMARK1 = #{record.remark1,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.remark2 != null">
+        REMARK2 = #{record.remark2,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.parent != null">
+        PARENT = #{record.parent,jdbcType=NVARCHAR},
+      </if>
+      <if test="record.isable != null">
+        ISABLE = #{record.isable,jdbcType=NVARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEPERMISSION
+    set ID = #{record.id,jdbcType=NVARCHAR},
+      PERMISSSIONLEVEL = #{record.permisssionlevel,jdbcType=NVARCHAR},
+      PERMISSSIONNAME = #{record.permisssionname,jdbcType=NVARCHAR},
+      DESCRIBES = #{record.describes,jdbcType=NVARCHAR},
+      REMARK1 = #{record.remark1,jdbcType=NVARCHAR},
+      REMARK2 = #{record.remark2,jdbcType=NVARCHAR},
+      PARENT = #{record.parent,jdbcType=NVARCHAR},
+      ISABLE = #{record.isable,jdbcType=NVARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.GyeePermission">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEPERMISSION
+    <set>
+      <if test="permisssionlevel != null">
+        PERMISSSIONLEVEL = #{permisssionlevel,jdbcType=NVARCHAR},
+      </if>
+      <if test="permisssionname != null">
+        PERMISSSIONNAME = #{permisssionname,jdbcType=NVARCHAR},
+      </if>
+      <if test="describes != null">
+        DESCRIBES = #{describes,jdbcType=NVARCHAR},
+      </if>
+      <if test="remark1 != null">
+        REMARK1 = #{remark1,jdbcType=NVARCHAR},
+      </if>
+      <if test="remark2 != null">
+        REMARK2 = #{remark2,jdbcType=NVARCHAR},
+      </if>
+      <if test="parent != null">
+        PARENT = #{parent,jdbcType=NVARCHAR},
+      </if>
+      <if test="isable != null">
+        ISABLE = #{isable,jdbcType=NVARCHAR},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=NVARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.GyeePermission">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update GYEEPERMISSION
+    set PERMISSSIONLEVEL = #{permisssionlevel,jdbcType=NVARCHAR},
+      PERMISSSIONNAME = #{permisssionname,jdbcType=NVARCHAR},
+      DESCRIBES = #{describes,jdbcType=NVARCHAR},
+      REMARK1 = #{remark1,jdbcType=NVARCHAR},
+      REMARK2 = #{remark2,jdbcType=NVARCHAR},
+      PARENT = #{parent,jdbcType=NVARCHAR},
+      ISABLE = #{isable,jdbcType=NVARCHAR}
+    where ID = #{id,jdbcType=NVARCHAR}
+  </update>
+</mapper>

+ 316 - 0
src/main/resources/mybatis/auto/ShbraceletpointMapper.xml

@@ -0,0 +1,316 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.ShbraceletpointMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Shbraceletpoint">
+    <result column="id" jdbcType="VARCHAR" property="id" />
+    <result column="key" jdbcType="VARCHAR" property="key" />
+    <result column="value" jdbcType="VARCHAR" property="value" />
+    <result column="ts" jdbcType="BIGINT" property="ts" />
+    <result column="status" jdbcType="VARCHAR" property="status" />
+    <result column="type" jdbcType="VARCHAR" property="type" />
+    <result column="time" jdbcType="VARCHAR" property="time" />
+    <result column="describe" jdbcType="VARCHAR" property="describe" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+<sql id="Base_Column_List">
+	  	  	      	id,
+       	  	      	key,
+       	  	      	value,
+       	  	      	ts,
+       	  	      	status,
+       	  	      	type,
+       	  	      	time,
+       	  	    	describe
+       	</sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.ShbraceletpointExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from shbraceletpoint
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from shbraceletpoint
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from shbraceletpoint
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.ShbraceletpointExample">
+    delete from shbraceletpoint
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
+    insert into shbraceletpoint (
+      	  	       id,
+       	  	       key,
+       	  	       value,
+       	  	       ts,
+       	  	       status,
+       	  	       type,
+       	  	       time,
+       	  	    	  describe
+       	    )
+    values (
+	  	  	      	#{id,jdbcType=VARCHAR},
+       	  	      	#{key,jdbcType=VARCHAR},
+       	  	      	#{value,jdbcType=VARCHAR},
+       	  	      	#{ts,jdbcType=BIGINT},
+       	  	      	#{status,jdbcType=VARCHAR},
+       	  	      	#{type,jdbcType=VARCHAR},
+       	  	      	#{time,jdbcType=VARCHAR},
+       	  	    	  #{describe,jdbcType=VARCHAR}
+       	    )
+  </insert>
+  
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
+    insert into shbraceletpoint
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+          
+      <if test="id != null">
+        id,
+      </if>
+      
+         
+      <if test="key != null">
+        key,
+      </if>
+      
+         
+      <if test="value != null">
+        value,
+      </if>
+      
+         
+      <if test="ts != null">
+        ts,
+      </if>
+      
+         
+      <if test="status != null">
+        status,
+      </if>
+      
+         
+      <if test="type != null">
+        type,
+      </if>
+      
+         
+      <if test="time != null">
+        time,
+      </if>
+      
+         
+      <if test="describe != null">
+        describe,
+      </if>
+      
+         </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+          <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+          <if test="key != null">
+        #{key,jdbcType=VARCHAR},
+      </if>
+          <if test="value != null">
+        #{value,jdbcType=VARCHAR},
+      </if>
+          <if test="ts != null">
+        #{ts,jdbcType=BIGINT},
+      </if>
+          <if test="status != null">
+        #{status,jdbcType=VARCHAR},
+      </if>
+          <if test="type != null">
+        #{type,jdbcType=VARCHAR},
+      </if>
+          <if test="time != null">
+        #{time,jdbcType=VARCHAR},
+      </if>
+          <if test="describe != null">
+        #{describe,jdbcType=VARCHAR},
+      </if>
+        </trim>
+  </insert>
+  
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.ShbraceletpointExample" resultType="java.lang.Long">
+    select count(*) from shbraceletpoint
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  
+  <update id="updateByExampleSelective" parameterType="map">
+    update shbraceletpoint
+    <set>
+          <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+          <if test="record.key != null">
+        key = #{record.key,jdbcType=VARCHAR},
+      </if>
+          <if test="record.value != null">
+        value = #{record.value,jdbcType=VARCHAR},
+      </if>
+          <if test="record.ts != null">
+        ts = #{record.ts,jdbcType=BIGINT},
+      </if>
+          <if test="record.status != null">
+        status = #{record.status,jdbcType=VARCHAR},
+      </if>
+          <if test="record.type != null">
+        type = #{record.type,jdbcType=VARCHAR},
+      </if>
+          <if test="record.time != null">
+        time = #{record.time,jdbcType=VARCHAR},
+      </if>
+          <if test="record.describe != null">
+        describe = #{record.describe,jdbcType=VARCHAR},
+      </if>
+         
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  
+  
+  <update id="updateByExample" parameterType="map">
+    update shbraceletpoint
+    set
+            	     	 id = #{record.id,jdbcType=VARCHAR},
+    	         	     	 key = #{record.key,jdbcType=VARCHAR},
+    	         	     	 value = #{record.value,jdbcType=VARCHAR},
+    	         	     	 ts = #{record.ts,jdbcType=BIGINT},
+    	         	     	 status = #{record.status,jdbcType=VARCHAR},
+    	         	     	 type = #{record.type,jdbcType=VARCHAR},
+    	         	     	 time = #{record.time,jdbcType=VARCHAR},
+    	         	     	 describe = #{record.describe,jdbcType=VARCHAR}
+    	         <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  
+  
+      <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
+    update shbraceletpoint
+    <set>
+                          <if test="key != null">
+        key = #{key,jdbcType=VARCHAR},
+      </if>
+                      <if test="value != null">
+        value = #{value,jdbcType=VARCHAR},
+      </if>
+                      <if test="ts != null">
+        ts = #{ts,jdbcType=BIGINT},
+      </if>
+                      <if test="status != null">
+        status = #{status,jdbcType=VARCHAR},
+      </if>
+                      <if test="type != null">
+        type = #{type,jdbcType=VARCHAR},
+      </if>
+                      <if test="time != null">
+        time = #{time,jdbcType=VARCHAR},
+      </if>
+                      <if test="describe != null">
+        describe = #{describe,jdbcType=VARCHAR},
+      </if>
+              </set>
+    where 
+            id = #{id,jdbcType=VARCHAR}
+                                                                  
+  </update>
+
+      	      	   	      	   	      	   	      	   	      	   	      	   	      	   	      	
+
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Shbraceletpoint">
+    update shbraceletpoint
+    set 
+             	        	    	 			key = #{key,jdbcType=VARCHAR},
+		     	        	    	 			value = #{value,jdbcType=VARCHAR},
+		     	        	    	 			ts = #{ts,jdbcType=BIGINT},
+		     	        	    	 			status = #{status,jdbcType=VARCHAR},
+		     	        	    	 			type = #{type,jdbcType=VARCHAR},
+		     	        	    	 			time = #{time,jdbcType=VARCHAR},
+		     	        	    	 			describe = #{describe,jdbcType=VARCHAR}
+		     	        where 
+            id = #{id,jdbcType=VARCHAR}
+                                                                    
+  </update>
+  
+                                            
+</mapper>

+ 336 - 0
src/main/resources/mybatis/auto/WeatherfhMapper.xml

@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.frame.mapper.auto.WeatherfhMapper">
+  <resultMap id="BaseResultMap" type="com.gyee.frame.model.auto.Weatherfh">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <id column="ID" jdbcType="DECIMAL" property="id" />
+    <result column="RECODEDATA" jdbcType="TIMESTAMP" property="recodedata" />
+    <result column="REGION" jdbcType="VARCHAR" property="region" />
+    <result column="WINDPOWERSTATIONID" jdbcType="VARCHAR" property="windpowerstationid" />
+    <result column="WEATHER" jdbcType="VARCHAR" property="weather" />
+    <result column="TEMPERATURE" jdbcType="DECIMAL" property="temperature" />
+    <result column="REALFEEL" jdbcType="DECIMAL" property="realfeel" />
+    <result column="WINDDIRECTION" jdbcType="VARCHAR" property="winddirection" />
+    <result column="SPEED" jdbcType="DECIMAL" property="speed" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    ID, RECODEDATA, REGION, WINDPOWERSTATIONID, WEATHER, TEMPERATURE, REALFEEL, WINDDIRECTION, 
+    SPEED
+  </sql>
+  <select id="selectByExample" parameterType="com.gyee.frame.model.auto.WeatherfhExample" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from WEATHERFH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select 
+    <include refid="Base_Column_List" />
+    from WEATHERFH
+    where ID = #{id,jdbcType=DECIMAL}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WEATHERFH
+    where ID = #{id,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.gyee.frame.model.auto.WeatherfhExample">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    delete from WEATHERFH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.gyee.frame.model.auto.Weatherfh">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WEATHERFH (ID, RECODEDATA, REGION, 
+      WINDPOWERSTATIONID, WEATHER, TEMPERATURE, 
+      REALFEEL, WINDDIRECTION, SPEED
+      )
+    values (#{id,jdbcType=DECIMAL}, #{recodedata,jdbcType=TIMESTAMP}, #{region,jdbcType=VARCHAR}, 
+      #{windpowerstationid,jdbcType=VARCHAR}, #{weather,jdbcType=VARCHAR}, #{temperature,jdbcType=DECIMAL}, 
+      #{realfeel,jdbcType=DECIMAL}, #{winddirection,jdbcType=VARCHAR}, #{speed,jdbcType=DECIMAL}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.gyee.frame.model.auto.Weatherfh">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    insert into WEATHERFH
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        ID,
+      </if>
+      <if test="recodedata != null">
+        RECODEDATA,
+      </if>
+      <if test="region != null">
+        REGION,
+      </if>
+      <if test="windpowerstationid != null">
+        WINDPOWERSTATIONID,
+      </if>
+      <if test="weather != null">
+        WEATHER,
+      </if>
+      <if test="temperature != null">
+        TEMPERATURE,
+      </if>
+      <if test="realfeel != null">
+        REALFEEL,
+      </if>
+      <if test="winddirection != null">
+        WINDDIRECTION,
+      </if>
+      <if test="speed != null">
+        SPEED,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=DECIMAL},
+      </if>
+      <if test="recodedata != null">
+        #{recodedata,jdbcType=TIMESTAMP},
+      </if>
+      <if test="region != null">
+        #{region,jdbcType=VARCHAR},
+      </if>
+      <if test="windpowerstationid != null">
+        #{windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="weather != null">
+        #{weather,jdbcType=VARCHAR},
+      </if>
+      <if test="temperature != null">
+        #{temperature,jdbcType=DECIMAL},
+      </if>
+      <if test="realfeel != null">
+        #{realfeel,jdbcType=DECIMAL},
+      </if>
+      <if test="winddirection != null">
+        #{winddirection,jdbcType=VARCHAR},
+      </if>
+      <if test="speed != null">
+        #{speed,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.gyee.frame.model.auto.WeatherfhExample" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    select count(*) from WEATHERFH
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WEATHERFH
+    <set>
+      <if test="record.id != null">
+        ID = #{record.id,jdbcType=DECIMAL},
+      </if>
+      <if test="record.recodedata != null">
+        RECODEDATA = #{record.recodedata,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.region != null">
+        REGION = #{record.region,jdbcType=VARCHAR},
+      </if>
+      <if test="record.windpowerstationid != null">
+        WINDPOWERSTATIONID = #{record.windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.weather != null">
+        WEATHER = #{record.weather,jdbcType=VARCHAR},
+      </if>
+      <if test="record.temperature != null">
+        TEMPERATURE = #{record.temperature,jdbcType=DECIMAL},
+      </if>
+      <if test="record.realfeel != null">
+        REALFEEL = #{record.realfeel,jdbcType=DECIMAL},
+      </if>
+      <if test="record.winddirection != null">
+        WINDDIRECTION = #{record.winddirection,jdbcType=VARCHAR},
+      </if>
+      <if test="record.speed != null">
+        SPEED = #{record.speed,jdbcType=DECIMAL},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WEATHERFH
+    set ID = #{record.id,jdbcType=DECIMAL},
+      RECODEDATA = #{record.recodedata,jdbcType=TIMESTAMP},
+      REGION = #{record.region,jdbcType=VARCHAR},
+      WINDPOWERSTATIONID = #{record.windpowerstationid,jdbcType=VARCHAR},
+      WEATHER = #{record.weather,jdbcType=VARCHAR},
+      TEMPERATURE = #{record.temperature,jdbcType=DECIMAL},
+      REALFEEL = #{record.realfeel,jdbcType=DECIMAL},
+      WINDDIRECTION = #{record.winddirection,jdbcType=VARCHAR},
+      SPEED = #{record.speed,jdbcType=DECIMAL}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.gyee.frame.model.auto.Weatherfh">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WEATHERFH
+    <set>
+      <if test="recodedata != null">
+        RECODEDATA = #{recodedata,jdbcType=TIMESTAMP},
+      </if>
+      <if test="region != null">
+        REGION = #{region,jdbcType=VARCHAR},
+      </if>
+      <if test="windpowerstationid != null">
+        WINDPOWERSTATIONID = #{windpowerstationid,jdbcType=VARCHAR},
+      </if>
+      <if test="weather != null">
+        WEATHER = #{weather,jdbcType=VARCHAR},
+      </if>
+      <if test="temperature != null">
+        TEMPERATURE = #{temperature,jdbcType=DECIMAL},
+      </if>
+      <if test="realfeel != null">
+        REALFEEL = #{realfeel,jdbcType=DECIMAL},
+      </if>
+      <if test="winddirection != null">
+        WINDDIRECTION = #{winddirection,jdbcType=VARCHAR},
+      </if>
+      <if test="speed != null">
+        SPEED = #{speed,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ID = #{id,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.gyee.frame.model.auto.Weatherfh">
+    <!--
+      WARNING - @mbg.generated
+      This element is automatically generated by MyBatis Generator, do not modify.
+    -->
+    update WEATHERFH
+    set RECODEDATA = #{recodedata,jdbcType=TIMESTAMP},
+      REGION = #{region,jdbcType=VARCHAR},
+      WINDPOWERSTATIONID = #{windpowerstationid,jdbcType=VARCHAR},
+      WEATHER = #{weather,jdbcType=VARCHAR},
+      TEMPERATURE = #{temperature,jdbcType=DECIMAL},
+      REALFEEL = #{realfeel,jdbcType=DECIMAL},
+      WINDDIRECTION = #{winddirection,jdbcType=VARCHAR},
+      SPEED = #{speed,jdbcType=DECIMAL}
+    where ID = #{id,jdbcType=DECIMAL}
+  </update>
+</mapper>

+ 187 - 0
src/main/resources/templates/gen/shbraceletpoint/add.html

@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" 
+      xmlns:sec="http://www.pollix.at/thymeleaf/shiro">
+<head th:replace="admin/common/html/tableHead :: head(~{::title},~{::link},~{::style})">
+
+<title th:text=${title}></title>
+<!-- 这儿引用单独的css link -->
+<!-- Ladda for Bootstrap 3按钮加载进度插件 -->
+<link rel="stylesheet" th:href="@{/static/admin/assets/js/button/ladda/ladda.min.css}">
+<!-- bootstrap-table表单样式 -->
+<link th:href="@{/static/admin/assets/js/bootstrap/css/bootstrap-table/bootstrap-table.min.css}" rel="stylesheet"/>
+<!-- 用户界面自定义css -->
+<link th:href="@{/static/admin/user/css/user-add.css}" rel="stylesheet"/>
+<style type="text/css"></style>
+</head>
+
+<body>
+
+<div class="content-wrap">
+	<div class="row">
+		<div class="col-sm-12">
+			<div class="nest" id="elementClose">
+				<div class="">
+				</div>
+				<div class="body-nest" id="element">
+					<div class="panel-body">
+						<form  class="form-horizontal m" id="form-add">
+						
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="key" name="key"/>
+										</div>
+									</div>
+									
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="value" name="value"/>
+										</div>
+									</div>
+									
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="ts" name="ts"/>
+										</div>
+									</div>
+									
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="status" name="status"/>
+										</div>
+									</div>
+									
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="type" name="type"/>
+										</div>
+									</div>
+									
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="time" name="time"/>
+										</div>
+									</div>
+									
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="describe" name="describe"/>
+										</div>
+									</div>
+									
+			
+									<div class="form-group">
+										<div class="form-control-static col-sm-offset-9">
+											<button type="submit" class="btn btn-primary">提交</button>
+											<button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
+										</div>
+									</div>
+						 </form>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+<!-- 通用js -->
+<div th:include="admin/common/html/js :: onload_js">
+   
+</div>
+<!-- bootstarp 表格 -->
+<script th:src="@{/static/admin/assets/js/bootstrap/js/bootstrap-table/bootstrap-table.min.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/js/bootstrap-table/locale/bootstrap-table-zh-CN.min.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/js/base_list.js}" type="text/javascript"></script>
+
+
+<!-- 弹窗 -->
+<script  th:src="@{/static/admin/assets/js/layer/layer.js}" type="text/javascript"></script>
+<!-- 遮罩层 -->
+<script  th:src="@{/static/admin/assets/js/blockUI/jquery.blockUI.js}" type="text/javascript"></script>
+<!-- jqueryForm序列化 -->
+<script  th:src="@{/static/js/jqueryFormSerializeJson.js}" type="text/javascript"></script>
+<script type="text/javascript">
+
+$(function(){
+	 $(".MyDate").datetimepicker({
+		 	format: "yyyy-mm-dd hh:00:00",
+	        startDate: new Date(),
+	        autoclose: true,
+	        todayBtn: true,
+	        language: 'zh-CN',
+	        initialDate:new Date(),
+	        minView: 1      
+	    });
+	
+})
+
+
+$("#form-add").validate({
+	rules:{
+		ts:{
+			required:true,
+			minlength: 2,
+			maxlength: 20,
+			remote: {
+                url: rootPath + "/ShbraceletpointController/checkNameUnique",
+                type: "post",
+                dataType: "json",
+                dataFilter: function(data, type) {
+                    if (data == "0")
+                    	return true;
+                    else 
+                    	return false;
+                }
+            }
+		}
+	},
+	messages: {
+        "ts": {
+            remote: "已经存在"
+        }
+    },
+	submitHandler:function(form){
+		add();
+	}
+});
+
+/**
+ * 用户添加方法
+ */
+function add() {
+	var dataFormJson=$("#form-add").serialize();
+	$.ajax({
+		cache : true,
+		type : "POST",
+		url : rootPath + "/ShbraceletpointController/add",
+		data : dataFormJson,
+		async : false,
+		error : function(request) {
+			$.modal.alertError("系统错误");
+		},
+		success : function(data) {
+			$.operate.saveSuccess(data);
+		}
+	});
+}
+
+
+</script>
+
+
+</body>
+
+
+</html>

+ 158 - 0
src/main/resources/templates/gen/shbraceletpoint/edit.html

@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" 
+      xmlns:sec="http://www.pollix.at/thymeleaf/shiro">
+<head th:replace="admin/common/html/tableHead :: tableHead(~{::title},~{::link},~{::style})">
+
+<title th:text=${title}></title>
+<!-- 这儿引用单独的css link -->
+<!-- Ladda for Bootstrap 3按钮加载进度插件 -->
+<link rel="stylesheet" th:href="@{/static/admin/assets/js/button/ladda/ladda.min.css}">
+<!-- bootstrap-table表单样式 -->
+<link th:href="@{/static/admin/assets/js/bootstrap/css/bootstrap-table/bootstrap-table.min.css}" rel="stylesheet"/>
+
+<!-- 用户界面自定义css -->
+<link th:href="@{/static/admin/user/css/user-add.css}" rel="stylesheet"/>
+<style type="text/css"></style>
+
+</head>
+
+<body>
+      	   	      	      	      	      	      	      	      	      
+<div class="content-wrap">
+	<div class="row">
+		<div class="col-sm-12">
+			<div class="nest" id="elementClose">
+				<div class="">
+				</div>
+				<div class="body-nest" id="element">
+					<div class="panel-body">
+						<form  class="form-horizontal m" id="form-edit" th:object="${Shbraceletpoint}">
+							<input id="id" name="id" type="hidden" th:field="*{id}"/>
+						
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="key" name="key" th:value="*{key}"/>
+										</div>
+									</div>
+
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="value" name="value" th:value="*{value}"/>
+										</div>
+									</div>
+
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="ts" name="ts" th:value="*{ts}"/>
+										</div>
+									</div>
+
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="status" name="status" th:value="*{status}"/>
+										</div>
+									</div>
+
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="type" name="type" th:value="*{type}"/>
+										</div>
+									</div>
+
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="time" name="time" th:value="*{time}"/>
+										</div>
+									</div>
+
+								
+									<div class="form-group">
+										<label class="col-sm-3 control-label ">:</label>
+										<div class="col-sm-8">
+											<input class="form-control" type="text" id="describe" name="describe" th:value="*{describe}"/>
+										</div>
+									</div>
+
+			
+									<div class="form-group">
+										<div class="form-control-static col-sm-offset-9">
+											<button type="submit" class="btn btn-primary">提交</button>
+											<button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
+										</div>
+									</div>
+						</form>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+
+<!-- 通用js -->
+<div th:include="admin/common/html/js :: onload_js">
+   
+</div>
+<!-- bootstarp 表格 -->
+<script th:src="@{/static/admin/assets/js/bootstrap/js/bootstrap-table/bootstrap-table.min.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/js/bootstrap-table/locale/bootstrap-table-zh-CN.min.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/js/base_list.js}" type="text/javascript"></script>
+
+
+<!-- 弹窗 -->
+<script th:src="@{/static/admin/assets/js/layer/layer.js}" type="text/javascript"></script>
+<!-- 遮罩层 -->
+<script th:src="@{/static/admin/assets/js/blockUI/jquery.blockUI.js}" type="text/javascript"></script>
+<script type="text/javascript">
+$(function(){
+	 $(".MyDate").datetimepicker({
+		 	format: "yyyy-mm-dd hh:00:00",
+	        startDate: new Date(),
+	        autoclose: true,
+	        todayBtn: true,
+	        language: 'zh-CN',
+	        initialDate:new Date(),
+	        minView: 1      
+	    });
+	
+})
+
+
+$("#form-edit").validate({
+	submitHandler : function(form) {
+		edit();
+	}
+});
+
+function edit() {
+	var dataFormJson = $("#form-edit").serialize();
+	$.ajax({
+		cache : true,
+		type : "POST",
+		url : rootPath + "/ShbraceletpointController/edit",
+		data : dataFormJson,
+		async : false,
+		error : function(request) {
+			$.modal.alertError("系统错误");
+		},
+		success : function(data) {
+			$.operate.saveSuccess(data);
+		}
+	});
+}
+</script>
+
+</body>
+
+
+</html>

+ 262 - 0
src/main/resources/templates/gen/shbraceletpoint/list.html

@@ -0,0 +1,262 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org" 
+      xmlns:sec="http://www.pollix.at/thymeleaf/shiro">
+<head th:replace="admin/common/html/head :: head_Normal(~{::title},~{::link},~{::style})">
+
+<title th:text=${title}></title>
+<!-- 这儿引用单独的css link -->
+<!-- Ladda for Bootstrap 3按钮加载进度插件 -->
+<link rel="stylesheet" th:href="@{/static/admin/assets/js/button/ladda/ladda.min.css}">
+<!-- bootstrap-table表单样式 -->
+<link th:href="@{/static/admin/assets/js/bootstrap/css/bootstrap-table/bootstrap-table.min.css}" rel="stylesheet"/>
+
+<style type="text/css">
+/**
+*这里写单独的css样式
+*/
+
+</style>
+
+</head>
+
+<body id="listbody">
+<!-- # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 代码编写处 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -->
+
+<!-- 右边内容 -->
+<div class="wrap-fluid">
+    <div class="container-fluid paper-wrap bevel tlbr">
+        <!-- 内容 -->
+        <!--标题 通用-->
+        <div th:replace="admin/common/html/title :: title(${title},${parenttitle},${isMsg},${msgHTML})">
+        </div>
+        <!-- 结束标题 通用-->
+        <div class="content-wrap">
+            <!-- 结束内容 -->
+            <div class="row">
+                <div class="col-sm-12">
+                <!-- 搜索条件 -->
+                
+                	 <div class="nest" id="inlineClose">
+                            <div class="title-alt">
+                                <h6>搜索条件</h6>
+                                <div class="titleClose">
+                                    <a class="gone" href="#inlineClose">
+                                        <span class="entypo-cancel"></span>
+                                    </a>
+                                </div>
+                                <div class="titleToggle">
+                                    <a class="nav-toggle-alt" href="#search_div" >
+                                        <span class="entypo-down-open"></span>
+                                    </a>
+                                </div>
+                            </div>
+
+                            <div class="body-nest" id="search_div" style="display: none">
+                                <div class="form_left">
+                                    <form role="form" class="form-inline">
+                                        <div class="form-group">
+                                            <label for="exampleInputEmail2" class="sr-only">搜索名字</label>
+                                            <input type="text" name="searchText" placeholder="搜索名字"class="form-control">
+                                        </div>
+                                        <button onclick="$.table.search(this)" class="btn btn-success" type="button"><i class="fa fa-search"></i>&nbsp;搜索</button>
+                                    </form>
+                                </div>
+                            </div>
+                        </div>
+                	<!-- END搜索条件 -->
+                    <!-- 空白页开始-->
+                    <div class="nest" id="Blank_PageClose">
+                        <div class="title-alt">
+                            <h6>表单</h6>
+                            <div class="titleClose">
+                                <a class="gone" href="#Blank_PageClose">
+                                    <span class="entypo-cancel"></span>
+                                </a>
+                            </div>
+                            <div class="titleToggle">
+                                <a class="nav-toggle-alt" href="#Blank_Page_Content">
+                                    <span class="entypo-up-open"></span>
+                                </a>
+                            </div>
+                        </div>
+                        
+                        <div class="body-nest" id="Blank_Page_Content">
+                            <!-- 工具条 -->
+                            <div class="btn-group hidden-xs" id="exampleTableEventsToolbar" role="group">
+                            	<button onclick="$.operate.add()" type="button" class="btn btn-primary">
+                                    <span class="entypo-plus-squared"></span>&nbsp;&nbsp;新增
+                                </button>
+                               <button onclick="$.operate.batRemove()" type="button" class="btn btn-info">
+                                    <span class="entypo-trash"></span>&nbsp;&nbsp;删除
+                               </button>
+                               
+                           </div>
+                            <!-- 工具条 end-->
+                           <table id="dataTable" class="table-striped footable-res footable metro-blue" data-page-size="6">
+                                   
+                           </table>
+                        </div>
+                    </div>
+                </div>
+                <!-- 空白页结束 -->
+            </div>
+            <!-- 结束内容 -->
+        </div>
+    </div>
+</div>
+<!-- 结束右边内容 -->
+<!-- # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 代码编写处 END# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -->
+
+
+
+
+
+
+
+<!-- 右侧隐藏滑块内容 -->
+<div th:include="admin/common/html/rightHide :: rightHide">
+    
+</div>
+   <!-- END 右侧隐藏滑块内容-->
+
+<!-- 通用js -->
+<div th:include="admin/common/html/js :: onload_js">
+   
+</div>
+<!-- bootstarp 表格 -->
+<script th:src="@{/static/admin/assets/js/bootstrap/js/bootstrap-table/bootstrap-table.min.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/js/bootstrap-table/locale/bootstrap-table-zh-CN.min.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/js/base_list.js}" type="text/javascript"></script>
+<!-- jquery-export 表格导出插件 -->
+<script th:src="@{/static/admin/assets/js/bootstrap/extensions/export/bootstrap-table-export.js}" type="text/javascript"></script>
+<script th:src="@{/static/admin/assets/js/bootstrap/extensions/export/tableExport.js}" type="text/javascript"></script>
+
+<!-- 弹窗 -->
+<script th:src="@{/static/admin/assets/js/layer/layer.js}" type="text/javascript"></script>
+<!-- 遮罩层 -->
+<script th:src="@{/static/admin/assets/js/blockUI/jquery.blockUI.js}" type="text/javascript"></script>
+
+<script type="text/javascript">
+
+      	   	      	      	      	      	      	      	      	      
+<!-- 导出 -->
+var dataUrl=window.rootPath+"/ShbraceletpointController/list";
+var removeUrl=window.rootPath+"/ShbraceletpointController/remove";
+var createUrl=window.rootPath+"/ShbraceletpointController/add";
+var updateUrl=window.rootPath+"/ShbraceletpointController/edit/{id}";
+var exportUrl=window.rootPath+"/ShbraceletpointController/export";
+  var options = {
+		dataUrl: dataUrl,
+        createUrl: createUrl,
+        updateUrl: updateUrl,
+        removeUrl:removeUrl,
+        exportUrl: exportUrl,
+        sortName: "roleSort",
+        modalName: "",
+        search: false,
+	   dataColumns: [
+			{
+			    checkbox: true
+			},
+			{
+			    field: 'id',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'key',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'value',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'ts',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'status',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'type',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'time',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+			{
+			    field: 'describe',
+			    title: ''
+			    //visible: false, //隐藏
+			    //searchable: false,//搜索
+			    //sortable:false,//设置true为允许列可以排序
+			    //order: asc //排序顺序
+			},
+
+/*	
+参照修改注释
+		{
+			    field: 'xxstate',
+			    title: 'xx状态',
+		    	formatter: function (value, row, index) {
+			        var actions = [];
+			        if(value==0){
+			        	 actions.push('<span class="label label-primary">关闭</span>');
+			        }else if(value==1){
+			        	 actions.push('<span class="label label-danger">开启</span>');
+			        }
+			      	return actions.join('');			    
+				 }
+			}
+*/
+			{
+			    title: '操作',
+			    formatter: function (value, row, index) {
+			        var id = row.id;
+			        var actions = [];
+			        actions.push('<a class="btn btn-success btn-xs"  href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+			        actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+			        return actions.join('');
+			    }
+			}]
+  };
+$(function(){
+	var oTab=$.table.oTableInit(options);
+	oTab.Init();
+})
+</script>
+
+</body>
+
+
+</html>