├── .mvn └── wrapper │ ├── maven-wrapper.jar │ ├── maven-wrapper.properties │ └── MavenWrapperDownloader.java ├── src ├── test │ └── java │ │ └── com │ │ └── example │ │ └── fastpickup │ │ └── FastpickupApplicationTests.java └── main │ ├── java │ └── com │ │ └── gigass │ │ ├── FastpickupApplication.java │ │ ├── task │ │ └── SchedulerTask.java │ │ ├── response │ │ ├── PageRequest.java │ │ ├── UnicomResponseEnums.java │ │ └── ResponseBean.java │ │ ├── pojo │ │ ├── FiddlerInfo.java │ │ └── FiddlerInfoExample.java │ │ ├── mapper │ │ └── FiddlerInfoMapper.java │ │ ├── constants │ │ └── DefaultProperties.java │ │ ├── controller │ │ └── FiddlerController.java │ │ ├── service │ │ └── FiddlerService.java │ │ └── util │ │ └── SendmailUtil.java │ └── resources │ ├── application.yml │ ├── generatorConfig.xml │ └── mapper │ └── FiddlerInfoMapper.xml ├── MyEmail.eml ├── .gitignore ├── pom.xml ├── mvnw.cmd └── mvnw /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gigass/fastPickUp/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /src/test/java/com/example/fastpickup/FastpickupApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.example.fastpickup; 2 | 3 | 4 | import org.junit.jupiter.api.Test; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | 7 | @SpringBootTest 8 | class FastpickupApplicationTests { 9 | 10 | @Test 11 | void contextLoads() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /MyEmail.eml: -------------------------------------------------------------------------------- 1 | Date: Mon, 8 Feb 2021 17:05:11 +0800 (CST) 2 | From: =?UTF-8?B?5L2g5aW977yB?= <1547654938@qq.com> 3 | Message-ID: <796180213.0.1612775114080.JavaMail.admin@DESKTOP-LGRFRGG> 4 | Subject: =?UTF-8?Q?=E9=97=B2=E9=B1=BC=E6=8D=A1=E6=BC=8F(RTX3070---5399=E5=85=83)?= 5 | MIME-Version: 1.0 6 | Content-Type: text/plain; charset=UTF-8 7 | Content-Transfer-Encoding: quoted-printable 8 | 9 | 10 | 11 | =E5=AE=98=E7=BD=91=EF=BC=9Ahttps://www.hbuecx.club 12 | =E6=97=B6=E9=97=B4=EF=BC=9A2021-02-08 17:05:11 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/FastpickupApplication.java: -------------------------------------------------------------------------------- 1 | package com.gigass; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.scheduling.annotation.EnableScheduling; 7 | 8 | @SpringBootApplication 9 | @EnableScheduling 10 | @MapperScan(basePackages = "com.gigass.mapper") 11 | public class FastpickupApplication { 12 | 13 | public static void main(String[] args) { 14 | SpringApplication.run(FastpickupApplication.class, args); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/task/SchedulerTask.java: -------------------------------------------------------------------------------- 1 | package com.gigass.task; 2 | 3 | import com.gigass.service.FiddlerService; 4 | import com.gigass.util.SendmailUtil; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.scheduling.annotation.Scheduled; 7 | import org.springframework.stereotype.Component; 8 | 9 | @Component 10 | public class SchedulerTask { 11 | @Autowired 12 | private FiddlerService fiddlerService; 13 | 14 | private int count = 0; 15 | 16 | // /** 17 | // * @Author yzc 18 | // * @Description 设置每6秒执行一次 19 | // * @Date 14:23 2019/1/24 20 | // * @Param 21 | // * @return void 22 | // **/ 23 | // @Scheduled(cron = "*/5 * * * * ?") 24 | // private void process(){ 25 | // fiddlerService.getAllFiddlerInfo(null); 26 | // } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 18888 3 | 4 | spring: 5 | datasource: 6 | username: root 7 | password: 1008610086 8 | url: jdbc:mysql://localhost:3306/fiddler?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC 9 | driver-class-name: com.mysql.cj.jdbc.Driver 10 | 11 | mybatis: 12 | mapper-locations: classpath:mapper/*.xml 13 | type-aliases-package: com.gigass.pojo 14 | configuration: 15 | log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 16 | 17 | # pagehelper 18 | pagehelper: 19 | helperDialect: mysql 20 | reasonable: true 21 | supportMethodsArguments: true 22 | params: count=countSql 23 | 24 | fast-pickUp-config: 25 | #发件人 26 | my-email-SMTP-host: smtp.qq.com 27 | my-email-account: xxx@qq.com 28 | my-email-password: xxx 29 | #收件人 30 | to-email-account: xxx@qq.com -------------------------------------------------------------------------------- /src/main/java/com/gigass/response/PageRequest.java: -------------------------------------------------------------------------------- 1 | package com.gigass.response; 2 | 3 | 4 | /** 5 | * 分页请求 6 | */ 7 | public class PageRequest { 8 | /** 9 | * 当前页码 10 | */ 11 | private int pageNum; 12 | /** 13 | * 每页数量 14 | */ 15 | private int pageSize; 16 | 17 | public int getPageNum() { 18 | return pageNum==0? 1:pageNum; 19 | } 20 | public void setPageNum(int pageNum) { 21 | this.pageNum = pageNum; 22 | } 23 | public int getPageSize() { 24 | return pageSize==0? 20 :pageSize; 25 | } 26 | public void setPageSize(int pageSize) { 27 | this.pageSize = pageSize; 28 | } 29 | 30 | public PageRequest(int pageNum, int pageSize) { 31 | this.pageNum = pageNum==0? 1:pageNum; 32 | this.pageSize = pageSize==0? 20:pageSize; 33 | } 34 | 35 | public PageRequest() { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/pojo/FiddlerInfo.java: -------------------------------------------------------------------------------- 1 | package com.gigass.pojo; 2 | 3 | import java.util.Date; 4 | 5 | public class FiddlerInfo { 6 | private Integer series; 7 | 8 | private String isread; 9 | 10 | private Date creatTime; 11 | 12 | private Date upTime; 13 | 14 | private String detail; 15 | 16 | public Integer getSeries() { 17 | return series; 18 | } 19 | 20 | public void setSeries(Integer series) { 21 | this.series = series; 22 | } 23 | 24 | public String getIsread() { 25 | return isread; 26 | } 27 | 28 | public void setIsread(String isread) { 29 | this.isread = isread; 30 | } 31 | 32 | public Date getCreatTime() { 33 | return creatTime; 34 | } 35 | 36 | public void setCreatTime(Date creatTime) { 37 | this.creatTime = creatTime; 38 | } 39 | 40 | public Date getUpTime() { 41 | return upTime; 42 | } 43 | 44 | public void setUpTime(Date upTime) { 45 | this.upTime = upTime; 46 | } 47 | 48 | public String getDetail() { 49 | return detail; 50 | } 51 | 52 | public void setDetail(String detail) { 53 | this.detail = detail; 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/com/gigass/mapper/FiddlerInfoMapper.java: -------------------------------------------------------------------------------- 1 | package com.gigass.mapper; 2 | 3 | import com.gigass.pojo.FiddlerInfo; 4 | import com.gigass.pojo.FiddlerInfoExample; 5 | import java.util.List; 6 | import org.apache.ibatis.annotations.Param; 7 | import org.springframework.stereotype.Repository; 8 | 9 | @Repository 10 | public interface FiddlerInfoMapper { 11 | int countByExample(FiddlerInfoExample example); 12 | 13 | int deleteByExample(FiddlerInfoExample example); 14 | 15 | int deleteByPrimaryKey(Integer series); 16 | 17 | int insert(FiddlerInfo record); 18 | 19 | int insertSelective(FiddlerInfo record); 20 | 21 | List selectByExampleWithBLOBs(FiddlerInfoExample example); 22 | 23 | List selectByExample(FiddlerInfoExample example); 24 | 25 | FiddlerInfo selectByPrimaryKey(Integer series); 26 | 27 | int updateByExampleSelective(@Param("record") FiddlerInfo record, @Param("example") FiddlerInfoExample example); 28 | 29 | int updateByExampleWithBLOBs(@Param("record") FiddlerInfo record, @Param("example") FiddlerInfoExample example); 30 | 31 | int updateByExample(@Param("record") FiddlerInfo record, @Param("example") FiddlerInfoExample example); 32 | 33 | int updateByPrimaryKeySelective(FiddlerInfo record); 34 | 35 | int updateByPrimaryKeyWithBLOBs(FiddlerInfo record); 36 | 37 | int updateByPrimaryKey(FiddlerInfo record); 38 | } -------------------------------------------------------------------------------- /src/main/java/com/gigass/constants/DefaultProperties.java: -------------------------------------------------------------------------------- 1 | package com.gigass.constants; 2 | 3 | import org.springframework.beans.factory.annotation.Value; 4 | import org.springframework.boot.context.properties.ConfigurationProperties; 5 | import org.springframework.stereotype.Component; 6 | 7 | 8 | /*** 9 | * baseConfig相关配置参数 10 | */ 11 | @Component 12 | @ConfigurationProperties(prefix = "com.gigass.constants") 13 | public class DefaultProperties { 14 | 15 | public static String myEmailSMTPHost; 16 | 17 | public static String myEmailAccount; 18 | 19 | public static String myEmailPassword; 20 | 21 | 22 | 23 | @Value("${fast-pickUp-config.my-email-SMTP-host}") 24 | public void setMyEmailSMTPHost(String myEmailSMTPHost) { 25 | DefaultProperties.myEmailSMTPHost = myEmailSMTPHost; 26 | } 27 | public static String getMyEmailSMTPHost() { 28 | return myEmailSMTPHost; 29 | } 30 | 31 | 32 | @Value("${fast-pickUp-config.my-email-account}") 33 | public void setMyEmailAccount(String myEmailAccount) { 34 | DefaultProperties.myEmailAccount = myEmailAccount; 35 | } 36 | public static String getMyEmailAccount() { 37 | return myEmailAccount; 38 | } 39 | 40 | @Value("${fast-pickUp-config.my-email-password}") 41 | public void setMyEmailPassword(String myEmailPassword) { 42 | DefaultProperties.myEmailPassword = myEmailPassword; 43 | } 44 | public static String getMyEmailPassword() { 45 | return myEmailPassword; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/controller/FiddlerController.java: -------------------------------------------------------------------------------- 1 | package com.gigass.controller; 2 | 3 | 4 | import com.gigass.response.ResponseBean; 5 | import com.gigass.service.FiddlerService; 6 | import com.gigass.response.PageRequest; 7 | import com.github.pagehelper.PageInfo; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.web.bind.annotation.PostMapping; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RequestParam; 12 | import org.springframework.web.bind.annotation.RestController; 13 | 14 | @RestController 15 | @RequestMapping("/fiddler") 16 | public class FiddlerController { 17 | @Autowired 18 | private FiddlerService fiddlerService; 19 | 20 | @PostMapping("/savePostInfos") 21 | public ResponseBean savePostInfos(@RequestParam(value = "params", required = false) String params) { 22 | int count=fiddlerService.savePostInfos(params); 23 | return count>0?new ResponseBean(false):new ResponseBean(true); 24 | } 25 | 26 | @PostMapping("/ChangeReadInfo") 27 | public ResponseBean CRPostInfo(@RequestParam(value = "series", required = true) Integer series) { 28 | int count=fiddlerService.CRPostInfo(series); 29 | return count>0?new ResponseBean(false):new ResponseBean(true); 30 | } 31 | @PostMapping("/getAllFiddlerInfo") 32 | public ResponseBean getAllFiddlerInfo(@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize,@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "isRead", defaultValue = "0") String isRead) { 33 | PageRequest pageRequest = new PageRequest(pageNum, pageSize); 34 | PageInfo info =fiddlerService.getAllFiddlerInfo(pageRequest,isRead); 35 | 36 | return new ResponseBean(true,info); 37 | } 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/resources/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
38 |
39 |
-------------------------------------------------------------------------------- /src/main/java/com/gigass/service/FiddlerService.java: -------------------------------------------------------------------------------- 1 | package com.gigass.service; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.gigass.mapper.FiddlerInfoMapper; 5 | import com.gigass.pojo.FiddlerInfo; 6 | import com.gigass.pojo.FiddlerInfoExample; 7 | import com.gigass.response.PageRequest; 8 | import com.gigass.util.SendmailUtil; 9 | import com.github.pagehelper.PageHelper; 10 | import com.github.pagehelper.PageInfo; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.beans.factory.annotation.Value; 13 | import org.springframework.stereotype.Service; 14 | 15 | import java.util.Date; 16 | import java.util.List; 17 | 18 | @Service 19 | public class FiddlerService { 20 | @Value("${fast-pickUp-config.to-email-account}") 21 | private String toEmail; 22 | 23 | @Autowired 24 | private FiddlerInfoMapper fiddlerInfoMapper; 25 | 26 | public int savePostInfos(String params) { 27 | FiddlerInfo record=new FiddlerInfo(); 28 | record.setCreatTime(new Date()); 29 | record.setIsread("0"); 30 | record.setDetail(params); 31 | int c=fiddlerInfoMapper.insertSelective(record); 32 | try { 33 | SendmailUtil.sendEmail(toEmail,"闲鱼捡漏(未读1)",params); 34 | } catch (Exception e) { 35 | e.printStackTrace(); 36 | } 37 | return c; 38 | } 39 | 40 | public int CRPostInfo(Integer series) { 41 | FiddlerInfo record=new FiddlerInfo(); 42 | record.setIsread("1"); 43 | record.setSeries(series); 44 | record.setUpTime(new Date()); 45 | return fiddlerInfoMapper.updateByPrimaryKeySelective(record); 46 | } 47 | 48 | 49 | public PageInfo getAllFiddlerInfo(PageRequest pageRequest,String isRead) { 50 | FiddlerInfoExample exp=new FiddlerInfoExample(); 51 | exp.setOrderByClause("creat_time DESC,up_time DESC"); 52 | exp.createCriteria().andIsreadEqualTo(isRead); 53 | PageHelper.startPage(pageRequest.getPageNum(), pageRequest.getPageSize()); 54 | List list= fiddlerInfoMapper.selectByExample(exp); 55 | String json=JSON.toJSONString(list); 56 | // try { 57 | // SendmailUtil.sendEmail(toEmail,"闲鱼捡漏(未读"+list.size()+")",json); 58 | // } catch (Exception e) { 59 | // e.printStackTrace(); 60 | // } 61 | return new PageInfo(list); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/response/UnicomResponseEnums.java: -------------------------------------------------------------------------------- 1 | package com.gigass.response; 2 | 3 | 4 | /** 5 | * @program: 枚举 6 | * @description:枚举 7 | * @author: 8 | * @create: 2019-06-02 9 | **/ 10 | 11 | 12 | public enum UnicomResponseEnums { 13 | 14 | SYSTEM_ERROR("-001", "系统异常"), 15 | BAD_REQUEST("-002", "错误的请求参数"), 16 | NOT_FOUND("-003", "找不到请求路径!"), 17 | CONNECTION_ERROR("-004", "网络连接请求失败!"), 18 | METHOD_NOT_ALLOWED("-005", "不合法的请求方式"), 19 | DATABASE_ERROR("-004", "数据库操作执行异常"), 20 | BOUND_STATEMENT_NOT_FOUNT("-006", "找不到方法!"), 21 | REPEAT_REGISTER("001", "重复注册"), 22 | NO_USER_EXIST("002", "用户不存在"), 23 | INVALID_PASSWORD("003", "密码错误"), 24 | NO_PERMISSION("004", "非法请求!"), 25 | SUCCESS_OPTION("005", "操作成功!"), 26 | NOT_MATCH("-007", "用户名和密码不匹配"), 27 | FAIL_GETDATA("-008", "获取信息失败"), 28 | SUCCESS_GETDATA("-008", "获取信息成功"), 29 | BAD_REQUEST_TYPE("-009", "错误的请求类型"), 30 | INVALID_MOBILE("010", "无效的手机号码"), 31 | INVALID_EMAIL("011", "无效的邮箱"), 32 | INVALID_GENDER("012", "无效的性别"), 33 | REPEAT_MOBILE("014", "已存在此手机号"), 34 | REPEAT_EMAIL("015", "已存在此邮箱地址"), 35 | NO_RECORD("016", "没有查到相关记录"), 36 | LOGOUT_SUCCESS("018", "已退出登录"), 37 | SENDEMAIL_SUCCESS("019", "邮件已发送,请注意查收"), 38 | TOKEN_FAILURE("020", "TOKEN失效!"), 39 | No_FileSELECT("021", "未选择文件"), 40 | ADD_FAIL("022", "新增失败"), 41 | NOLOGIN("023", "未登陆"), 42 | ILLEGAL_ARGUMENT("024", "参数错误"), 43 | ERROR_IDCODE("025", "验证码不正确"), 44 | TOKEN_EMPTY("026", "Authorization为空"), 45 | DIS_LOGIN("027", "未登录"), 46 | NO_CODE("028", "未传code"), 47 | LOGIN_FAIL_CHANGE("029", "切换设备,重新登陆"), 48 | ACCESS_TOKEN_ERRO("030", "ACCESS_TOKEN请求异常"), 49 | VERIFY_FAIL("030", "校验失败"), 50 | POST_EXP("031", "请求异常,请联系管理员!"), 51 | UPDATE_EXP("032", "更新失败!"), 52 | PICSAVE_EXP("033", "图片保存失败!"), 53 | LOGIN_FAIL("034","登陆失败!"), 54 | FILEUPLOAD_FAIL("035", "上传失败"), 55 | DELETE_FAIL("036", "删除失败"), 56 | ERRO_VAL("037", "错误参数"), 57 | No_FileExist("038", "文件不存在"), 58 | CREATE_EXP("039", "创建失败!"), 59 | UPDATE_FAIL("040", "更新失败"), 60 | Inventory_shortage("041", "库存不足"), 61 | DB_ERRO("042", "数据库异常"), 62 | OPERATION_DATA_FAILED("043", "数据操作失败"), 63 | JSON_EXP("044", "JSON转换异常"), 64 | HYSTRIX_API_NOUSED("045", "服务熔断降级,请待会使用"), 65 | JSON_PARAM_NO("046","参数中没有{0}的值"), 66 | JSON_PARAM_ERROR("047","参数{0}值转换异常"), 67 | EXCEL_IMPORT_ERROR("049","Excel导入失败"), 68 | API_SIGN_ERROR("048","接口验证错误"), 69 | API_NO_EXAMINE("049","接口不是审核状态"), 70 | ERROR_APP_KEY("050","无效APPKEY"), 71 | SQL_ERROR("051","sql语句:{0}执行错误!"), 72 | API_CAN_NOT_UPDATE("052","当前单据不是【未审核】,不能进行编辑或者保存"), 73 | REPEAT_METHOD("053","方法名重复"), 74 | CUSTOMBUTTON_FAIL("054","自定义按钮失败"); 75 | 76 | 77 | private String status; 78 | private String message; 79 | 80 | private UnicomResponseEnums(String status, String message) { 81 | this.status = status; 82 | this.message = message; 83 | } 84 | 85 | public void enu(String status, String message) { 86 | this.status = status; 87 | this.message = message; 88 | } 89 | public String getStatus() { 90 | return status; 91 | } 92 | 93 | public void setStatus(String status) { 94 | this.status = status; 95 | } 96 | 97 | public String getMessage() { 98 | return message; 99 | } 100 | 101 | public void setMessage(String message) { 102 | this.message = message; 103 | } 104 | 105 | 106 | } -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.4.2 9 | 10 | 11 | com.gigass 12 | fastpickup 13 | 0.0.1-SNAPSHOT 14 | fastpickup 15 | pick up from xianyu 16 | 17 | 1.8 18 | 19 | 20 | 21 | org.mybatis.spring.boot 22 | mybatis-spring-boot-starter 23 | 2.1.4 24 | 25 | 26 | mysql 27 | mysql-connector-java 28 | 8.0.23 29 | 30 | 31 | 32 | org.projectlombok 33 | lombok 34 | true 35 | 36 | 37 | org.springframework.boot 38 | spring-boot-starter-test 39 | test 40 | 41 | 42 | org.springframework.boot 43 | spring-boot-starter-web 44 | 45 | 46 | com.github.pagehelper 47 | pagehelper-spring-boot-starter 48 | 1.2.5 49 | 50 | 51 | javax.mail 52 | mail 53 | 1.4.5 54 | 55 | 56 | com.alibaba 57 | fastjson 58 | 1.2.62 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | org.springframework.boot 67 | spring-boot-maven-plugin 68 | 69 | 70 | 71 | org.projectlombok 72 | lombok 73 | 74 | 75 | 76 | 77 | 78 | 79 | org.mybatis.generator 80 | mybatis-generator-maven-plugin 81 | 1.3.2 82 | 83 | 84 | org.mybatis.generator 85 | mybatis-generator-core 86 | 1.3.2 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/response/ResponseBean.java: -------------------------------------------------------------------------------- 1 | package com.gigass.response; 2 | 3 | 4 | /** 5 | * @program: 6 | * @description:返回的JSON数据结构标准 7 | * @author: 8 | * @create: 2018-10-17 09:01 9 | **/ 10 | public class ResponseBean { 11 | 12 | 13 | private boolean success = true; 14 | private T data; 15 | private String errCode; 16 | private String errMsg; 17 | private String errMsgDetail; 18 | 19 | public ResponseBean() { 20 | } 21 | 22 | public ResponseBean(boolean success, T data) { 23 | super(); 24 | this.success = success; 25 | this.data = data; 26 | } 27 | 28 | public ResponseBean(boolean success) { 29 | super(); 30 | this.success = success; 31 | } 32 | 33 | @Override 34 | public String toString() { 35 | return "ResponseBean{" + 36 | "success=" + success + 37 | ", data=" + data + 38 | ", errCode='" + errCode + '\'' + 39 | ", errMsg='" + errMsg + '\'' + 40 | '}'; 41 | } 42 | 43 | public ResponseBean(boolean success, T data, String errCode, String errMsg) { 44 | super(); 45 | this.success = success; 46 | this.data = data; 47 | this.errCode = errCode; 48 | this.errMsg = errMsg; 49 | this.errMsgDetail = errMsg; 50 | } 51 | 52 | public ResponseBean(boolean success, String errCode, String errMsg, String errMsgDetail) { 53 | this.success = success; 54 | this.errCode = errCode; 55 | this.errMsg = errMsg; 56 | this.errMsgDetail = errMsgDetail; 57 | } 58 | 59 | public ResponseBean(boolean success, String errCode, String errMsg) { 60 | this.success = success; 61 | this.errCode = errCode; 62 | this.errMsg = errMsg; 63 | this.errMsgDetail = errMsg; 64 | } 65 | public ResponseBean(boolean success, UnicomResponseEnums enums) { 66 | this.success = success; 67 | this.errCode = enums.getStatus(); 68 | this.errMsg = enums.getMessage(); 69 | this.errMsgDetail = enums.getMessage(); 70 | } 71 | public ResponseBean(boolean success, UnicomResponseEnums enums, String errMsgDetail) { 72 | this.success = success; 73 | this.errCode = enums.getStatus(); 74 | this.errMsg = enums.getMessage(); 75 | this.errMsgDetail = errMsgDetail; 76 | } 77 | public ResponseBean(boolean success, T data, UnicomResponseEnums enums) { 78 | this.success = success; 79 | this.data = data; 80 | this.errCode = enums.getStatus(); 81 | this.errMsg = enums.getMessage(); 82 | this.errMsgDetail = enums.getMessage(); 83 | } 84 | 85 | public boolean isSuccess() { 86 | return success; 87 | } 88 | 89 | public void setSuccess(boolean success) { 90 | this.success = success; 91 | } 92 | 93 | public T getData() { 94 | return data; 95 | } 96 | 97 | public void setData(T data) { 98 | this.data = data; 99 | } 100 | 101 | public String getErrCode() { 102 | return errCode; 103 | } 104 | 105 | public void setErrCode(String errCode) { 106 | this.errCode = errCode; 107 | } 108 | 109 | public String getErrMsg() { 110 | return errMsg; 111 | } 112 | 113 | public void setErrMsg(String errMsg) { 114 | this.errMsg = errMsg; 115 | } 116 | 117 | public void setErrMsgDetail(String errMsgDetail) { 118 | this.errMsgDetail = errMsgDetail; 119 | } 120 | 121 | public String getErrMsgDetail() { 122 | return errMsgDetail; 123 | } 124 | } -------------------------------------------------------------------------------- /src/main/java/com/gigass/util/SendmailUtil.java: -------------------------------------------------------------------------------- 1 | package com.gigass.util; 2 | 3 | import javax.mail.Address; 4 | import javax.mail.Message; 5 | import javax.mail.Session; 6 | import javax.mail.Transport; 7 | import javax.mail.internet.InternetAddress; 8 | import javax.mail.internet.MimeMessage; 9 | 10 | import com.gigass.constants.DefaultProperties; 11 | import com.sun.mail.util.MailSSLSocketFactory; 12 | import org.springframework.beans.factory.annotation.Value; 13 | 14 | import java.io.FileOutputStream; 15 | import java.io.OutputStream; 16 | import java.text.SimpleDateFormat; 17 | import java.util.Date; 18 | import java.util.Properties; 19 | 20 | public class SendmailUtil { 21 | 22 | //邮件服务器主机名 23 | // QQ邮箱的 SMTP 服务器地址为: smtp.qq.com 24 | private static String myEmailSMTPHost = DefaultProperties.getMyEmailSMTPHost(); 25 | 26 | //发件人邮箱 27 | private static String myEmailAccount = DefaultProperties.getMyEmailAccount(); 28 | 29 | //发件人邮箱密码(授权码) 30 | //在开启SMTP服务时会获取到一个授权码,把授权码填在这里 31 | private static String myEmailPassword = DefaultProperties.getMyEmailPassword(); 32 | 33 | /** 34 | * 邮件单发(自由编辑短信,并发送,适用于私信) 35 | * 36 | * @param toEmailAddress 收件箱地址 37 | * @param emailTitle 邮件主题 38 | * @param emailContent 邮件内容 39 | * @throws Exception 40 | */ 41 | public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) throws Exception{ 42 | 43 | Properties props = new Properties(); 44 | 45 | // 开启debug调试 46 | props.setProperty("mail.debug", "true"); 47 | 48 | // 发送服务器需要身份验证 49 | props.setProperty("mail.smtp.auth", "true"); 50 | 51 | // 端口号 52 | props.put("mail.smtp.port", 465); 53 | 54 | // 设置邮件服务器主机名 55 | props.setProperty("mail.smtp.host", myEmailSMTPHost); 56 | 57 | // 发送邮件协议名称 58 | props.setProperty("mail.transport.protocol", "smtp"); 59 | 60 | /**SSL认证,注意腾讯邮箱是基于SSL加密的,所以需要开启才可以使用**/ 61 | MailSSLSocketFactory sf = new MailSSLSocketFactory(); 62 | sf.setTrustAllHosts(true); 63 | 64 | //设置是否使用ssl安全连接(一般都使用) 65 | props.put("mail.smtp.ssl.enable", "true"); 66 | props.put("mail.smtp.ssl.socketFactory", sf); 67 | 68 | //创建会话 69 | Session session = Session.getInstance(props); 70 | 71 | //获取邮件对象 72 | //发送的消息,基于观察者模式进行设计的 73 | Message msg = new MimeMessage(session); 74 | 75 | //设置邮件标题 76 | msg.setSubject(emailTitle); 77 | 78 | //设置邮件内容 79 | //使用StringBuilder,因为StringBuilder加载速度会比String快,而且线程安全性也不错 80 | StringBuilder builder = new StringBuilder(); 81 | 82 | //写入内容 83 | builder.append("\n" + emailContent); 84 | 85 | //写入我的官网 86 | builder.append("\n官网:" + "https://www.hbuecx.club"); 87 | 88 | //定义要输出日期字符串的格式 89 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 90 | 91 | //在内容后加入邮件发送的时间 92 | builder.append("\n时间:" + sdf.format(new Date())); 93 | 94 | //设置显示的发件时间 95 | msg.setSentDate(new Date()); 96 | 97 | //设置邮件内容 98 | msg.setText(builder.toString()); 99 | 100 | //设置发件人邮箱 101 | // InternetAddress 的三个参数分别为: 发件人邮箱, 显示的昵称(只用于显示, 没有特别的要求), 昵称的字符集编码 102 | msg.setFrom(new InternetAddress(myEmailAccount,"你好!", "UTF-8")); 103 | 104 | //得到邮差对象 105 | Transport transport = session.getTransport(); 106 | 107 | //连接自己的邮箱账户 108 | //密码不是自己QQ邮箱的密码,而是在开启SMTP服务时所获取到的授权码 109 | //connect(host, user, password) 110 | transport.connect( myEmailSMTPHost, myEmailAccount, myEmailPassword); 111 | 112 | //发送邮件 113 | transport.sendMessage(msg, new Address[] { new InternetAddress(toEmailAddress) }); 114 | 115 | //将该邮件保存到本地 116 | OutputStream out = new FileOutputStream("MyEmail.eml"); 117 | msg.writeTo(out); 118 | out.flush(); 119 | out.close(); 120 | 121 | transport.close(); 122 | } 123 | } -------------------------------------------------------------------------------- /.mvn/wrapper/MavenWrapperDownloader.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007-present the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import java.net.*; 18 | import java.io.*; 19 | import java.nio.channels.*; 20 | import java.util.Properties; 21 | 22 | public class MavenWrapperDownloader { 23 | 24 | private static final String WRAPPER_VERSION = "0.5.6"; 25 | /** 26 | * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. 27 | */ 28 | private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" 29 | + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; 30 | 31 | /** 32 | * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to 33 | * use instead of the default one. 34 | */ 35 | private static final String MAVEN_WRAPPER_PROPERTIES_PATH = 36 | ".mvn/wrapper/maven-wrapper.properties"; 37 | 38 | /** 39 | * Path where the maven-wrapper.jar will be saved to. 40 | */ 41 | private static final String MAVEN_WRAPPER_JAR_PATH = 42 | ".mvn/wrapper/maven-wrapper.jar"; 43 | 44 | /** 45 | * Name of the property which should be used to override the default download url for the wrapper. 46 | */ 47 | private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; 48 | 49 | public static void main(String args[]) { 50 | System.out.println("- Downloader started"); 51 | File baseDirectory = new File(args[0]); 52 | System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); 53 | 54 | // If the maven-wrapper.properties exists, read it and check if it contains a custom 55 | // wrapperUrl parameter. 56 | File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); 57 | String url = DEFAULT_DOWNLOAD_URL; 58 | if (mavenWrapperPropertyFile.exists()) { 59 | FileInputStream mavenWrapperPropertyFileInputStream = null; 60 | try { 61 | mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); 62 | Properties mavenWrapperProperties = new Properties(); 63 | mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); 64 | url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); 65 | } catch (IOException e) { 66 | System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); 67 | } finally { 68 | try { 69 | if (mavenWrapperPropertyFileInputStream != null) { 70 | mavenWrapperPropertyFileInputStream.close(); 71 | } 72 | } catch (IOException e) { 73 | // Ignore ... 74 | } 75 | } 76 | } 77 | System.out.println("- Downloading from: " + url); 78 | 79 | File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); 80 | if (!outputFile.getParentFile().exists()) { 81 | if (!outputFile.getParentFile().mkdirs()) { 82 | System.out.println( 83 | "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); 84 | } 85 | } 86 | System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); 87 | try { 88 | downloadFileFromURL(url, outputFile); 89 | System.out.println("Done"); 90 | System.exit(0); 91 | } catch (Throwable e) { 92 | System.out.println("- Error downloading"); 93 | e.printStackTrace(); 94 | System.exit(1); 95 | } 96 | } 97 | 98 | private static void downloadFileFromURL(String urlString, File destination) throws Exception { 99 | if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { 100 | String username = System.getenv("MVNW_USERNAME"); 101 | char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); 102 | Authenticator.setDefault(new Authenticator() { 103 | @Override 104 | protected PasswordAuthentication getPasswordAuthentication() { 105 | return new PasswordAuthentication(username, password); 106 | } 107 | }); 108 | } 109 | URL website = new URL(urlString); 110 | ReadableByteChannel rbc; 111 | rbc = Channels.newChannel(website.openStream()); 112 | FileOutputStream fos = new FileOutputStream(destination); 113 | fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 114 | fos.close(); 115 | rbc.close(); 116 | } 117 | 118 | } 119 | -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- 1 | @REM ---------------------------------------------------------------------------- 2 | @REM Licensed to the Apache Software Foundation (ASF) under one 3 | @REM or more contributor license agreements. See the NOTICE file 4 | @REM distributed with this work for additional information 5 | @REM regarding copyright ownership. The ASF licenses this file 6 | @REM to you under the Apache License, Version 2.0 (the 7 | @REM "License"); you may not use this file except in compliance 8 | @REM with the License. You may obtain a copy of the License at 9 | @REM 10 | @REM https://www.apache.org/licenses/LICENSE-2.0 11 | @REM 12 | @REM Unless required by applicable law or agreed to in writing, 13 | @REM software distributed under the License is distributed on an 14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | @REM KIND, either express or implied. See the License for the 16 | @REM specific language governing permissions and limitations 17 | @REM under the License. 18 | @REM ---------------------------------------------------------------------------- 19 | 20 | @REM ---------------------------------------------------------------------------- 21 | @REM Maven Start Up Batch script 22 | @REM 23 | @REM Required ENV vars: 24 | @REM JAVA_HOME - location of a JDK home dir 25 | @REM 26 | @REM Optional ENV vars 27 | @REM M2_HOME - location of maven2's installed home dir 28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending 30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31 | @REM e.g. to debug Maven itself, use 32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34 | @REM ---------------------------------------------------------------------------- 35 | 36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37 | @echo off 38 | @REM set title of command window 39 | title %0 40 | @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' 41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 42 | 43 | @REM set %HOME% to equivalent of $HOME 44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 45 | 46 | @REM Execute a user defined script before this one 47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending 49 | if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" 50 | if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" 51 | :skipRcPre 52 | 53 | @setlocal 54 | 55 | set ERROR_CODE=0 56 | 57 | @REM To isolate internal variables from possible post scripts, we use another setlocal 58 | @setlocal 59 | 60 | @REM ==== START VALIDATION ==== 61 | if not "%JAVA_HOME%" == "" goto OkJHome 62 | 63 | echo. 64 | echo Error: JAVA_HOME not found in your environment. >&2 65 | echo Please set the JAVA_HOME variable in your environment to match the >&2 66 | echo location of your Java installation. >&2 67 | echo. 68 | goto error 69 | 70 | :OkJHome 71 | if exist "%JAVA_HOME%\bin\java.exe" goto init 72 | 73 | echo. 74 | echo Error: JAVA_HOME is set to an invalid directory. >&2 75 | echo JAVA_HOME = "%JAVA_HOME%" >&2 76 | echo Please set the JAVA_HOME variable in your environment to match the >&2 77 | echo location of your Java installation. >&2 78 | echo. 79 | goto error 80 | 81 | @REM ==== END VALIDATION ==== 82 | 83 | :init 84 | 85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 86 | @REM Fallback to current working directory if not found. 87 | 88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 90 | 91 | set EXEC_DIR=%CD% 92 | set WDIR=%EXEC_DIR% 93 | :findBaseDir 94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound 95 | cd .. 96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound 97 | set WDIR=%CD% 98 | goto findBaseDir 99 | 100 | :baseDirFound 101 | set MAVEN_PROJECTBASEDIR=%WDIR% 102 | cd "%EXEC_DIR%" 103 | goto endDetectBaseDir 104 | 105 | :baseDirNotFound 106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR% 107 | cd "%EXEC_DIR%" 108 | 109 | :endDetectBaseDir 110 | 111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 112 | 113 | @setlocal EnableExtensions EnableDelayedExpansion 114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 116 | 117 | :endReadAdditionalConfig 118 | 119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 122 | 123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" 124 | 125 | FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( 126 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B 127 | ) 128 | 129 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 130 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data. 131 | if exist %WRAPPER_JAR% ( 132 | if "%MVNW_VERBOSE%" == "true" ( 133 | echo Found %WRAPPER_JAR% 134 | ) 135 | ) else ( 136 | if not "%MVNW_REPOURL%" == "" ( 137 | SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" 138 | ) 139 | if "%MVNW_VERBOSE%" == "true" ( 140 | echo Couldn't find %WRAPPER_JAR%, downloading it ... 141 | echo Downloading from: %DOWNLOAD_URL% 142 | ) 143 | 144 | powershell -Command "&{"^ 145 | "$webclient = new-object System.Net.WebClient;"^ 146 | "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ 147 | "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ 148 | "}"^ 149 | "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ 150 | "}" 151 | if "%MVNW_VERBOSE%" == "true" ( 152 | echo Finished downloading %WRAPPER_JAR% 153 | ) 154 | ) 155 | @REM End of extension 156 | 157 | @REM Provide a "standardized" way to retrieve the CLI args that will 158 | @REM work with both Windows and non-Windows executions. 159 | set MAVEN_CMD_LINE_ARGS=%* 160 | 161 | %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 162 | if ERRORLEVEL 1 goto error 163 | goto end 164 | 165 | :error 166 | set ERROR_CODE=1 167 | 168 | :end 169 | @endlocal & set ERROR_CODE=%ERROR_CODE% 170 | 171 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost 172 | @REM check for post script, once with legacy .bat ending and once with .cmd ending 173 | if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" 174 | if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" 175 | :skipRcPost 176 | 177 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 178 | if "%MAVEN_BATCH_PAUSE%" == "on" pause 179 | 180 | if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% 181 | 182 | exit /B %ERROR_CODE% 183 | -------------------------------------------------------------------------------- /src/main/resources/mapper/FiddlerInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | and ${criterion.condition} 22 | 23 | 24 | and ${criterion.condition} #{criterion.value} 25 | 26 | 27 | and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} 28 | 29 | 30 | and ${criterion.condition} 31 | 32 | #{listItem} 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | and ${criterion.condition} 51 | 52 | 53 | and ${criterion.condition} #{criterion.value} 54 | 55 | 56 | and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} 57 | 58 | 59 | and ${criterion.condition} 60 | 61 | #{listItem} 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | series, isRead, creat_time, up_time 73 | 74 | 75 | detail 76 | 77 | 94 | 109 | 117 | 118 | delete from fiddler_info 119 | where series = #{series,jdbcType=INTEGER} 120 | 121 | 122 | delete from fiddler_info 123 | 124 | 125 | 126 | 127 | 128 | insert into fiddler_info (series, isRead, creat_time, 129 | up_time, detail) 130 | values (#{series,jdbcType=INTEGER}, #{isread,jdbcType=VARCHAR}, #{creatTime,jdbcType=TIME}, 131 | #{upTime,jdbcType=TIME}, #{detail,jdbcType=LONGVARCHAR}) 132 | 133 | 134 | insert into fiddler_info 135 | 136 | 137 | series, 138 | 139 | 140 | isRead, 141 | 142 | 143 | creat_time, 144 | 145 | 146 | up_time, 147 | 148 | 149 | detail, 150 | 151 | 152 | 153 | 154 | #{series,jdbcType=INTEGER}, 155 | 156 | 157 | #{isread,jdbcType=VARCHAR}, 158 | 159 | 160 | #{creatTime,jdbcType=TIME}, 161 | 162 | 163 | #{upTime,jdbcType=TIME}, 164 | 165 | 166 | #{detail,jdbcType=LONGVARCHAR}, 167 | 168 | 169 | 170 | 176 | 177 | update fiddler_info 178 | 179 | 180 | series = #{record.series,jdbcType=INTEGER}, 181 | 182 | 183 | isRead = #{record.isread,jdbcType=VARCHAR}, 184 | 185 | 186 | creat_time = #{record.creatTime,jdbcType=TIME}, 187 | 188 | 189 | up_time = #{record.upTime,jdbcType=TIME}, 190 | 191 | 192 | detail = #{record.detail,jdbcType=LONGVARCHAR}, 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | update fiddler_info 201 | set series = #{record.series,jdbcType=INTEGER}, 202 | isRead = #{record.isread,jdbcType=VARCHAR}, 203 | creat_time = #{record.creatTime,jdbcType=TIME}, 204 | up_time = #{record.upTime,jdbcType=TIME}, 205 | detail = #{record.detail,jdbcType=LONGVARCHAR} 206 | 207 | 208 | 209 | 210 | 211 | update fiddler_info 212 | set series = #{record.series,jdbcType=INTEGER}, 213 | isRead = #{record.isread,jdbcType=VARCHAR}, 214 | creat_time = #{record.creatTime,jdbcType=TIME}, 215 | up_time = #{record.upTime,jdbcType=TIME} 216 | 217 | 218 | 219 | 220 | 221 | update fiddler_info 222 | 223 | 224 | isRead = #{isread,jdbcType=VARCHAR}, 225 | 226 | 227 | creat_time = #{creatTime,jdbcType=TIME}, 228 | 229 | 230 | up_time = #{upTime,jdbcType=TIME}, 231 | 232 | 233 | detail = #{detail,jdbcType=LONGVARCHAR}, 234 | 235 | 236 | where series = #{series,jdbcType=INTEGER} 237 | 238 | 239 | update fiddler_info 240 | set isRead = #{isread,jdbcType=VARCHAR}, 241 | creat_time = #{creatTime,jdbcType=TIME}, 242 | up_time = #{upTime,jdbcType=TIME}, 243 | detail = #{detail,jdbcType=LONGVARCHAR} 244 | where series = #{series,jdbcType=INTEGER} 245 | 246 | 247 | update fiddler_info 248 | set isRead = #{isread,jdbcType=VARCHAR}, 249 | creat_time = #{creatTime,jdbcType=TIME}, 250 | up_time = #{upTime,jdbcType=TIME} 251 | where series = #{series,jdbcType=INTEGER} 252 | 253 | -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ---------------------------------------------------------------------------- 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # ---------------------------------------------------------------------------- 20 | 21 | # ---------------------------------------------------------------------------- 22 | # Maven Start Up Batch script 23 | # 24 | # Required ENV vars: 25 | # ------------------ 26 | # JAVA_HOME - location of a JDK home dir 27 | # 28 | # Optional ENV vars 29 | # ----------------- 30 | # M2_HOME - location of maven2's installed home dir 31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven 32 | # e.g. to debug Maven itself, use 33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files 35 | # ---------------------------------------------------------------------------- 36 | 37 | if [ -z "$MAVEN_SKIP_RC" ] ; then 38 | 39 | if [ -f /etc/mavenrc ] ; then 40 | . /etc/mavenrc 41 | fi 42 | 43 | if [ -f "$HOME/.mavenrc" ] ; then 44 | . "$HOME/.mavenrc" 45 | fi 46 | 47 | fi 48 | 49 | # OS specific support. $var _must_ be set to either true or false. 50 | cygwin=false; 51 | darwin=false; 52 | mingw=false 53 | case "`uname`" in 54 | CYGWIN*) cygwin=true ;; 55 | MINGW*) mingw=true;; 56 | Darwin*) darwin=true 57 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home 58 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html 59 | if [ -z "$JAVA_HOME" ]; then 60 | if [ -x "/usr/libexec/java_home" ]; then 61 | export JAVA_HOME="`/usr/libexec/java_home`" 62 | else 63 | export JAVA_HOME="/Library/Java/Home" 64 | fi 65 | fi 66 | ;; 67 | esac 68 | 69 | if [ -z "$JAVA_HOME" ] ; then 70 | if [ -r /etc/gentoo-release ] ; then 71 | JAVA_HOME=`java-config --jre-home` 72 | fi 73 | fi 74 | 75 | if [ -z "$M2_HOME" ] ; then 76 | ## resolve links - $0 may be a link to maven's home 77 | PRG="$0" 78 | 79 | # need this for relative symlinks 80 | while [ -h "$PRG" ] ; do 81 | ls=`ls -ld "$PRG"` 82 | link=`expr "$ls" : '.*-> \(.*\)$'` 83 | if expr "$link" : '/.*' > /dev/null; then 84 | PRG="$link" 85 | else 86 | PRG="`dirname "$PRG"`/$link" 87 | fi 88 | done 89 | 90 | saveddir=`pwd` 91 | 92 | M2_HOME=`dirname "$PRG"`/.. 93 | 94 | # make it fully qualified 95 | M2_HOME=`cd "$M2_HOME" && pwd` 96 | 97 | cd "$saveddir" 98 | # echo Using m2 at $M2_HOME 99 | fi 100 | 101 | # For Cygwin, ensure paths are in UNIX format before anything is touched 102 | if $cygwin ; then 103 | [ -n "$M2_HOME" ] && 104 | M2_HOME=`cygpath --unix "$M2_HOME"` 105 | [ -n "$JAVA_HOME" ] && 106 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 107 | [ -n "$CLASSPATH" ] && 108 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"` 109 | fi 110 | 111 | # For Mingw, ensure paths are in UNIX format before anything is touched 112 | if $mingw ; then 113 | [ -n "$M2_HOME" ] && 114 | M2_HOME="`(cd "$M2_HOME"; pwd)`" 115 | [ -n "$JAVA_HOME" ] && 116 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 117 | fi 118 | 119 | if [ -z "$JAVA_HOME" ]; then 120 | javaExecutable="`which javac`" 121 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then 122 | # readlink(1) is not available as standard on Solaris 10. 123 | readLink=`which readlink` 124 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then 125 | if $darwin ; then 126 | javaHome="`dirname \"$javaExecutable\"`" 127 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" 128 | else 129 | javaExecutable="`readlink -f \"$javaExecutable\"`" 130 | fi 131 | javaHome="`dirname \"$javaExecutable\"`" 132 | javaHome=`expr "$javaHome" : '\(.*\)/bin'` 133 | JAVA_HOME="$javaHome" 134 | export JAVA_HOME 135 | fi 136 | fi 137 | fi 138 | 139 | if [ -z "$JAVACMD" ] ; then 140 | if [ -n "$JAVA_HOME" ] ; then 141 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 142 | # IBM's JDK on AIX uses strange locations for the executables 143 | JAVACMD="$JAVA_HOME/jre/sh/java" 144 | else 145 | JAVACMD="$JAVA_HOME/bin/java" 146 | fi 147 | else 148 | JAVACMD="`which java`" 149 | fi 150 | fi 151 | 152 | if [ ! -x "$JAVACMD" ] ; then 153 | echo "Error: JAVA_HOME is not defined correctly." >&2 154 | echo " We cannot execute $JAVACMD" >&2 155 | exit 1 156 | fi 157 | 158 | if [ -z "$JAVA_HOME" ] ; then 159 | echo "Warning: JAVA_HOME environment variable is not set." 160 | fi 161 | 162 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher 163 | 164 | # traverses directory structure from process work directory to filesystem root 165 | # first directory with .mvn subdirectory is considered project base directory 166 | find_maven_basedir() { 167 | 168 | if [ -z "$1" ] 169 | then 170 | echo "Path not specified to find_maven_basedir" 171 | return 1 172 | fi 173 | 174 | basedir="$1" 175 | wdir="$1" 176 | while [ "$wdir" != '/' ] ; do 177 | if [ -d "$wdir"/.mvn ] ; then 178 | basedir=$wdir 179 | break 180 | fi 181 | # workaround for JBEAP-8937 (on Solaris 10/Sparc) 182 | if [ -d "${wdir}" ]; then 183 | wdir=`cd "$wdir/.."; pwd` 184 | fi 185 | # end of workaround 186 | done 187 | echo "${basedir}" 188 | } 189 | 190 | # concatenates all lines of a file 191 | concat_lines() { 192 | if [ -f "$1" ]; then 193 | echo "$(tr -s '\n' ' ' < "$1")" 194 | fi 195 | } 196 | 197 | BASE_DIR=`find_maven_basedir "$(pwd)"` 198 | if [ -z "$BASE_DIR" ]; then 199 | exit 1; 200 | fi 201 | 202 | ########################################################################################## 203 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 204 | # This allows using the maven wrapper in projects that prohibit checking in binary data. 205 | ########################################################################################## 206 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then 207 | if [ "$MVNW_VERBOSE" = true ]; then 208 | echo "Found .mvn/wrapper/maven-wrapper.jar" 209 | fi 210 | else 211 | if [ "$MVNW_VERBOSE" = true ]; then 212 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." 213 | fi 214 | if [ -n "$MVNW_REPOURL" ]; then 215 | jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" 216 | else 217 | jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" 218 | fi 219 | while IFS="=" read key value; do 220 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;; 221 | esac 222 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" 223 | if [ "$MVNW_VERBOSE" = true ]; then 224 | echo "Downloading from: $jarUrl" 225 | fi 226 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" 227 | if $cygwin; then 228 | wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` 229 | fi 230 | 231 | if command -v wget > /dev/null; then 232 | if [ "$MVNW_VERBOSE" = true ]; then 233 | echo "Found wget ... using wget" 234 | fi 235 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 236 | wget "$jarUrl" -O "$wrapperJarPath" 237 | else 238 | wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" 239 | fi 240 | elif command -v curl > /dev/null; then 241 | if [ "$MVNW_VERBOSE" = true ]; then 242 | echo "Found curl ... using curl" 243 | fi 244 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 245 | curl -o "$wrapperJarPath" "$jarUrl" -f 246 | else 247 | curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f 248 | fi 249 | 250 | else 251 | if [ "$MVNW_VERBOSE" = true ]; then 252 | echo "Falling back to using Java to download" 253 | fi 254 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" 255 | # For Cygwin, switch paths to Windows format before running javac 256 | if $cygwin; then 257 | javaClass=`cygpath --path --windows "$javaClass"` 258 | fi 259 | if [ -e "$javaClass" ]; then 260 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 261 | if [ "$MVNW_VERBOSE" = true ]; then 262 | echo " - Compiling MavenWrapperDownloader.java ..." 263 | fi 264 | # Compiling the Java class 265 | ("$JAVA_HOME/bin/javac" "$javaClass") 266 | fi 267 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 268 | # Running the downloader 269 | if [ "$MVNW_VERBOSE" = true ]; then 270 | echo " - Running MavenWrapperDownloader.java ..." 271 | fi 272 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") 273 | fi 274 | fi 275 | fi 276 | fi 277 | ########################################################################################## 278 | # End of extension 279 | ########################################################################################## 280 | 281 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} 282 | if [ "$MVNW_VERBOSE" = true ]; then 283 | echo $MAVEN_PROJECTBASEDIR 284 | fi 285 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" 286 | 287 | # For Cygwin, switch paths to Windows format before running java 288 | if $cygwin; then 289 | [ -n "$M2_HOME" ] && 290 | M2_HOME=`cygpath --path --windows "$M2_HOME"` 291 | [ -n "$JAVA_HOME" ] && 292 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` 293 | [ -n "$CLASSPATH" ] && 294 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 295 | [ -n "$MAVEN_PROJECTBASEDIR" ] && 296 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` 297 | fi 298 | 299 | # Provide a "standardized" way to retrieve the CLI args that will 300 | # work with both Windows and non-Windows executions. 301 | MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" 302 | export MAVEN_CMD_LINE_ARGS 303 | 304 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 305 | 306 | exec "$JAVACMD" \ 307 | $MAVEN_OPTS \ 308 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ 309 | "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ 310 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" 311 | -------------------------------------------------------------------------------- /src/main/java/com/gigass/pojo/FiddlerInfoExample.java: -------------------------------------------------------------------------------- 1 | package com.gigass.pojo; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Date; 5 | import java.util.Iterator; 6 | import java.util.List; 7 | 8 | public class FiddlerInfoExample { 9 | protected String orderByClause; 10 | 11 | protected boolean distinct; 12 | 13 | protected List oredCriteria; 14 | 15 | public FiddlerInfoExample() { 16 | oredCriteria = new ArrayList(); 17 | } 18 | 19 | public void setOrderByClause(String orderByClause) { 20 | this.orderByClause = orderByClause; 21 | } 22 | 23 | public String getOrderByClause() { 24 | return orderByClause; 25 | } 26 | 27 | public void setDistinct(boolean distinct) { 28 | this.distinct = distinct; 29 | } 30 | 31 | public boolean isDistinct() { 32 | return distinct; 33 | } 34 | 35 | public List getOredCriteria() { 36 | return oredCriteria; 37 | } 38 | 39 | public void or(Criteria criteria) { 40 | oredCriteria.add(criteria); 41 | } 42 | 43 | public Criteria or() { 44 | Criteria criteria = createCriteriaInternal(); 45 | oredCriteria.add(criteria); 46 | return criteria; 47 | } 48 | 49 | public Criteria createCriteria() { 50 | Criteria criteria = createCriteriaInternal(); 51 | if (oredCriteria.size() == 0) { 52 | oredCriteria.add(criteria); 53 | } 54 | return criteria; 55 | } 56 | 57 | protected Criteria createCriteriaInternal() { 58 | Criteria criteria = new Criteria(); 59 | return criteria; 60 | } 61 | 62 | public void clear() { 63 | oredCriteria.clear(); 64 | orderByClause = null; 65 | distinct = false; 66 | } 67 | 68 | protected abstract static class GeneratedCriteria { 69 | protected List criteria; 70 | 71 | protected GeneratedCriteria() { 72 | super(); 73 | criteria = new ArrayList(); 74 | } 75 | 76 | public boolean isValid() { 77 | return criteria.size() > 0; 78 | } 79 | 80 | public List getAllCriteria() { 81 | return criteria; 82 | } 83 | 84 | public List getCriteria() { 85 | return criteria; 86 | } 87 | 88 | protected void addCriterion(String condition) { 89 | if (condition == null) { 90 | throw new RuntimeException("Value for condition cannot be null"); 91 | } 92 | criteria.add(new Criterion(condition)); 93 | } 94 | 95 | protected void addCriterion(String condition, Object value, String property) { 96 | if (value == null) { 97 | throw new RuntimeException("Value for " + property + " cannot be null"); 98 | } 99 | criteria.add(new Criterion(condition, value)); 100 | } 101 | 102 | protected void addCriterion(String condition, Object value1, Object value2, String property) { 103 | if (value1 == null || value2 == null) { 104 | throw new RuntimeException("Between values for " + property + " cannot be null"); 105 | } 106 | criteria.add(new Criterion(condition, value1, value2)); 107 | } 108 | 109 | protected void addCriterionForJDBCTime(String condition, Date value, String property) { 110 | if (value == null) { 111 | throw new RuntimeException("Value for " + property + " cannot be null"); 112 | } 113 | addCriterion(condition, new java.sql.Time(value.getTime()), property); 114 | } 115 | 116 | protected void addCriterionForJDBCTime(String condition, List values, String property) { 117 | if (values == null || values.size() == 0) { 118 | throw new RuntimeException("Value list for " + property + " cannot be null or empty"); 119 | } 120 | List timeList = new ArrayList(); 121 | Iterator iter = values.iterator(); 122 | while (iter.hasNext()) { 123 | timeList.add(new java.sql.Time(iter.next().getTime())); 124 | } 125 | addCriterion(condition, timeList, property); 126 | } 127 | 128 | protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) { 129 | if (value1 == null || value2 == null) { 130 | throw new RuntimeException("Between values for " + property + " cannot be null"); 131 | } 132 | addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property); 133 | } 134 | 135 | public Criteria andSeriesIsNull() { 136 | addCriterion("series is null"); 137 | return (Criteria) this; 138 | } 139 | 140 | public Criteria andSeriesIsNotNull() { 141 | addCriterion("series is not null"); 142 | return (Criteria) this; 143 | } 144 | 145 | public Criteria andSeriesEqualTo(Integer value) { 146 | addCriterion("series =", value, "series"); 147 | return (Criteria) this; 148 | } 149 | 150 | public Criteria andSeriesNotEqualTo(Integer value) { 151 | addCriterion("series <>", value, "series"); 152 | return (Criteria) this; 153 | } 154 | 155 | public Criteria andSeriesGreaterThan(Integer value) { 156 | addCriterion("series >", value, "series"); 157 | return (Criteria) this; 158 | } 159 | 160 | public Criteria andSeriesGreaterThanOrEqualTo(Integer value) { 161 | addCriterion("series >=", value, "series"); 162 | return (Criteria) this; 163 | } 164 | 165 | public Criteria andSeriesLessThan(Integer value) { 166 | addCriterion("series <", value, "series"); 167 | return (Criteria) this; 168 | } 169 | 170 | public Criteria andSeriesLessThanOrEqualTo(Integer value) { 171 | addCriterion("series <=", value, "series"); 172 | return (Criteria) this; 173 | } 174 | 175 | public Criteria andSeriesIn(List values) { 176 | addCriterion("series in", values, "series"); 177 | return (Criteria) this; 178 | } 179 | 180 | public Criteria andSeriesNotIn(List values) { 181 | addCriterion("series not in", values, "series"); 182 | return (Criteria) this; 183 | } 184 | 185 | public Criteria andSeriesBetween(Integer value1, Integer value2) { 186 | addCriterion("series between", value1, value2, "series"); 187 | return (Criteria) this; 188 | } 189 | 190 | public Criteria andSeriesNotBetween(Integer value1, Integer value2) { 191 | addCriterion("series not between", value1, value2, "series"); 192 | return (Criteria) this; 193 | } 194 | 195 | public Criteria andIsreadIsNull() { 196 | addCriterion("isRead is null"); 197 | return (Criteria) this; 198 | } 199 | 200 | public Criteria andIsreadIsNotNull() { 201 | addCriterion("isRead is not null"); 202 | return (Criteria) this; 203 | } 204 | 205 | public Criteria andIsreadEqualTo(String value) { 206 | addCriterion("isRead =", value, "isread"); 207 | return (Criteria) this; 208 | } 209 | 210 | public Criteria andIsreadNotEqualTo(String value) { 211 | addCriterion("isRead <>", value, "isread"); 212 | return (Criteria) this; 213 | } 214 | 215 | public Criteria andIsreadGreaterThan(String value) { 216 | addCriterion("isRead >", value, "isread"); 217 | return (Criteria) this; 218 | } 219 | 220 | public Criteria andIsreadGreaterThanOrEqualTo(String value) { 221 | addCriterion("isRead >=", value, "isread"); 222 | return (Criteria) this; 223 | } 224 | 225 | public Criteria andIsreadLessThan(String value) { 226 | addCriterion("isRead <", value, "isread"); 227 | return (Criteria) this; 228 | } 229 | 230 | public Criteria andIsreadLessThanOrEqualTo(String value) { 231 | addCriterion("isRead <=", value, "isread"); 232 | return (Criteria) this; 233 | } 234 | 235 | public Criteria andIsreadLike(String value) { 236 | addCriterion("isRead like", value, "isread"); 237 | return (Criteria) this; 238 | } 239 | 240 | public Criteria andIsreadNotLike(String value) { 241 | addCriterion("isRead not like", value, "isread"); 242 | return (Criteria) this; 243 | } 244 | 245 | public Criteria andIsreadIn(List values) { 246 | addCriterion("isRead in", values, "isread"); 247 | return (Criteria) this; 248 | } 249 | 250 | public Criteria andIsreadNotIn(List values) { 251 | addCriterion("isRead not in", values, "isread"); 252 | return (Criteria) this; 253 | } 254 | 255 | public Criteria andIsreadBetween(String value1, String value2) { 256 | addCriterion("isRead between", value1, value2, "isread"); 257 | return (Criteria) this; 258 | } 259 | 260 | public Criteria andIsreadNotBetween(String value1, String value2) { 261 | addCriterion("isRead not between", value1, value2, "isread"); 262 | return (Criteria) this; 263 | } 264 | 265 | public Criteria andCreatTimeIsNull() { 266 | addCriterion("creat_time is null"); 267 | return (Criteria) this; 268 | } 269 | 270 | public Criteria andCreatTimeIsNotNull() { 271 | addCriterion("creat_time is not null"); 272 | return (Criteria) this; 273 | } 274 | 275 | public Criteria andCreatTimeEqualTo(Date value) { 276 | addCriterionForJDBCTime("creat_time =", value, "creatTime"); 277 | return (Criteria) this; 278 | } 279 | 280 | public Criteria andCreatTimeNotEqualTo(Date value) { 281 | addCriterionForJDBCTime("creat_time <>", value, "creatTime"); 282 | return (Criteria) this; 283 | } 284 | 285 | public Criteria andCreatTimeGreaterThan(Date value) { 286 | addCriterionForJDBCTime("creat_time >", value, "creatTime"); 287 | return (Criteria) this; 288 | } 289 | 290 | public Criteria andCreatTimeGreaterThanOrEqualTo(Date value) { 291 | addCriterionForJDBCTime("creat_time >=", value, "creatTime"); 292 | return (Criteria) this; 293 | } 294 | 295 | public Criteria andCreatTimeLessThan(Date value) { 296 | addCriterionForJDBCTime("creat_time <", value, "creatTime"); 297 | return (Criteria) this; 298 | } 299 | 300 | public Criteria andCreatTimeLessThanOrEqualTo(Date value) { 301 | addCriterionForJDBCTime("creat_time <=", value, "creatTime"); 302 | return (Criteria) this; 303 | } 304 | 305 | public Criteria andCreatTimeIn(List values) { 306 | addCriterionForJDBCTime("creat_time in", values, "creatTime"); 307 | return (Criteria) this; 308 | } 309 | 310 | public Criteria andCreatTimeNotIn(List values) { 311 | addCriterionForJDBCTime("creat_time not in", values, "creatTime"); 312 | return (Criteria) this; 313 | } 314 | 315 | public Criteria andCreatTimeBetween(Date value1, Date value2) { 316 | addCriterionForJDBCTime("creat_time between", value1, value2, "creatTime"); 317 | return (Criteria) this; 318 | } 319 | 320 | public Criteria andCreatTimeNotBetween(Date value1, Date value2) { 321 | addCriterionForJDBCTime("creat_time not between", value1, value2, "creatTime"); 322 | return (Criteria) this; 323 | } 324 | 325 | public Criteria andUpTimeIsNull() { 326 | addCriterion("up_time is null"); 327 | return (Criteria) this; 328 | } 329 | 330 | public Criteria andUpTimeIsNotNull() { 331 | addCriterion("up_time is not null"); 332 | return (Criteria) this; 333 | } 334 | 335 | public Criteria andUpTimeEqualTo(Date value) { 336 | addCriterionForJDBCTime("up_time =", value, "upTime"); 337 | return (Criteria) this; 338 | } 339 | 340 | public Criteria andUpTimeNotEqualTo(Date value) { 341 | addCriterionForJDBCTime("up_time <>", value, "upTime"); 342 | return (Criteria) this; 343 | } 344 | 345 | public Criteria andUpTimeGreaterThan(Date value) { 346 | addCriterionForJDBCTime("up_time >", value, "upTime"); 347 | return (Criteria) this; 348 | } 349 | 350 | public Criteria andUpTimeGreaterThanOrEqualTo(Date value) { 351 | addCriterionForJDBCTime("up_time >=", value, "upTime"); 352 | return (Criteria) this; 353 | } 354 | 355 | public Criteria andUpTimeLessThan(Date value) { 356 | addCriterionForJDBCTime("up_time <", value, "upTime"); 357 | return (Criteria) this; 358 | } 359 | 360 | public Criteria andUpTimeLessThanOrEqualTo(Date value) { 361 | addCriterionForJDBCTime("up_time <=", value, "upTime"); 362 | return (Criteria) this; 363 | } 364 | 365 | public Criteria andUpTimeIn(List values) { 366 | addCriterionForJDBCTime("up_time in", values, "upTime"); 367 | return (Criteria) this; 368 | } 369 | 370 | public Criteria andUpTimeNotIn(List values) { 371 | addCriterionForJDBCTime("up_time not in", values, "upTime"); 372 | return (Criteria) this; 373 | } 374 | 375 | public Criteria andUpTimeBetween(Date value1, Date value2) { 376 | addCriterionForJDBCTime("up_time between", value1, value2, "upTime"); 377 | return (Criteria) this; 378 | } 379 | 380 | public Criteria andUpTimeNotBetween(Date value1, Date value2) { 381 | addCriterionForJDBCTime("up_time not between", value1, value2, "upTime"); 382 | return (Criteria) this; 383 | } 384 | } 385 | 386 | public static class Criteria extends GeneratedCriteria { 387 | 388 | protected Criteria() { 389 | super(); 390 | } 391 | } 392 | 393 | public static class Criterion { 394 | private String condition; 395 | 396 | private Object value; 397 | 398 | private Object secondValue; 399 | 400 | private boolean noValue; 401 | 402 | private boolean singleValue; 403 | 404 | private boolean betweenValue; 405 | 406 | private boolean listValue; 407 | 408 | private String typeHandler; 409 | 410 | public String getCondition() { 411 | return condition; 412 | } 413 | 414 | public Object getValue() { 415 | return value; 416 | } 417 | 418 | public Object getSecondValue() { 419 | return secondValue; 420 | } 421 | 422 | public boolean isNoValue() { 423 | return noValue; 424 | } 425 | 426 | public boolean isSingleValue() { 427 | return singleValue; 428 | } 429 | 430 | public boolean isBetweenValue() { 431 | return betweenValue; 432 | } 433 | 434 | public boolean isListValue() { 435 | return listValue; 436 | } 437 | 438 | public String getTypeHandler() { 439 | return typeHandler; 440 | } 441 | 442 | protected Criterion(String condition) { 443 | super(); 444 | this.condition = condition; 445 | this.typeHandler = null; 446 | this.noValue = true; 447 | } 448 | 449 | protected Criterion(String condition, Object value, String typeHandler) { 450 | super(); 451 | this.condition = condition; 452 | this.value = value; 453 | this.typeHandler = typeHandler; 454 | if (value instanceof List) { 455 | this.listValue = true; 456 | } else { 457 | this.singleValue = true; 458 | } 459 | } 460 | 461 | protected Criterion(String condition, Object value) { 462 | this(condition, value, null); 463 | } 464 | 465 | protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { 466 | super(); 467 | this.condition = condition; 468 | this.value = value; 469 | this.secondValue = secondValue; 470 | this.typeHandler = typeHandler; 471 | this.betweenValue = true; 472 | } 473 | 474 | protected Criterion(String condition, Object value, Object secondValue) { 475 | this(condition, value, secondValue, null); 476 | } 477 | } 478 | } --------------------------------------------------------------------------------