HINOTOR 2 years ago
parent 685364f651
commit 94efcaf021

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<name>MovieManager</name>
<groupId>com.dream</groupId>
<artifactId>MovieManager</artifactId>
<version>1.0-SNAPSHOT</version>
<!--maven自动去此网站下载jar包-->
<url>http://maven.apache.org</url>
<dependencies>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
<!-- JSP相关 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<!-- 1.日志 -->
<!-- 实现slf4j接口并整合 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.1</version>
</dependency>
<!-- 2.数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- DAO: MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.7</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- 3.Servlet web -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- 4.Spring -->
<!-- 1)Spring核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<!-- 2)Spring DAO层 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<!-- 3)Spring web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<!-- 4)Spring test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<!-- Apache工具组件 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<!-- redis客户端:Jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.0.8</version>
</dependency>
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-runtime</artifactId>
<version>1.0.8</version>
</dependency>
<!-- Map工具类 -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>fastdfs_client</groupId>
<artifactId>fastdfs_client</artifactId>
<version>1.25</version>
</dependency>
<!-- shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.4.0</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<finalName>MovieManager</finalName>
</build>
</project>

@ -0,0 +1,22 @@
package com.dream.common;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConverter implements Converter<String, Date> {
@Override
public Date convert(String source) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
try {
return dateFormat.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}

@ -0,0 +1,148 @@
package com.dream.common;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.Serializable;
import java.util.List;
public class E3Result implements Serializable {
// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
// 响应业务状态
private Integer status;
// 响应消息
private String msg;
// 响应中的数据
private Object data;
public static E3Result build(Integer status, String msg, Object data) {
return new E3Result(status, msg, data);
}
public static E3Result ok(Object data) {
return new E3Result(data);
}
public static E3Result ok() {
return new E3Result(null);
}
public E3Result() {
}
public static E3Result build(Integer status, String msg) {
return new E3Result(status, msg, null);
}
public E3Result(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
public E3Result(Object data) {
this.status = 200;
this.msg = "OK";
this.data = data;
}
// public Boolean isOK() {
// return this.status == 200;
// }
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
/**
* jsonTaotaoResult
*
* @param jsonData json
* @param clazz TaotaoResultobject
* @return
*/
public static E3Result formatToPojo(String jsonData, Class<?> clazz) {
try {
if (clazz == null) {
return MAPPER.readValue(jsonData, E3Result.class);
}
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (clazz != null) {
if (data.isObject()) {
obj = MAPPER.readValue(data.traverse(), clazz);
} else if (data.isTextual()) {
obj = MAPPER.readValue(data.asText(), clazz);
}
}
return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}
/**
* object
*
* @param json
* @return
*/
public static E3Result format(String json) {
try {
return MAPPER.readValue(json, E3Result.class);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* Object
*
* @param jsonData json
* @param clazz
* @return
*/
public static E3Result formatToList(String jsonData, Class<?> clazz) {
try {
JsonNode jsonNode = MAPPER.readTree(jsonData);
JsonNode data = jsonNode.get("data");
Object obj = null;
if (data.isArray() && data.size() > 0) {
obj = MAPPER.readValue(data.traverse(),
MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));
}
return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj);
} catch (Exception e) {
return null;
}
}
}

@ -0,0 +1,74 @@
package com.dream.common;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient1;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
public class FastDFSClient {
private TrackerClient trackerClient = null;
private TrackerServer trackerServer = null;
private StorageServer storageServer = null;
private StorageClient1 storageClient = null;
public FastDFSClient(String conf) throws Exception {
if (conf.contains("classpath:")) {
conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());
}
ClientGlobal.init(conf);
trackerClient = new TrackerClient();
trackerServer = trackerClient.getConnection();
storageServer = null;
storageClient = new StorageClient1(trackerServer, storageServer);
}
/**
*
* <p>Title: uploadFile</p>
* <p>Description: </p>
* @param fileName
* @param extName .
* @param metas
* @return
* @throws Exception
*/
public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception {
String result = storageClient.upload_file1(fileName, extName, metas);
return result;
}
public String uploadFile(String fileName) throws Exception {
return uploadFile(fileName, null, null);
}
public String uploadFile(String fileName, String extName) throws Exception {
return uploadFile(fileName, extName, null);
}
/**
*
* <p>Title: uploadFile</p>
* <p>Description: </p>
* @param fileContent
* @param extName
* @param metas
* @return
* @throws Exception
*/
public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception {
String result = storageClient.upload_file1(fileContent, extName, metas);
return result;
}
public String uploadFile(byte[] fileContent) throws Exception {
return uploadFile(fileContent, null, null);
}
public String uploadFile(byte[] fileContent, String extName) throws Exception {
return uploadFile(fileContent, extName, null);
}
}

@ -0,0 +1,69 @@
package com.dream.common;
import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtils {
// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
/**
* json
* <p>Title: pojoToJson</p>
* <p>Description: </p>
* @param data
* @return
*/
public static String objectToJson(Object data) {
try {
String string = MAPPER.writeValueAsString(data);
return string;
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* json
*
* @param jsonData json
* @param clazz object
* @return
*/
public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
try {
T t = MAPPER.readValue(jsonData, beanType);
return t;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* jsonpojolist
* <p>Title: jsonToList</p>
* <p>Description: </p>
* @param jsonData
* @param beanType
* @return
*/
public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List<T> list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}

@ -0,0 +1,66 @@
package com.dream.common;
import com.dream.mapper.AdminMapper;
import com.dream.po.Admin;
import com.dream.po.AdminExample;
import org.apache.shiro.authc.*;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class MovieRealm extends AuthorizingRealm{
@Autowired
private AdminMapper adminMapper;
// 授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
Admin admin = (Admin)principalCollection.getPrimaryPrincipal();
SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
// 根据用户名查询用户拥有的角色
// AdminExample adminExample = new AdminExample();
// AdminExample.Criteria criteria = adminExample.createCriteria();
// criteria.andAdminnameEqualTo(adminname);
// List<Admin> list = adminMapper.selectByExample(adminExample);
Set<String> roleNames = new HashSet<String>();
if (0 == admin.getRole()) {
roleNames.add("admin");
} else {
roleNames.add("user");
}
// 将角色名称提供给info
authorizationInfo.setRoles(roleNames);
return authorizationInfo;
}
// 认证
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
System.out.println("----执行了认证方法----");
UsernamePasswordToken mytoken = (UsernamePasswordToken) authenticationToken;
String adminName = mytoken.getUsername();
// 根据用户名查询数据库
AdminExample example = new AdminExample();
AdminExample.Criteria criteria = example.createCriteria();
criteria.andAdminnameEqualTo(adminName);
List<Admin> list = adminMapper.selectByExample(example);
if (list == null || list.size() == 0) {
// 返回登录失败
return null;
}
Admin admin = list.get(0);
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(admin, admin.getAdminpassword(), this.getName());
return info;
}
}

@ -0,0 +1,179 @@
package com.dream.common;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.taglibs.standard.tag.common.core.UrlSupport;
/**
* 1 2 3 4 5
*/
/*
* TagSupport
*/
public class NavigationTag extends TagSupport {
static final long serialVersionUID = 2372405317744358833L;
/**
* request Page<E> ,page
*/
private String bean = "page"; //以page为key值value为分页对象放到Request域中就结束了。
/**
* url,
*/
private String url = null;
/**
*
*/
private int number = 5;
@Override
public int doStartTag() throws JspException {
JspWriter writer = pageContext.getOut();
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
Page page = (Page)request.getAttribute(bean);
if (page == null)
return SKIP_BODY;
url = resolveUrl(url, pageContext);
try {
//计算总页数
int pageCount = page.getTotal() / page.getSize();
if (page.getTotal() % page.getSize() > 0) {
pageCount++;
}
writer.print("<nav><ul class=\"pagination\">");
//显示“上一页”按钮
if (page.getPage() > 1) {
String preUrl = append(url, "page", page.getPage() - 1);
preUrl = append(preUrl, "rows", page.getSize());
writer.print("<li><a href=\"" + preUrl + "\">上一页</a></li>");
} else {
writer.print("<li class=\"disabled\"><a href=\"#\">上一页</a></li>");
}
//显示当前页码的前2页码和后两页码
//若1 则 1 2 3 4 5, 若2 则 1 2 3 4 5, 若3 则1 2 3 4 5,
//若4 则 2 3 4 5 6 ,若10 则 8 9 10 11 12
int indexPage = (page.getPage() - 2 > 0)? page.getPage() - 2 : 1;
for(int i=1; i <= number && indexPage <= pageCount; indexPage++, i++) {
if(indexPage == page.getPage()) {
writer.print( "<li class=\"active\"><a href=\"#\">"+indexPage+"<span class=\"sr-only\">(current)</span></a></li>");
continue;
}
String pageUrl = append(url, "page", indexPage);
pageUrl = append(pageUrl, "rows", page.getSize());
writer.print("<li><a href=\"" + pageUrl + "\">"+ indexPage +"</a></li>");
}
//显示“下一页”按钮
if (page.getPage() < pageCount) {
String nextUrl = append(url, "page", page.getPage() + 1);
nextUrl = append(nextUrl, "rows", page.getSize());
writer.print("<li><a href=\"" + nextUrl + "\">下一页</a></li>");
} else {
writer.print("<li class=\"disabled\"><a href=\"#\">下一页</a></li>");
}
writer.print("</nav>");
} catch (IOException e) {
e.printStackTrace();
}
return SKIP_BODY;
}
private String append(String url, String key, int value) {
return append(url, key, String.valueOf(value));
}
/**
* url
*
* @param url
* @param key
* @param value
* @return
*/
private String append(String url, String key, String value) {
if (url == null || url.trim().length() == 0) {
return "";
}
if (url.indexOf("?") == -1) {
url = url + "?" + key + "=" + value;
} else {
if(url.endsWith("?")) {
url = url + key + "=" + value;
} else {
url = url + "&amp;" + key + "=" + value;
}
}
return url;
}
/**
* url
*
* @param url
* @param pageContext
* @return
* @throws javax.servlet.jsp.JspException
*/
private String resolveUrl(String url, javax.servlet.jsp.PageContext pageContext) throws JspException{
//UrlSupport.resolveUrl(url, context, pageContext)
Map params = pageContext.getRequest().getParameterMap();
for (Object key:params.keySet()) {
if ("page".equals(key) || "rows".equals(key)) continue;
Object value = params.get(key);
if (value == null) continue;
if (value.getClass().isArray()) {
url = append(url, key.toString(), ((String[])value)[0]);
} else if (value instanceof String) {
url = append(url, key.toString(), value.toString());
}
}
return url;
}
/**
* @return the bean
*/
public String getBean() {
return bean;
}
/**
* @param bean the bean to set
*/
public void setBean(String bean) {
this.bean = bean;
}
/**
* @return the url
*/
public String getUrl() {
return url;
}
/**
* @param url the url to set
*/
public void setUrl(String url) {
this.url = url;
}
public void setNumber(int number) {
this.number = number;
}
}

@ -0,0 +1,36 @@
package com.dream.common;
import java.util.List;
public class Page<T> {
private int total;
private int page;
private int size;
private List<T> rows;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
}

@ -0,0 +1,111 @@
package com.dream.controller;
import com.dream.common.E3Result;
import com.dream.common.Page;
import com.dream.po.Admin;
import com.dream.service.AdminService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@Controller
public class AdminController {
@Autowired
private AdminService adminService;
@RequestMapping("/")
public String showLogin(){
return "adminLogin";
}
@RequestMapping("/{page}")
public String showPage(@PathVariable String page){
return page;
}
// @RequestMapping(value="/admin/login",method = RequestMethod.POST)
// @ResponseBody
// public E3Result login(String adminname, String adminpassword, Model model, HttpServletRequest request) {
// E3Result e3Result = adminService.adminLogin(adminname, adminpassword);
// Admin admin = null;
// // 判断是否登录成功
// if (e3Result.getStatus() == 200) {
// admin= (Admin) e3Result.getData();
// }
// model.addAttribute("admin", admin);
// request.getSession().setAttribute("admin", admin);
// // 返回结果
// return e3Result;
// }
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public E3Result login(String adminname, String adminpassword, Model model) {
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(adminname, adminpassword);
try {
subject.login(token);
} catch (UnknownAccountException e) {
e.printStackTrace();
model.addAttribute("userName", "用户名错误!");
return E3Result.build(500, "用户名错误");
} catch (IncorrectCredentialsException e) {
e.printStackTrace();
model.addAttribute("passwd", "密码错误");
return E3Result.build(500, "密码错误" );
}
return E3Result.ok();
}
@RequestMapping(value = "/admin/list")
@RequiresRoles("admin")
public String getUserList(@RequestParam(defaultValue="1")Integer page, @RequestParam(defaultValue="10")Integer rows, String adminname, Model model) {
Page<Admin> admins = adminService.findAdminList(page, rows, adminname);
model.addAttribute("page", admins);
model.addAttribute("adminname", adminname);
return "adminManage";
}
@RequestMapping("/admin/delete")
@ResponseBody
public String deleteAdmin(Integer id) {
adminService.deleteAdmin(id);
return "OK";
}
@RequestMapping("/admin/edit")
@ResponseBody
public Admin getAdminById(Integer id) {
Admin admin = adminService.getAdminById(id);
return admin;
}
@RequestMapping("/admin/update")
@ResponseBody
public String updateAdmin(Admin admin) {
adminService.updateAdmin(admin);
return "OK";
}
@RequestMapping("/admin/add")
@ResponseBody
public String addAdmin(Admin admin) {
adminService.addAdmin(admin);
return "OK";
}
}

@ -0,0 +1,91 @@
package com.dream.controller;
import com.dream.common.Page;
import com.dream.po.*;
import com.dream.service.MovieService;
import com.dream.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.Mapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Controller
public class MovieController {
@Autowired
private MovieService movieService;
@Autowired
private UserService userService;
@RequestMapping(value = "/movie")
public String showMovie() {
return "redirect:/movie/list.action";
}
// 电影列表
@RequestMapping(value = "/movie/list")
public String list(Query query, Model model) {
Page<NewMovie> movies = movieService.findMovieList(query);
model.addAttribute("page", movies);
List<Category> categorylist = movieService.selectCategory();
model.addAttribute("categoryList", categorylist);
//参数回显
model.addAttribute("movieName", query.getMovieName());
model.addAttribute("categoryId", query.getCategoryId());
return "movieManage";
}
// 用户管理
@RequestMapping(value = "/movie/userlist")
public String showUser() {
return "redirect:/user/list.action";
}
// 管理员管理
@RequestMapping(value = "/movie/adminlist")
public String showAdmin() {
return "redirect:/admin/list.action";
}
@RequestMapping("/movie/delete")
@ResponseBody
public String customerDelete(Integer id) {
movieService.deleteMovie(id);
return "OK";
}
@RequestMapping("/movie/edit")
@ResponseBody
public NewMovie getMovieById(Integer id) {
NewMovie newMovie = movieService.getMovieById(id);
return newMovie;
}
@RequestMapping("/movie/update")
@ResponseBody
public String updateMovie(Movie movie, HttpServletRequest request) {
String[] categoryIds = request.getParameterValues("categoryId");
movieService.updateMovie(movie, categoryIds);
return "OK";
}
@RequestMapping("/movie/add")
@ResponseBody
public String addMovie(Movie movie, HttpServletRequest request) {
String[] categoryIds = request.getParameterValues("categoryId");
movieService.addMovie(movie, categoryIds);
return "OK";
}
}

@ -0,0 +1,56 @@
package com.dream.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.dream.common.FastDFSClient;
import com.dream.common.JsonUtils;
/**
* Controller
* @author ZXL
*
*/
@Controller
public class PictureController {
@Value("${IMAGE_SERVER_URL}")
private String IMAGE_SERVER_URL;
@RequestMapping(value="/movie/file/upload", produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")
@ResponseBody
public String uploadFile(@RequestParam(value = "file") MultipartFile uploadFile){
try {
//把图片上传的图片服务器
FastDFSClient fastDFSClient = new FastDFSClient("classpath:conf/client.conf");
//取文件扩展名
String originalFilename = uploadFile.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
//得到一个图片的地址和文件名
String url = fastDFSClient.uploadFile(uploadFile.getBytes(), extName);
//补充为完整的url
url = IMAGE_SERVER_URL + '/' + url;
//封装到map中返回
System.out.println(url);
Map result = new HashMap<>();
result.put("error", 0);
result.put("url", url);
return JsonUtils.objectToJson(result);
} catch (Exception e) {
e.printStackTrace();
Map result = new HashMap<>();
result.put("error", 0);
result.put("url", "图片上传失败");
return JsonUtils.objectToJson(result);
}
}
}

@ -0,0 +1,55 @@
package com.dream.controller;
import com.dream.common.Page;
import com.dream.po.User;
import com.dream.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/user/list")
public String getUserList(@RequestParam(defaultValue="1")Integer page, @RequestParam(defaultValue="10")Integer rows, String username, Model model) {
Page<User> users = userService.findUserList(page, rows, username);
model.addAttribute("page", users);
model.addAttribute("username", username);
return "userManage";
}
@RequestMapping("/user/delete")
@ResponseBody
public String deleteUser(Integer id) {
userService.deleteUser(id);
return "OK";
}
@RequestMapping("/user/edit")
@ResponseBody
public User getUserById(Integer id) {
User user = userService.getUserById(id);
return user;
}
@RequestMapping("/user/update")
@ResponseBody
public String updateUser(User user) {
userService.updateUser(user);
return "OK";
}
@RequestMapping("/user/add")
@ResponseBody
public String addUser(User user) {
userService.addUser(user);
return "OK";
}
}

@ -0,0 +1,33 @@
package com.dream.mapper;
import com.dream.po.Admin;
import com.dream.po.AdminExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface AdminMapper {
int countByExample(AdminExample example);
int deleteByExample(AdminExample example);
int deleteByPrimaryKey(Integer adminid);
int insert(Admin record);
int insertSelective(Admin record);
List<Admin> selectByExample(AdminExample example);
Admin selectByPrimaryKey(Integer adminid);
int updateByExampleSelective(@Param("record") Admin record, @Param("example") AdminExample example);
int updateByExample(@Param("record") Admin record, @Param("example") AdminExample example);
int updateByPrimaryKeySelective(Admin record);
int updateByPrimaryKey(Admin record);
List<Admin> selectAdminList(Admin admin);
Integer selectAdminListCount(Admin admin);
}

@ -0,0 +1,211 @@
<?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.dream.mapper.AdminMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Admin" >
<id column="adminid" property="adminid" jdbcType="INTEGER" />
<result column="adminname" property="adminname" jdbcType="VARCHAR" />
<result column="adminpassword" property="adminpassword" jdbcType="VARCHAR" />
<result column="role" property="role" jdbcType="INTEGER" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
adminid, adminname, adminpassword, role
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.AdminExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from admin
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from admin
where adminid = #{adminid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from admin
where adminid = #{adminid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.AdminExample" >
delete from admin
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Admin" >
insert into admin (adminid, adminname, adminpassword,role
)
values (#{adminid,jdbcType=INTEGER}, #{adminname,jdbcType=VARCHAR}, #{adminpassword,jdbcType=VARCHAR},#{role,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Admin" >
insert into admin
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="adminid != null" >
adminid,
</if>
<if test="adminname != null" >
adminname,
</if>
<if test="adminpassword != null" >
adminpassword,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="adminid != null" >
#{adminid,jdbcType=INTEGER},
</if>
<if test="adminname != null" >
#{adminname,jdbcType=VARCHAR},
</if>
<if test="adminpassword != null" >
#{adminpassword,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.AdminExample" resultType="java.lang.Integer" >
select count(*) from admin
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update admin
<set >
<if test="record.adminid != null" >
adminid = #{record.adminid,jdbcType=INTEGER},
</if>
<if test="record.adminname != null" >
adminname = #{record.adminname,jdbcType=VARCHAR},
</if>
<if test="record.adminpassword != null" >
adminpassword = #{record.adminpassword,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update admin
set adminid = #{record.adminid,jdbcType=INTEGER},
adminname = #{record.adminname,jdbcType=VARCHAR},
adminpassword = #{record.adminpassword,jdbcType=VARCHAR}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.Admin" >
update admin
<set >
<if test="adminname != null" >
adminname = #{adminname,jdbcType=VARCHAR},
</if>
<if test="adminpassword != null" >
adminpassword = #{adminpassword,jdbcType=VARCHAR},
</if>
</set>
where adminid = #{adminid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.Admin" >
update admin
set adminname = #{adminname,jdbcType=VARCHAR},
adminpassword = #{adminpassword,jdbcType=VARCHAR},
role = #{role,jdbcType=INTEGER}
where adminid = #{adminid,jdbcType=INTEGER}
</update>
<sql id="selectAdminListWhere">
<where>
<if test="adminname != null" >
adminname like "%"#{adminname}"%"
</if>
and role = 1
</where>
</sql>
<select id="selectAdminList" parameterType="admin" resultType="admin">
SELECT
adminid,
adminname,
adminpassword,
role
FROM
admin
<include refid="selectAdminListWhere"/>
<if test="start !=null and rows != null">
limit #{start},#{rows}
</if>
</select>
<select id="selectAdminListCount" parameterType="admin" resultType="int">
select count(*)
from admin
<include refid="selectAdminListWhere"/>
</select>
</mapper>

@ -0,0 +1,31 @@
package com.dream.mapper;
import java.util.List;
import com.dream.po.Browse;
import com.dream.po.BrowseExample;
import org.apache.ibatis.annotations.Param;
public interface BrowseMapper {
int countByExample(BrowseExample example);
int deleteByExample(BrowseExample example);
int deleteByPrimaryKey(Integer browseid);
int insert(Browse record);
int insertSelective(Browse record);
List<Browse> selectByExample(BrowseExample example);
Browse selectByPrimaryKey(Integer browseid);
int updateByExampleSelective(@Param("record") Browse record, @Param("example") BrowseExample example);
int updateByExample(@Param("record") Browse record, @Param("example") BrowseExample example);
int updateByPrimaryKeySelective(Browse record);
int updateByPrimaryKey(Browse record);
}

@ -0,0 +1,196 @@
<?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.dream.mapper.BrowseMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Browse" >
<id column="browseid" property="browseid" jdbcType="INTEGER" />
<result column="userid" property="userid" jdbcType="INTEGER" />
<result column="movieids" property="movieids" jdbcType="VARCHAR" />
<result column="browsetime" property="browsetime" jdbcType="TIMESTAMP" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
browseid, userid, movieids, browsetime
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.BrowseExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from browse
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from browse
where browseid = #{browseid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from browse
where browseid = #{browseid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.BrowseExample" >
delete from browse
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Browse" >
insert into browse (browseid, userid, movieids,
browsetime)
values (#{browseid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{movieids,jdbcType=VARCHAR},
#{browsetime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Browse" >
insert into browse
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="browseid != null" >
browseid,
</if>
<if test="userid != null" >
userid,
</if>
<if test="movieids != null" >
movieids,
</if>
<if test="browsetime != null" >
browsetime,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="browseid != null" >
#{browseid,jdbcType=INTEGER},
</if>
<if test="userid != null" >
#{userid,jdbcType=INTEGER},
</if>
<if test="movieids != null" >
#{movieids,jdbcType=VARCHAR},
</if>
<if test="browsetime != null" >
#{browsetime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.BrowseExample" resultType="java.lang.Integer" >
select count(*) from browse
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update browse
<set >
<if test="record.browseid != null" >
browseid = #{record.browseid,jdbcType=INTEGER},
</if>
<if test="record.userid != null" >
userid = #{record.userid,jdbcType=INTEGER},
</if>
<if test="record.movieids != null" >
movieids = #{record.movieids,jdbcType=VARCHAR},
</if>
<if test="record.browsetime != null" >
browsetime = #{record.browsetime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update browse
set browseid = #{record.browseid,jdbcType=INTEGER},
userid = #{record.userid,jdbcType=INTEGER},
movieids = #{record.movieids,jdbcType=VARCHAR},
browsetime = #{record.browsetime,jdbcType=TIMESTAMP}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.Browse" >
update browse
<set >
<if test="userid != null" >
userid = #{userid,jdbcType=INTEGER},
</if>
<if test="movieids != null" >
movieids = #{movieids,jdbcType=VARCHAR},
</if>
<if test="browsetime != null" >
browsetime = #{browsetime,jdbcType=TIMESTAMP},
</if>
</set>
where browseid = #{browseid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.Browse" >
update browse
set userid = #{userid,jdbcType=INTEGER},
movieids = #{movieids,jdbcType=VARCHAR},
browsetime = #{browsetime,jdbcType=TIMESTAMP}
where browseid = #{browseid,jdbcType=INTEGER}
</update>
</mapper>

@ -0,0 +1,30 @@
package com.dream.mapper;
import com.dream.po.Category;
import com.dream.po.CategoryExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface CategoryMapper {
int countByExample(CategoryExample example);
int deleteByExample(CategoryExample example);
int deleteByPrimaryKey(Integer categoryid);
int insert(Category record);
int insertSelective(Category record);
List<Category> selectByExample(CategoryExample example);
Category selectByPrimaryKey(Integer categoryid);
int updateByExampleSelective(@Param("record") Category record, @Param("example") CategoryExample example);
int updateByExample(@Param("record") Category record, @Param("example") CategoryExample example);
int updateByPrimaryKeySelective(Category record);
int updateByPrimaryKey(Category record);
}

@ -0,0 +1,164 @@
<?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.dream.mapper.CategoryMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Category" >
<id column="categoryid" property="categoryid" jdbcType="INTEGER" />
<result column="category" property="category" jdbcType="VARCHAR" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
categoryid, category
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.CategoryExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from category
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from category
where categoryid = #{categoryid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from category
where categoryid = #{categoryid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.CategoryExample" >
delete from category
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Category" >
insert into category (categoryid, category)
values (#{categoryid,jdbcType=INTEGER}, #{category,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Category" >
insert into category
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="categoryid != null" >
categoryid,
</if>
<if test="category != null" >
category,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="categoryid != null" >
#{categoryid,jdbcType=INTEGER},
</if>
<if test="category != null" >
#{category,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.CategoryExample" resultType="java.lang.Integer" >
select count(*) from category
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update category
<set >
<if test="record.categoryid != null" >
categoryid = #{record.categoryid,jdbcType=INTEGER},
</if>
<if test="record.category != null" >
category = #{record.category,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update category
set categoryid = #{record.categoryid,jdbcType=INTEGER},
category = #{record.category,jdbcType=VARCHAR}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.Category" >
update category
<set >
<if test="category != null" >
category = #{category,jdbcType=VARCHAR},
</if>
</set>
where categoryid = #{categoryid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.Category" >
update category
set category = #{category,jdbcType=VARCHAR}
where categoryid = #{categoryid,jdbcType=INTEGER}
</update>
</mapper>

@ -0,0 +1,43 @@
package com.dream.mapper;
import com.dream.po.Movie;
import com.dream.po.MovieExample;
import java.util.List;
import com.dream.po.Query;
import org.apache.ibatis.annotations.Param;
public interface MovieMapper {
int countByExample(MovieExample example);
int deleteByExample(MovieExample example);
int deleteByPrimaryKey(Integer movieid);
int insert(Movie record);
int insertSelective(Movie record);
List<Movie> selectByExample(MovieExample example);
Movie selectByPrimaryKey(Integer movieid);
int updateByExampleSelective(@Param("record") Movie record, @Param("example") MovieExample example);
int updateByExample(@Param("record") Movie record, @Param("example") MovieExample example);
int updateByPrimaryKeySelective(Movie record);
int updateByPrimaryKey(Movie record);
List<Movie> selectMovieList(Movie movie);
Integer selectMovieListCount(Movie movie);
void updateMovie(Movie movie);
//总条数
public Integer movieCount(Query query);
//结果集
public List<Movie> selectMovieListByQuery(Query query);
}

@ -0,0 +1,323 @@
<?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.dream.mapper.MovieMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Movie" >
<id column="movieid" property="movieid" jdbcType="INTEGER" />
<result column="moviename" property="moviename" jdbcType="VARCHAR" />
<result column="showyear" property="showyear" jdbcType="TIMESTAMP" />
<result column="nation" property="nation" jdbcType="VARCHAR" />
<result column="director" property="director" jdbcType="VARCHAR" />
<result column="leadactors" property="leadactors" jdbcType="VARCHAR" />
<result column="screenwriter" property="screenwriter" jdbcType="VARCHAR" />
<result column="picture" property="picture" jdbcType="VARCHAR" />
<result column="averating" property="averating" jdbcType="DOUBLE" />
<result column="numrating" property="numrating" jdbcType="INTEGER" />
<result column="description" property="description" jdbcType="VARCHAR" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
movieid, moviename, showyear, nation, director, leadactors, screenwriter, picture, averating, numrating, description
</sql>
<sql id="selectMovieListWhere">
<where>
<if test="moviename != null" >
moviename like "%"#{moviename}"%"
</if>
</where>
</sql>
<select id="selectMovieList" parameterType="movie" resultType="movie">
SELECT
movieid,
moviename,
showyear,
nation,
director,
leadactors,
screenwriter,
picture
FROM
movie
<include refid="selectMovieListWhere"/>
<if test="start !=null and rows != null">
limit #{start},#{rows}
</if>
</select>
<select id="selectMovieListCount" parameterType="movie" resultType="int">
select count(*)
from movie
<include refid="selectMovieListWhere"/>
</select>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.MovieExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from movie
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from movie
where movieid = #{movieid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from movie
where movieid = #{movieid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.MovieExample" >
delete from movie
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Movie" useGeneratedKeys="true" keyProperty="movieid">
insert into movie (movieid, moviename, showyear,
nation, director, leadactors,
screenwriter, averating, numrating, picture, description)
values (#{movieid,jdbcType=INTEGER}, #{moviename,jdbcType=VARCHAR}, #{showyear,jdbcType=TIMESTAMP},
#{nation,jdbcType=VARCHAR}, #{director,jdbcType=VARCHAR}, #{leadactors,jdbcType=VARCHAR},
#{screenwriter,jdbcType=VARCHAR},#{averating,jdbcType=DOUBLE}, #{numrating,jdbcType=INTEGER}, #{picture,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Movie" >
insert into movie
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="movieid != null" >
movieid,
</if>
<if test="moviename != null" >
moviename,
</if>
<if test="showyear != null" >
showyear,
</if>
<if test="nation != null" >
nation,
</if>
<if test="director != null" >
director,
</if>
<if test="leadactors != null" >
leadactors,
</if>
<if test="screenwriter != null" >
screenwriter,
</if>
<if test="picture != null" >
picture,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="movieid != null" >
#{movieid,jdbcType=INTEGER},
</if>
<if test="moviename != null" >
#{moviename,jdbcType=VARCHAR},
</if>
<if test="showyear != null" >
#{showyear,jdbcType=TIMESTAMP},
</if>
<if test="nation != null" >
#{nation,jdbcType=VARCHAR},
</if>
<if test="director != null" >
#{director,jdbcType=VARCHAR},
</if>
<if test="leadactors != null" >
#{leadactors,jdbcType=VARCHAR},
</if>
<if test="screenwriter != null" >
#{screenwriter,jdbcType=VARCHAR},
</if>
<if test="picture != null" >
#{picture,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.MovieExample" resultType="java.lang.Integer" >
select count(*) from movie
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update movie
<set >
<if test="record.movieid != null" >
movieid = #{record.movieid,jdbcType=INTEGER},
</if>
<if test="record.moviename != null" >
moviename = #{record.moviename,jdbcType=VARCHAR},
</if>
<if test="record.showyear != null" >
showyear = #{record.showyear,jdbcType=TIMESTAMP},
</if>
<if test="record.nation != null" >
nation = #{record.nation,jdbcType=VARCHAR},
</if>
<if test="record.director != null" >
director = #{record.director,jdbcType=VARCHAR},
</if>
<if test="record.leadactors != null" >
leadactors = #{record.leadactors,jdbcType=VARCHAR},
</if>
<if test="record.screenwriter != null" >
screenwriter = #{record.screenwriter,jdbcType=VARCHAR},
</if>
<if test="record.picture != null" >
picture = #{record.picture,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update movie
set movieid = #{record.movieid,jdbcType=INTEGER},
moviename = #{record.moviename,jdbcType=VARCHAR},
showyear = #{record.showyear,jdbcType=TIMESTAMP},
nation = #{record.nation,jdbcType=VARCHAR},
director = #{record.director,jdbcType=VARCHAR},
leadactors = #{record.leadactors,jdbcType=VARCHAR},
screenwriter = #{record.screenwriter,jdbcType=VARCHAR},
picture = #{record.picture,jdbcType=VARCHAR}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.Movie" >
update movie
<set >
<if test="moviename != null" >
moviename = #{moviename,jdbcType=VARCHAR},
</if>
<if test="showyear != null" >
showyear = #{showyear,jdbcType=TIMESTAMP},
</if>
<if test="nation != null" >
nation = #{nation,jdbcType=VARCHAR},
</if>
<if test="director != null" >
director = #{director,jdbcType=VARCHAR},
</if>
<if test="leadactors != null" >
leadactors = #{leadactors,jdbcType=VARCHAR},
</if>
<if test="screenwriter != null" >
screenwriter = #{screenwriter,jdbcType=VARCHAR},
</if>
<if test="picture != null" >
picture = #{picture,jdbcType=VARCHAR},
</if>
</set>
where movieid = #{movieid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.Movie" >
update movie
set moviename = #{moviename,jdbcType=VARCHAR},
nation = #{nation,jdbcType=VARCHAR},
director = #{director,jdbcType=VARCHAR},
leadactors = #{leadactors,jdbcType=VARCHAR},
screenwriter = #{screenwriter,jdbcType=VARCHAR},
averating = #{averating,jdbcType=DOUBLE},
numrating = #{numrating,jdbcType=INTEGER},
description = #{description,jdbcType=VARCHAR},
picture = #{picture,jdbcType=VARCHAR}
where movieid = #{movieid,jdbcType=INTEGER}
</update>
<select id="movieCount" parameterType="Query"
resultType="Integer">
select count(1) from movie
<where>
<if test="movieName != null and movieName != ''">
moviename like "%"#{movieName}"%"
</if>
<if test="categoryId != 0">
and movieid IN (select movieid from moviecategory where categoryid=#{categoryId})
</if>
</where>
</select>
<select id="selectMovieListByQuery" parameterType="Query"
resultType="Movie">
select * from movie
<where>
<if test="movieName != null and movieName != ''">
moviename like "%"#{movieName}"%"
</if>
<if test="categoryId != 0">
and movieid IN (select movieid from moviecategory where categoryid=#{categoryId})
</if>
</where>
limit #{startRow},#{size}
</select>
</mapper>

@ -0,0 +1,30 @@
package com.dream.mapper;
import com.dream.po.Moviecategory;
import com.dream.po.MoviecategoryExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface MoviecategoryMapper {
int countByExample(MoviecategoryExample example);
int deleteByExample(MoviecategoryExample example);
int deleteByPrimaryKey(Integer movcatid);
int insert(Moviecategory record);
int insertSelective(Moviecategory record);
List<Moviecategory> selectByExample(MoviecategoryExample example);
Moviecategory selectByPrimaryKey(Integer movcatid);
int updateByExampleSelective(@Param("record") Moviecategory record, @Param("example") MoviecategoryExample example);
int updateByExample(@Param("record") Moviecategory record, @Param("example") MoviecategoryExample example);
int updateByPrimaryKeySelective(Moviecategory record);
int updateByPrimaryKey(Moviecategory record);
}

@ -0,0 +1,181 @@
<?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.dream.mapper.MoviecategoryMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Moviecategory" >
<id column="movcatid" property="movcatid" jdbcType="INTEGER" />
<result column="movieid" property="movieid" jdbcType="INTEGER" />
<result column="categoryid" property="categoryid" jdbcType="INTEGER" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
movcatid, movieid, categoryid
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.MoviecategoryExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from moviecategory
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from moviecategory
where movcatid = #{movcatid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from moviecategory
where movcatid = #{movcatid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.MoviecategoryExample" >
delete from moviecategory
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Moviecategory" >
insert into moviecategory (movcatid, movieid, categoryid
)
values (#{movcatid,jdbcType=INTEGER}, #{movieid,jdbcType=INTEGER}, #{categoryid,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Moviecategory" >
insert into moviecategory
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="movcatid != null" >
movcatid,
</if>
<if test="movieid != null" >
movieid,
</if>
<if test="categoryid != null" >
categoryid,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="movcatid != null" >
#{movcatid,jdbcType=INTEGER},
</if>
<if test="movieid != null" >
#{movieid,jdbcType=INTEGER},
</if>
<if test="categoryid != null" >
#{categoryid,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.MoviecategoryExample" resultType="java.lang.Integer" >
select count(*) from moviecategory
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update moviecategory
<set >
<if test="record.movcatid != null" >
movcatid = #{record.movcatid,jdbcType=INTEGER},
</if>
<if test="record.movieid != null" >
movieid = #{record.movieid,jdbcType=INTEGER},
</if>
<if test="record.categoryid != null" >
categoryid = #{record.categoryid,jdbcType=INTEGER},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update moviecategory
set movcatid = #{record.movcatid,jdbcType=INTEGER},
movieid = #{record.movieid,jdbcType=INTEGER},
categoryid = #{record.categoryid,jdbcType=INTEGER}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.Moviecategory" >
update moviecategory
<set >
<if test="movieid != null" >
movieid = #{movieid,jdbcType=INTEGER},
</if>
<if test="categoryid != null" >
categoryid = #{categoryid,jdbcType=INTEGER},
</if>
</set>
where movcatid = #{movcatid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.Moviecategory" >
update moviecategory
set movieid = #{movieid,jdbcType=INTEGER},
categoryid = #{categoryid,jdbcType=INTEGER}
where movcatid = #{movcatid,jdbcType=INTEGER}
</update>
</mapper>

@ -0,0 +1,22 @@
package com.dream.mapper;
import com.dream.po.Rectab;
import com.dream.po.RectabExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface RectabMapper {
int countByExample(RectabExample example);
int deleteByExample(RectabExample example);
int insert(Rectab record);
int insertSelective(Rectab record);
List<Rectab> selectByExample(RectabExample example);
int updateByExampleSelective(@Param("record") Rectab record, @Param("example") RectabExample example);
int updateByExample(@Param("record") Rectab record, @Param("example") RectabExample example);
}

@ -0,0 +1,140 @@
<?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.dream.mapper.RectabMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Rectab" >
<result column="userid" property="userid" jdbcType="INTEGER" />
<result column="movieids" property="movieids" jdbcType="VARCHAR" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
userid, movieids
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.RectabExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from rectab
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<delete id="deleteByExample" parameterType="com.dream.po.RectabExample" >
delete from rectab
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Rectab" >
insert into rectab (userid, movieids)
values (#{userid,jdbcType=INTEGER}, #{movieids,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Rectab" >
insert into rectab
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="userid != null" >
userid,
</if>
<if test="movieids != null" >
movieids,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="userid != null" >
#{userid,jdbcType=INTEGER},
</if>
<if test="movieids != null" >
#{movieids,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.RectabExample" resultType="java.lang.Integer" >
select count(*) from rectab
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update rectab
<set >
<if test="record.userid != null" >
userid = #{record.userid,jdbcType=INTEGER},
</if>
<if test="record.movieids != null" >
movieids = #{record.movieids,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update rectab
set userid = #{record.userid,jdbcType=INTEGER},
movieids = #{record.movieids,jdbcType=VARCHAR}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
</mapper>

@ -0,0 +1,30 @@
package com.dream.mapper;
import com.dream.po.Review;
import com.dream.po.ReviewExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface ReviewMapper {
int countByExample(ReviewExample example);
int deleteByExample(ReviewExample example);
int deleteByPrimaryKey(Integer reviewid);
int insert(Review record);
int insertSelective(Review record);
List<Review> selectByExample(ReviewExample example);
Review selectByPrimaryKey(Integer reviewid);
int updateByExampleSelective(@Param("record") Review record, @Param("example") ReviewExample example);
int updateByExample(@Param("record") Review record, @Param("example") ReviewExample example);
int updateByPrimaryKeySelective(Review record);
int updateByPrimaryKey(Review record);
}

@ -0,0 +1,228 @@
<?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.dream.mapper.ReviewMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.Review" >
<id column="reviewid" property="reviewid" jdbcType="INTEGER" />
<result column="userid" property="userid" jdbcType="INTEGER" />
<result column="movieid" property="movieid" jdbcType="INTEGER" />
<result column="content" property="content" jdbcType="VARCHAR" />
<result column="star" property="star" jdbcType="INTEGER" />
<result column="reviewtime" property="reviewtime" jdbcType="TIMESTAMP" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
reviewid, userid, movieid, content, star, reviewtime
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.ReviewExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from review
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from review
where reviewid = #{reviewid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from review
where reviewid = #{reviewid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.ReviewExample" >
delete from review
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.Review" >
insert into review (reviewid, userid, movieid,
content, star, reviewtime
)
values (#{reviewid,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{movieid,jdbcType=INTEGER},
#{content,jdbcType=VARCHAR}, #{star,jdbcType=INTEGER}, #{reviewtime,jdbcType=TIMESTAMP}
)
</insert>
<insert id="insertSelective" parameterType="com.dream.po.Review" >
insert into review
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="reviewid != null" >
reviewid,
</if>
<if test="userid != null" >
userid,
</if>
<if test="movieid != null" >
movieid,
</if>
<if test="content != null" >
content,
</if>
<if test="star != null" >
star,
</if>
<if test="reviewtime != null" >
reviewtime,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="reviewid != null" >
#{reviewid,jdbcType=INTEGER},
</if>
<if test="userid != null" >
#{userid,jdbcType=INTEGER},
</if>
<if test="movieid != null" >
#{movieid,jdbcType=INTEGER},
</if>
<if test="content != null" >
#{content,jdbcType=VARCHAR},
</if>
<if test="star != null" >
#{star,jdbcType=INTEGER},
</if>
<if test="reviewtime != null" >
#{reviewtime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.ReviewExample" resultType="java.lang.Integer" >
select count(*) from review
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update review
<set >
<if test="record.reviewid != null" >
reviewid = #{record.reviewid,jdbcType=INTEGER},
</if>
<if test="record.userid != null" >
userid = #{record.userid,jdbcType=INTEGER},
</if>
<if test="record.movieid != null" >
movieid = #{record.movieid,jdbcType=INTEGER},
</if>
<if test="record.content != null" >
content = #{record.content,jdbcType=VARCHAR},
</if>
<if test="record.star != null" >
star = #{record.star,jdbcType=INTEGER},
</if>
<if test="record.reviewtime != null" >
reviewtime = #{record.reviewtime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update review
set reviewid = #{record.reviewid,jdbcType=INTEGER},
userid = #{record.userid,jdbcType=INTEGER},
movieid = #{record.movieid,jdbcType=INTEGER},
content = #{record.content,jdbcType=VARCHAR},
star = #{record.star,jdbcType=INTEGER},
reviewtime = #{record.reviewtime,jdbcType=TIMESTAMP}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.Review" >
update review
<set >
<if test="userid != null" >
userid = #{userid,jdbcType=INTEGER},
</if>
<if test="movieid != null" >
movieid = #{movieid,jdbcType=INTEGER},
</if>
<if test="content != null" >
content = #{content,jdbcType=VARCHAR},
</if>
<if test="star != null" >
star = #{star,jdbcType=INTEGER},
</if>
<if test="reviewtime != null" >
reviewtime = #{reviewtime,jdbcType=TIMESTAMP},
</if>
</set>
where reviewid = #{reviewid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.Review" >
update review
set userid = #{userid,jdbcType=INTEGER},
movieid = #{movieid,jdbcType=INTEGER},
content = #{content,jdbcType=VARCHAR},
star = #{star,jdbcType=INTEGER},
reviewtime = #{reviewtime,jdbcType=TIMESTAMP}
where reviewid = #{reviewid,jdbcType=INTEGER}
</update>
</mapper>

@ -0,0 +1,33 @@
package com.dream.mapper;
import com.dream.po.User;
import com.dream.po.UserExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface UserMapper {
int countByExample(UserExample example);
int deleteByExample(UserExample example);
int deleteByPrimaryKey(Integer userid);
int insert(User record);
int insertSelective(User record);
List<User> selectByExample(UserExample example);
User selectByPrimaryKey(Integer userid);
int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example);
int updateByExample(@Param("record") User record, @Param("example") UserExample example);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
List<User> selectUserList(User user);
Integer selectUserListCount(User user);
}

@ -0,0 +1,256 @@
<?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.dream.mapper.UserMapper" >
<resultMap id="BaseResultMap" type="com.dream.po.User" >
<id column="userid" property="userid" jdbcType="INTEGER" />
<result column="username" property="username" jdbcType="VARCHAR" />
<result column="password" property="password" jdbcType="VARCHAR" />
<result column="registertime" property="registertime" jdbcType="TIMESTAMP" />
<result column="lastlogintime" property="lastlogintime" jdbcType="TIMESTAMP" />
<result column="email" property="email" jdbcType="VARCHAR" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" 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="(" suffix=")" prefixOverrides="and" >
<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 collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
userid, username, password, registertime, lastlogintime, email
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.dream.po.UserExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from user
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<sql id="selectUserListWhere">
<where>
<if test="username != null" >
username like "%"#{username}"%"
</if>
</where>
</sql>
<select id="selectUserList" parameterType="user" resultType="user">
SELECT
userid,
username,
password,
registertime,
lastlogintime,
email
FROM
user
<include refid="selectUserListWhere"/>
<if test="start !=null and rows != null">
limit #{start},#{rows}
</if>
</select>
<select id="selectUserListCount" parameterType="user" resultType="int">
select count(*)
from user
<include refid="selectUserListWhere"/>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from user
where userid = #{userid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from user
where userid = #{userid,jdbcType=INTEGER}
</delete>
<delete id="deleteByExample" parameterType="com.dream.po.UserExample" >
delete from user
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.dream.po.User" >
insert into user (userid, username, password,
registertime, lastlogintime,email)
values (#{userid,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{registertime,jdbcType=TIMESTAMP}, #{lastlogintime,jdbcType=TIMESTAMP}, #{email,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.dream.po.User" >
insert into user
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="userid != null" >
userid,
</if>
<if test="username != null" >
username,
</if>
<if test="password != null" >
password,
</if>
<if test="registertime != null" >
registertime,
</if>
<if test="lastlogintime != null" >
lastlogintime,
</if>
<if test="email != null" >
email,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="userid != null" >
#{userid,jdbcType=INTEGER},
</if>
<if test="username != null" >
#{username,jdbcType=VARCHAR},
</if>
<if test="password != null" >
#{password,jdbcType=VARCHAR},
</if>
<if test="registertime != null" >
#{registertime,jdbcType=TIMESTAMP},
</if>
<if test="lastlogintime != null" >
#{lastlogintime,jdbcType=TIMESTAMP},
</if>
<if test="email != null" >
#{email,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.dream.po.UserExample" resultType="java.lang.Integer" >
select count(*) from user
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update user
<set >
<if test="record.userid != null" >
userid = #{record.userid,jdbcType=INTEGER},
</if>
<if test="record.username != null" >
username = #{record.username,jdbcType=VARCHAR},
</if>
<if test="record.password != null" >
password = #{record.password,jdbcType=VARCHAR},
</if>
<if test="record.registertime != null" >
registertime = #{record.registertime,jdbcType=TIMESTAMP},
</if>
<if test="record.lastlogintime != null" >
lastlogintime = #{record.lastlogintime,jdbcType=TIMESTAMP},
</if>
<if test="record.email != null" >
email = #{record.email,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update user
set userid = #{record.userid,jdbcType=INTEGER},
username = #{record.username,jdbcType=VARCHAR},
password = #{record.password,jdbcType=VARCHAR},
registertime = #{record.registertime,jdbcType=TIMESTAMP},
lastlogintime = #{record.lastlogintime,jdbcType=TIMESTAMP},
email = #{record.email,jdbcType=VARCHAR}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.dream.po.User" >
update user
<set >
<if test="username != null" >
username = #{username,jdbcType=VARCHAR},
</if>
<if test="password != null" >
password = #{password,jdbcType=VARCHAR},
</if>
<if test="registertime != null" >
registertime = #{registertime,jdbcType=TIMESTAMP},
</if>
<if test="lastlogintime != null" >
lastlogintime = #{lastlogintime,jdbcType=TIMESTAMP},
</if>
<if test="email != null" >
email = #{email,jdbcType=VARCHAR},
</if>
</set>
where userid = #{userid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.dream.po.User" >
update user
set username = #{username,jdbcType=VARCHAR},
password = #{password,jdbcType=VARCHAR},
registertime = #{registertime,jdbcType=TIMESTAMP},
lastlogintime = #{lastlogintime,jdbcType=TIMESTAMP},
email = #{email,jdbcType=VARCHAR}
where userid = #{userid,jdbcType=INTEGER}
</update>
</mapper>

@ -0,0 +1,63 @@
package com.dream.po;
public class Admin {
private Integer adminid;
private String adminname;
private String adminpassword;
private Integer role;
private Integer start;
private Integer rows;
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public Integer getRows() {
return rows;
}
public void setRows(Integer rows) {
this.rows = rows;
}
public Integer getRole() {
return role;
}
public void setRole(Integer role) {
this.role = role;
}
public Integer getAdminid() {
return adminid;
}
public void setAdminid(Integer adminid) {
this.adminid = adminid;
}
public String getAdminname() {
return adminname;
}
public void setAdminname(String adminname) {
this.adminname = adminname == null ? null : adminname.trim();
}
public String getAdminpassword() {
return adminpassword;
}
public void setAdminpassword(String adminpassword) {
this.adminpassword = adminpassword == null ? null : adminpassword.trim();
}
}

@ -0,0 +1,400 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.List;
public class AdminExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public AdminExample() {
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 andAdminidIsNull() {
addCriterion("adminid is null");
return (Criteria) this;
}
public Criteria andAdminidIsNotNull() {
addCriterion("adminid is not null");
return (Criteria) this;
}
public Criteria andAdminidEqualTo(Integer value) {
addCriterion("adminid =", value, "adminid");
return (Criteria) this;
}
public Criteria andAdminidNotEqualTo(Integer value) {
addCriterion("adminid <>", value, "adminid");
return (Criteria) this;
}
public Criteria andAdminidGreaterThan(Integer value) {
addCriterion("adminid >", value, "adminid");
return (Criteria) this;
}
public Criteria andAdminidGreaterThanOrEqualTo(Integer value) {
addCriterion("adminid >=", value, "adminid");
return (Criteria) this;
}
public Criteria andAdminidLessThan(Integer value) {
addCriterion("adminid <", value, "adminid");
return (Criteria) this;
}
public Criteria andAdminidLessThanOrEqualTo(Integer value) {
addCriterion("adminid <=", value, "adminid");
return (Criteria) this;
}
public Criteria andAdminidIn(List<Integer> values) {
addCriterion("adminid in", values, "adminid");
return (Criteria) this;
}
public Criteria andAdminidNotIn(List<Integer> values) {
addCriterion("adminid not in", values, "adminid");
return (Criteria) this;
}
public Criteria andAdminidBetween(Integer value1, Integer value2) {
addCriterion("adminid between", value1, value2, "adminid");
return (Criteria) this;
}
public Criteria andAdminidNotBetween(Integer value1, Integer value2) {
addCriterion("adminid not between", value1, value2, "adminid");
return (Criteria) this;
}
public Criteria andAdminnameIsNull() {
addCriterion("adminname is null");
return (Criteria) this;
}
public Criteria andAdminnameIsNotNull() {
addCriterion("adminname is not null");
return (Criteria) this;
}
public Criteria andAdminnameEqualTo(String value) {
addCriterion("adminname =", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameNotEqualTo(String value) {
addCriterion("adminname <>", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameGreaterThan(String value) {
addCriterion("adminname >", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameGreaterThanOrEqualTo(String value) {
addCriterion("adminname >=", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameLessThan(String value) {
addCriterion("adminname <", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameLessThanOrEqualTo(String value) {
addCriterion("adminname <=", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameLike(String value) {
addCriterion("adminname like", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameNotLike(String value) {
addCriterion("adminname not like", value, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameIn(List<String> values) {
addCriterion("adminname in", values, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameNotIn(List<String> values) {
addCriterion("adminname not in", values, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameBetween(String value1, String value2) {
addCriterion("adminname between", value1, value2, "adminname");
return (Criteria) this;
}
public Criteria andAdminnameNotBetween(String value1, String value2) {
addCriterion("adminname not between", value1, value2, "adminname");
return (Criteria) this;
}
public Criteria andAdminpasswordIsNull() {
addCriterion("adminpassword is null");
return (Criteria) this;
}
public Criteria andAdminpasswordIsNotNull() {
addCriterion("adminpassword is not null");
return (Criteria) this;
}
public Criteria andAdminpasswordEqualTo(String value) {
addCriterion("adminpassword =", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordNotEqualTo(String value) {
addCriterion("adminpassword <>", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordGreaterThan(String value) {
addCriterion("adminpassword >", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordGreaterThanOrEqualTo(String value) {
addCriterion("adminpassword >=", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordLessThan(String value) {
addCriterion("adminpassword <", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordLessThanOrEqualTo(String value) {
addCriterion("adminpassword <=", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordLike(String value) {
addCriterion("adminpassword like", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordNotLike(String value) {
addCriterion("adminpassword not like", value, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordIn(List<String> values) {
addCriterion("adminpassword in", values, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordNotIn(List<String> values) {
addCriterion("adminpassword not in", values, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordBetween(String value1, String value2) {
addCriterion("adminpassword between", value1, value2, "adminpassword");
return (Criteria) this;
}
public Criteria andAdminpasswordNotBetween(String value1, String value2) {
addCriterion("adminpassword not between", value1, value2, "adminpassword");
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);
}
}
}

@ -0,0 +1,45 @@
package com.dream.po;
import java.util.Date;
public class Browse {
private Integer browseid;
private Integer userid;
private String movieids;
private Date browsetime;
public Integer getBrowseid() {
return browseid;
}
public void setBrowseid(Integer browseid) {
this.browseid = browseid;
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getMovieids() {
return movieids;
}
public void setMovieids(String movieids) {
this.movieids = movieids == null ? null : movieids.trim();
}
public Date getBrowsetime() {
return browsetime;
}
public void setBrowsetime(Date browsetime) {
this.browsetime = browsetime;
}
}

@ -0,0 +1,451 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class BrowseExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public BrowseExample() {
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 andBrowseidIsNull() {
addCriterion("browseid is null");
return (Criteria) this;
}
public Criteria andBrowseidIsNotNull() {
addCriterion("browseid is not null");
return (Criteria) this;
}
public Criteria andBrowseidEqualTo(Integer value) {
addCriterion("browseid =", value, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidNotEqualTo(Integer value) {
addCriterion("browseid <>", value, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidGreaterThan(Integer value) {
addCriterion("browseid >", value, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidGreaterThanOrEqualTo(Integer value) {
addCriterion("browseid >=", value, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidLessThan(Integer value) {
addCriterion("browseid <", value, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidLessThanOrEqualTo(Integer value) {
addCriterion("browseid <=", value, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidIn(List<Integer> values) {
addCriterion("browseid in", values, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidNotIn(List<Integer> values) {
addCriterion("browseid not in", values, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidBetween(Integer value1, Integer value2) {
addCriterion("browseid between", value1, value2, "browseid");
return (Criteria) this;
}
public Criteria andBrowseidNotBetween(Integer value1, Integer value2) {
addCriterion("browseid not between", value1, value2, "browseid");
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(Integer value) {
addCriterion("userid =", value, "userid");
return (Criteria) this;
}
public Criteria andUseridNotEqualTo(Integer value) {
addCriterion("userid <>", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThan(Integer value) {
addCriterion("userid >", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
addCriterion("userid >=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThan(Integer value) {
addCriterion("userid <", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThanOrEqualTo(Integer value) {
addCriterion("userid <=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridIn(List<Integer> values) {
addCriterion("userid in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridNotIn(List<Integer> values) {
addCriterion("userid not in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridBetween(Integer value1, Integer value2) {
addCriterion("userid between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andUseridNotBetween(Integer value1, Integer value2) {
addCriterion("userid not between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andMovieidsIsNull() {
addCriterion("movieids is null");
return (Criteria) this;
}
public Criteria andMovieidsIsNotNull() {
addCriterion("movieids is not null");
return (Criteria) this;
}
public Criteria andMovieidsEqualTo(String value) {
addCriterion("movieids =", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotEqualTo(String value) {
addCriterion("movieids <>", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsGreaterThan(String value) {
addCriterion("movieids >", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsGreaterThanOrEqualTo(String value) {
addCriterion("movieids >=", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsLessThan(String value) {
addCriterion("movieids <", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsLessThanOrEqualTo(String value) {
addCriterion("movieids <=", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsLike(String value) {
addCriterion("movieids like", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotLike(String value) {
addCriterion("movieids not like", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsIn(List<String> values) {
addCriterion("movieids in", values, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotIn(List<String> values) {
addCriterion("movieids not in", values, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsBetween(String value1, String value2) {
addCriterion("movieids between", value1, value2, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotBetween(String value1, String value2) {
addCriterion("movieids not between", value1, value2, "movieids");
return (Criteria) this;
}
public Criteria andBrowsetimeIsNull() {
addCriterion("browsetime is null");
return (Criteria) this;
}
public Criteria andBrowsetimeIsNotNull() {
addCriterion("browsetime is not null");
return (Criteria) this;
}
public Criteria andBrowsetimeEqualTo(Date value) {
addCriterion("browsetime =", value, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeNotEqualTo(Date value) {
addCriterion("browsetime <>", value, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeGreaterThan(Date value) {
addCriterion("browsetime >", value, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeGreaterThanOrEqualTo(Date value) {
addCriterion("browsetime >=", value, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeLessThan(Date value) {
addCriterion("browsetime <", value, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeLessThanOrEqualTo(Date value) {
addCriterion("browsetime <=", value, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeIn(List<Date> values) {
addCriterion("browsetime in", values, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeNotIn(List<Date> values) {
addCriterion("browsetime not in", values, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeBetween(Date value1, Date value2) {
addCriterion("browsetime between", value1, value2, "browsetime");
return (Criteria) this;
}
public Criteria andBrowsetimeNotBetween(Date value1, Date value2) {
addCriterion("browsetime not between", value1, value2, "browsetime");
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);
}
}
}

@ -0,0 +1,23 @@
package com.dream.po;
public class Category {
private Integer categoryid;
private String category;
public Integer getCategoryid() {
return categoryid;
}
public void setCategoryid(Integer categoryid) {
this.categoryid = categoryid;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category == null ? null : category.trim();
}
}

@ -0,0 +1,330 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.List;
public class CategoryExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public CategoryExample() {
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 andCategoryidIsNull() {
addCriterion("categoryid is null");
return (Criteria) this;
}
public Criteria andCategoryidIsNotNull() {
addCriterion("categoryid is not null");
return (Criteria) this;
}
public Criteria andCategoryidEqualTo(Integer value) {
addCriterion("categoryid =", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidNotEqualTo(Integer value) {
addCriterion("categoryid <>", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidGreaterThan(Integer value) {
addCriterion("categoryid >", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidGreaterThanOrEqualTo(Integer value) {
addCriterion("categoryid >=", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidLessThan(Integer value) {
addCriterion("categoryid <", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidLessThanOrEqualTo(Integer value) {
addCriterion("categoryid <=", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidIn(List<Integer> values) {
addCriterion("categoryid in", values, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidNotIn(List<Integer> values) {
addCriterion("categoryid not in", values, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidBetween(Integer value1, Integer value2) {
addCriterion("categoryid between", value1, value2, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidNotBetween(Integer value1, Integer value2) {
addCriterion("categoryid not between", value1, value2, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryIsNull() {
addCriterion("category is null");
return (Criteria) this;
}
public Criteria andCategoryIsNotNull() {
addCriterion("category is not null");
return (Criteria) this;
}
public Criteria andCategoryEqualTo(String value) {
addCriterion("category =", value, "category");
return (Criteria) this;
}
public Criteria andCategoryNotEqualTo(String value) {
addCriterion("category <>", value, "category");
return (Criteria) this;
}
public Criteria andCategoryGreaterThan(String value) {
addCriterion("category >", value, "category");
return (Criteria) this;
}
public Criteria andCategoryGreaterThanOrEqualTo(String value) {
addCriterion("category >=", value, "category");
return (Criteria) this;
}
public Criteria andCategoryLessThan(String value) {
addCriterion("category <", value, "category");
return (Criteria) this;
}
public Criteria andCategoryLessThanOrEqualTo(String value) {
addCriterion("category <=", value, "category");
return (Criteria) this;
}
public Criteria andCategoryLike(String value) {
addCriterion("category like", value, "category");
return (Criteria) this;
}
public Criteria andCategoryNotLike(String value) {
addCriterion("category not like", value, "category");
return (Criteria) this;
}
public Criteria andCategoryIn(List<String> values) {
addCriterion("category in", values, "category");
return (Criteria) this;
}
public Criteria andCategoryNotIn(List<String> values) {
addCriterion("category not in", values, "category");
return (Criteria) this;
}
public Criteria andCategoryBetween(String value1, String value2) {
addCriterion("category between", value1, value2, "category");
return (Criteria) this;
}
public Criteria andCategoryNotBetween(String value1, String value2) {
addCriterion("category not between", value1, value2, "category");
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);
}
}
}

@ -0,0 +1,141 @@
package com.dream.po;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
//import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
public class Movie implements Serializable{
private Integer movieid;
private String moviename;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date showyear;
private String nation;
private String director;
private String leadactors;
private String screenwriter;
private String picture;
// 添加三个字段
private Double averating;
private Integer numrating;
private String description;
private Integer start;
private Integer rows;
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public Integer getRows() {
return rows;
}
public void setRows(Integer rows) {
this.rows = rows;
}
public Integer getMovieid() {
return movieid;
}
public void setMovieid(Integer movieid) {
this.movieid = movieid;
}
public String getMoviename() {
return moviename;
}
public void setMoviename(String moviename) {
this.moviename = moviename == null ? null : moviename.trim();
}
public Date getShowyear() {
return showyear;
}
public void setShowyear(Date showyear) {
this.showyear = showyear;
}
public String getNation() {
return nation;
}
public void setNation(String nation) {
this.nation = nation == null ? null : nation.trim();
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director == null ? null : director.trim();
}
public String getLeadactors() {
return leadactors;
}
public void setLeadactors(String leadactors) {
this.leadactors = leadactors == null ? null : leadactors.trim();
}
public String getScreenwriter() {
return screenwriter;
}
public void setScreenwriter(String screenwriter) {
this.screenwriter = screenwriter == null ? null : screenwriter.trim();
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture == null ? null : picture.trim();
}
public Double getAverating() {
return averating;
}
public void setAverating(Double averating) {
this.averating = averating;
}
public Integer getNumrating() {
return numrating;
}
public void setNumrating(Integer numrating) {
this.numrating = numrating;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}

@ -0,0 +1,741 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class MovieExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public MovieExample() {
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 andMovieidIsNull() {
addCriterion("movieid is null");
return (Criteria) this;
}
public Criteria andMovieidIsNotNull() {
addCriterion("movieid is not null");
return (Criteria) this;
}
public Criteria andMovieidEqualTo(Integer value) {
addCriterion("movieid =", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotEqualTo(Integer value) {
addCriterion("movieid <>", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidGreaterThan(Integer value) {
addCriterion("movieid >", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidGreaterThanOrEqualTo(Integer value) {
addCriterion("movieid >=", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidLessThan(Integer value) {
addCriterion("movieid <", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidLessThanOrEqualTo(Integer value) {
addCriterion("movieid <=", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidIn(List<Integer> values) {
addCriterion("movieid in", values, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotIn(List<Integer> values) {
addCriterion("movieid not in", values, "movieid");
return (Criteria) this;
}
public Criteria andMovieidBetween(Integer value1, Integer value2) {
addCriterion("movieid between", value1, value2, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotBetween(Integer value1, Integer value2) {
addCriterion("movieid not between", value1, value2, "movieid");
return (Criteria) this;
}
public Criteria andMovienameIsNull() {
addCriterion("moviename is null");
return (Criteria) this;
}
public Criteria andMovienameIsNotNull() {
addCriterion("moviename is not null");
return (Criteria) this;
}
public Criteria andMovienameEqualTo(String value) {
addCriterion("moviename =", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameNotEqualTo(String value) {
addCriterion("moviename <>", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameGreaterThan(String value) {
addCriterion("moviename >", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameGreaterThanOrEqualTo(String value) {
addCriterion("moviename >=", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameLessThan(String value) {
addCriterion("moviename <", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameLessThanOrEqualTo(String value) {
addCriterion("moviename <=", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameLike(String value) {
addCriterion("moviename like", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameNotLike(String value) {
addCriterion("moviename not like", value, "moviename");
return (Criteria) this;
}
public Criteria andMovienameIn(List<String> values) {
addCriterion("moviename in", values, "moviename");
return (Criteria) this;
}
public Criteria andMovienameNotIn(List<String> values) {
addCriterion("moviename not in", values, "moviename");
return (Criteria) this;
}
public Criteria andMovienameBetween(String value1, String value2) {
addCriterion("moviename between", value1, value2, "moviename");
return (Criteria) this;
}
public Criteria andMovienameNotBetween(String value1, String value2) {
addCriterion("moviename not between", value1, value2, "moviename");
return (Criteria) this;
}
public Criteria andShowyearIsNull() {
addCriterion("showyear is null");
return (Criteria) this;
}
public Criteria andShowyearIsNotNull() {
addCriterion("showyear is not null");
return (Criteria) this;
}
public Criteria andShowyearEqualTo(Date value) {
addCriterion("showyear =", value, "showyear");
return (Criteria) this;
}
public Criteria andShowyearNotEqualTo(Date value) {
addCriterion("showyear <>", value, "showyear");
return (Criteria) this;
}
public Criteria andShowyearGreaterThan(Date value) {
addCriterion("showyear >", value, "showyear");
return (Criteria) this;
}
public Criteria andShowyearGreaterThanOrEqualTo(Date value) {
addCriterion("showyear >=", value, "showyear");
return (Criteria) this;
}
public Criteria andShowyearLessThan(Date value) {
addCriterion("showyear <", value, "showyear");
return (Criteria) this;
}
public Criteria andShowyearLessThanOrEqualTo(Date value) {
addCriterion("showyear <=", value, "showyear");
return (Criteria) this;
}
public Criteria andShowyearIn(List<Date> values) {
addCriterion("showyear in", values, "showyear");
return (Criteria) this;
}
public Criteria andShowyearNotIn(List<Date> values) {
addCriterion("showyear not in", values, "showyear");
return (Criteria) this;
}
public Criteria andShowyearBetween(Date value1, Date value2) {
addCriterion("showyear between", value1, value2, "showyear");
return (Criteria) this;
}
public Criteria andShowyearNotBetween(Date value1, Date value2) {
addCriterion("showyear not between", value1, value2, "showyear");
return (Criteria) this;
}
public Criteria andNationIsNull() {
addCriterion("nation is null");
return (Criteria) this;
}
public Criteria andNationIsNotNull() {
addCriterion("nation is not null");
return (Criteria) this;
}
public Criteria andNationEqualTo(String value) {
addCriterion("nation =", value, "nation");
return (Criteria) this;
}
public Criteria andNationNotEqualTo(String value) {
addCriterion("nation <>", value, "nation");
return (Criteria) this;
}
public Criteria andNationGreaterThan(String value) {
addCriterion("nation >", value, "nation");
return (Criteria) this;
}
public Criteria andNationGreaterThanOrEqualTo(String value) {
addCriterion("nation >=", value, "nation");
return (Criteria) this;
}
public Criteria andNationLessThan(String value) {
addCriterion("nation <", value, "nation");
return (Criteria) this;
}
public Criteria andNationLessThanOrEqualTo(String value) {
addCriterion("nation <=", value, "nation");
return (Criteria) this;
}
public Criteria andNationLike(String value) {
addCriterion("nation like", value, "nation");
return (Criteria) this;
}
public Criteria andNationNotLike(String value) {
addCriterion("nation not like", value, "nation");
return (Criteria) this;
}
public Criteria andNationIn(List<String> values) {
addCriterion("nation in", values, "nation");
return (Criteria) this;
}
public Criteria andNationNotIn(List<String> values) {
addCriterion("nation not in", values, "nation");
return (Criteria) this;
}
public Criteria andNationBetween(String value1, String value2) {
addCriterion("nation between", value1, value2, "nation");
return (Criteria) this;
}
public Criteria andNationNotBetween(String value1, String value2) {
addCriterion("nation not between", value1, value2, "nation");
return (Criteria) this;
}
public Criteria andDirectorIsNull() {
addCriterion("director is null");
return (Criteria) this;
}
public Criteria andDirectorIsNotNull() {
addCriterion("director is not null");
return (Criteria) this;
}
public Criteria andDirectorEqualTo(String value) {
addCriterion("director =", value, "director");
return (Criteria) this;
}
public Criteria andDirectorNotEqualTo(String value) {
addCriterion("director <>", value, "director");
return (Criteria) this;
}
public Criteria andDirectorGreaterThan(String value) {
addCriterion("director >", value, "director");
return (Criteria) this;
}
public Criteria andDirectorGreaterThanOrEqualTo(String value) {
addCriterion("director >=", value, "director");
return (Criteria) this;
}
public Criteria andDirectorLessThan(String value) {
addCriterion("director <", value, "director");
return (Criteria) this;
}
public Criteria andDirectorLessThanOrEqualTo(String value) {
addCriterion("director <=", value, "director");
return (Criteria) this;
}
public Criteria andDirectorLike(String value) {
addCriterion("director like", value, "director");
return (Criteria) this;
}
public Criteria andDirectorNotLike(String value) {
addCriterion("director not like", value, "director");
return (Criteria) this;
}
public Criteria andDirectorIn(List<String> values) {
addCriterion("director in", values, "director");
return (Criteria) this;
}
public Criteria andDirectorNotIn(List<String> values) {
addCriterion("director not in", values, "director");
return (Criteria) this;
}
public Criteria andDirectorBetween(String value1, String value2) {
addCriterion("director between", value1, value2, "director");
return (Criteria) this;
}
public Criteria andDirectorNotBetween(String value1, String value2) {
addCriterion("director not between", value1, value2, "director");
return (Criteria) this;
}
public Criteria andLeadactorsIsNull() {
addCriterion("leadactors is null");
return (Criteria) this;
}
public Criteria andLeadactorsIsNotNull() {
addCriterion("leadactors is not null");
return (Criteria) this;
}
public Criteria andLeadactorsEqualTo(String value) {
addCriterion("leadactors =", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsNotEqualTo(String value) {
addCriterion("leadactors <>", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsGreaterThan(String value) {
addCriterion("leadactors >", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsGreaterThanOrEqualTo(String value) {
addCriterion("leadactors >=", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsLessThan(String value) {
addCriterion("leadactors <", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsLessThanOrEqualTo(String value) {
addCriterion("leadactors <=", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsLike(String value) {
addCriterion("leadactors like", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsNotLike(String value) {
addCriterion("leadactors not like", value, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsIn(List<String> values) {
addCriterion("leadactors in", values, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsNotIn(List<String> values) {
addCriterion("leadactors not in", values, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsBetween(String value1, String value2) {
addCriterion("leadactors between", value1, value2, "leadactors");
return (Criteria) this;
}
public Criteria andLeadactorsNotBetween(String value1, String value2) {
addCriterion("leadactors not between", value1, value2, "leadactors");
return (Criteria) this;
}
public Criteria andScreenwriterIsNull() {
addCriterion("screenwriter is null");
return (Criteria) this;
}
public Criteria andScreenwriterIsNotNull() {
addCriterion("screenwriter is not null");
return (Criteria) this;
}
public Criteria andScreenwriterEqualTo(String value) {
addCriterion("screenwriter =", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterNotEqualTo(String value) {
addCriterion("screenwriter <>", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterGreaterThan(String value) {
addCriterion("screenwriter >", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterGreaterThanOrEqualTo(String value) {
addCriterion("screenwriter >=", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterLessThan(String value) {
addCriterion("screenwriter <", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterLessThanOrEqualTo(String value) {
addCriterion("screenwriter <=", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterLike(String value) {
addCriterion("screenwriter like", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterNotLike(String value) {
addCriterion("screenwriter not like", value, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterIn(List<String> values) {
addCriterion("screenwriter in", values, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterNotIn(List<String> values) {
addCriterion("screenwriter not in", values, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterBetween(String value1, String value2) {
addCriterion("screenwriter between", value1, value2, "screenwriter");
return (Criteria) this;
}
public Criteria andScreenwriterNotBetween(String value1, String value2) {
addCriterion("screenwriter not between", value1, value2, "screenwriter");
return (Criteria) this;
}
public Criteria andPictureIsNull() {
addCriterion("picture is null");
return (Criteria) this;
}
public Criteria andPictureIsNotNull() {
addCriterion("picture is not null");
return (Criteria) this;
}
public Criteria andPictureEqualTo(String value) {
addCriterion("picture =", value, "picture");
return (Criteria) this;
}
public Criteria andPictureNotEqualTo(String value) {
addCriterion("picture <>", value, "picture");
return (Criteria) this;
}
public Criteria andPictureGreaterThan(String value) {
addCriterion("picture >", value, "picture");
return (Criteria) this;
}
public Criteria andPictureGreaterThanOrEqualTo(String value) {
addCriterion("picture >=", value, "picture");
return (Criteria) this;
}
public Criteria andPictureLessThan(String value) {
addCriterion("picture <", value, "picture");
return (Criteria) this;
}
public Criteria andPictureLessThanOrEqualTo(String value) {
addCriterion("picture <=", value, "picture");
return (Criteria) this;
}
public Criteria andPictureLike(String value) {
addCriterion("picture like", value, "picture");
return (Criteria) this;
}
public Criteria andPictureNotLike(String value) {
addCriterion("picture not like", value, "picture");
return (Criteria) this;
}
public Criteria andPictureIn(List<String> values) {
addCriterion("picture in", values, "picture");
return (Criteria) this;
}
public Criteria andPictureNotIn(List<String> values) {
addCriterion("picture not in", values, "picture");
return (Criteria) this;
}
public Criteria andPictureBetween(String value1, String value2) {
addCriterion("picture between", value1, value2, "picture");
return (Criteria) this;
}
public Criteria andPictureNotBetween(String value1, String value2) {
addCriterion("picture not between", value1, value2, "picture");
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);
}
}
}

@ -0,0 +1,33 @@
package com.dream.po;
public class Moviecategory {
private Integer movcatid;
private Integer movieid;
private Integer categoryid;
public Integer getMovcatid() {
return movcatid;
}
public void setMovcatid(Integer movcatid) {
this.movcatid = movcatid;
}
public Integer getMovieid() {
return movieid;
}
public void setMovieid(Integer movieid) {
this.movieid = movieid;
}
public Integer getCategoryid() {
return categoryid;
}
public void setCategoryid(Integer categoryid) {
this.categoryid = categoryid;
}
}

@ -0,0 +1,380 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.List;
public class MoviecategoryExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public MoviecategoryExample() {
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 andMovcatidIsNull() {
addCriterion("movcatid is null");
return (Criteria) this;
}
public Criteria andMovcatidIsNotNull() {
addCriterion("movcatid is not null");
return (Criteria) this;
}
public Criteria andMovcatidEqualTo(Integer value) {
addCriterion("movcatid =", value, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidNotEqualTo(Integer value) {
addCriterion("movcatid <>", value, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidGreaterThan(Integer value) {
addCriterion("movcatid >", value, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidGreaterThanOrEqualTo(Integer value) {
addCriterion("movcatid >=", value, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidLessThan(Integer value) {
addCriterion("movcatid <", value, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidLessThanOrEqualTo(Integer value) {
addCriterion("movcatid <=", value, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidIn(List<Integer> values) {
addCriterion("movcatid in", values, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidNotIn(List<Integer> values) {
addCriterion("movcatid not in", values, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidBetween(Integer value1, Integer value2) {
addCriterion("movcatid between", value1, value2, "movcatid");
return (Criteria) this;
}
public Criteria andMovcatidNotBetween(Integer value1, Integer value2) {
addCriterion("movcatid not between", value1, value2, "movcatid");
return (Criteria) this;
}
public Criteria andMovieidIsNull() {
addCriterion("movieid is null");
return (Criteria) this;
}
public Criteria andMovieidIsNotNull() {
addCriterion("movieid is not null");
return (Criteria) this;
}
public Criteria andMovieidEqualTo(Integer value) {
addCriterion("movieid =", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotEqualTo(Integer value) {
addCriterion("movieid <>", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidGreaterThan(Integer value) {
addCriterion("movieid >", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidGreaterThanOrEqualTo(Integer value) {
addCriterion("movieid >=", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidLessThan(Integer value) {
addCriterion("movieid <", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidLessThanOrEqualTo(Integer value) {
addCriterion("movieid <=", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidIn(List<Integer> values) {
addCriterion("movieid in", values, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotIn(List<Integer> values) {
addCriterion("movieid not in", values, "movieid");
return (Criteria) this;
}
public Criteria andMovieidBetween(Integer value1, Integer value2) {
addCriterion("movieid between", value1, value2, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotBetween(Integer value1, Integer value2) {
addCriterion("movieid not between", value1, value2, "movieid");
return (Criteria) this;
}
public Criteria andCategoryidIsNull() {
addCriterion("categoryid is null");
return (Criteria) this;
}
public Criteria andCategoryidIsNotNull() {
addCriterion("categoryid is not null");
return (Criteria) this;
}
public Criteria andCategoryidEqualTo(Integer value) {
addCriterion("categoryid =", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidNotEqualTo(Integer value) {
addCriterion("categoryid <>", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidGreaterThan(Integer value) {
addCriterion("categoryid >", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidGreaterThanOrEqualTo(Integer value) {
addCriterion("categoryid >=", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidLessThan(Integer value) {
addCriterion("categoryid <", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidLessThanOrEqualTo(Integer value) {
addCriterion("categoryid <=", value, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidIn(List<Integer> values) {
addCriterion("categoryid in", values, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidNotIn(List<Integer> values) {
addCriterion("categoryid not in", values, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidBetween(Integer value1, Integer value2) {
addCriterion("categoryid between", value1, value2, "categoryid");
return (Criteria) this;
}
public Criteria andCategoryidNotBetween(Integer value1, Integer value2) {
addCriterion("categoryid not between", value1, value2, "categoryid");
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);
}
}
}

@ -0,0 +1,144 @@
package com.dream.po;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
public class NewMovie {
private Integer movieid;
private String moviename;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date showyear;
private String nation;
private String director;
private String leadactors;
private String screenwriter;
private String picture;
private Integer[] categoryid;
private String categoryname;
// 新加入的三个字段
private Double averating;
private Integer numrating;
private String description;
public Double getAverating() {
return averating;
}
public void setAverating(Double averating) {
this.averating = averating;
}
public Integer getNumrating() {
return numrating;
}
public void setNumrating(Integer numrating) {
this.numrating = numrating;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer[] getCategoryid() {
return categoryid;
}
public void setCategoryid(Integer[] categoryid) {
this.categoryid = categoryid;
}
public String getCategoryname() {
return categoryname;
}
public void setCategoryname(String categoryname) {
this.categoryname = categoryname;
}
public Integer getMovieid() {
return movieid;
}
public void setMovieid(Integer movieid) {
this.movieid = movieid;
}
public String getMoviename() {
return moviename;
}
public void setMoviename(String moviename) {
this.moviename = moviename;
}
public Date getShowyear() {
return showyear;
}
public void setShowyear(Date showyear) {
this.showyear = showyear;
}
public String getNation() {
return nation;
}
public void setNation(String nation) {
this.nation = nation;
}
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
public String getLeadactors() {
return leadactors;
}
public void setLeadactors(String leadactors) {
this.leadactors = leadactors;
}
public String getScreenwriter() {
return screenwriter;
}
public void setScreenwriter(String screenwriter) {
this.screenwriter = screenwriter;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
}

@ -0,0 +1,55 @@
package com.dream.po;
public class Query{
private String movieName;
private int categoryId;
//当前页
private Integer page;
//每页数
private Integer size=5;
//开始行
private Integer startRow = 0;
public String getMovieName() {
return movieName;
}
public Integer getPage() {
return page;
}
public Integer getSize() {
return size;
}
public Integer getStartRow() {
return startRow;
}
public void setMovieName(String movieName) {
this.movieName = movieName;
}
public void setPage(Integer page) {
this.page = page;
}
public void setSize(Integer size) {
this.size = size;
}
public void setStartRow(Integer startRow) {
this.startRow = startRow;
}
public int getCategoryId() {
return categoryId;
}
public void setCategoryId(int categoryId) {
this.categoryId = categoryId;
}
}

@ -0,0 +1,44 @@
package com.dream.po;
public class QueryUser {
private String username;
//当前页
private Integer page;
//每页数
private Integer size=5;
//开始行
private Integer startRow = 0;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public Integer getStartRow() {
return startRow;
}
public void setStartRow(Integer startRow) {
this.startRow = startRow;
}
}

@ -0,0 +1,23 @@
package com.dream.po;
public class Rectab {
private Integer userid;
private String movieids;
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getMovieids() {
return movieids;
}
public void setMovieids(String movieids) {
this.movieids = movieids == null ? null : movieids.trim();
}
}

@ -0,0 +1,330 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.List;
public class RectabExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public RectabExample() {
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 andUseridIsNull() {
addCriterion("userid is null");
return (Criteria) this;
}
public Criteria andUseridIsNotNull() {
addCriterion("userid is not null");
return (Criteria) this;
}
public Criteria andUseridEqualTo(Integer value) {
addCriterion("userid =", value, "userid");
return (Criteria) this;
}
public Criteria andUseridNotEqualTo(Integer value) {
addCriterion("userid <>", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThan(Integer value) {
addCriterion("userid >", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
addCriterion("userid >=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThan(Integer value) {
addCriterion("userid <", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThanOrEqualTo(Integer value) {
addCriterion("userid <=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridIn(List<Integer> values) {
addCriterion("userid in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridNotIn(List<Integer> values) {
addCriterion("userid not in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridBetween(Integer value1, Integer value2) {
addCriterion("userid between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andUseridNotBetween(Integer value1, Integer value2) {
addCriterion("userid not between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andMovieidsIsNull() {
addCriterion("movieids is null");
return (Criteria) this;
}
public Criteria andMovieidsIsNotNull() {
addCriterion("movieids is not null");
return (Criteria) this;
}
public Criteria andMovieidsEqualTo(String value) {
addCriterion("movieids =", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotEqualTo(String value) {
addCriterion("movieids <>", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsGreaterThan(String value) {
addCriterion("movieids >", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsGreaterThanOrEqualTo(String value) {
addCriterion("movieids >=", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsLessThan(String value) {
addCriterion("movieids <", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsLessThanOrEqualTo(String value) {
addCriterion("movieids <=", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsLike(String value) {
addCriterion("movieids like", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotLike(String value) {
addCriterion("movieids not like", value, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsIn(List<String> values) {
addCriterion("movieids in", values, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotIn(List<String> values) {
addCriterion("movieids not in", values, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsBetween(String value1, String value2) {
addCriterion("movieids between", value1, value2, "movieids");
return (Criteria) this;
}
public Criteria andMovieidsNotBetween(String value1, String value2) {
addCriterion("movieids not between", value1, value2, "movieids");
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);
}
}
}

@ -0,0 +1,65 @@
package com.dream.po;
import java.util.Date;
public class Review {
private Integer reviewid;
private Integer userid;
private Integer movieid;
private String content;
private Integer star;
private Date reviewtime;
public Integer getReviewid() {
return reviewid;
}
public void setReviewid(Integer reviewid) {
this.reviewid = reviewid;
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public Integer getMovieid() {
return movieid;
}
public void setMovieid(Integer movieid) {
this.movieid = movieid;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content == null ? null : content.trim();
}
public Integer getStar() {
return star;
}
public void setStar(Integer star) {
this.star = star;
}
public Date getReviewtime() {
return reviewtime;
}
public void setReviewtime(Date reviewtime) {
this.reviewtime = reviewtime;
}
}

@ -0,0 +1,571 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class ReviewExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public ReviewExample() {
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 andReviewidIsNull() {
addCriterion("reviewid is null");
return (Criteria) this;
}
public Criteria andReviewidIsNotNull() {
addCriterion("reviewid is not null");
return (Criteria) this;
}
public Criteria andReviewidEqualTo(Integer value) {
addCriterion("reviewid =", value, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidNotEqualTo(Integer value) {
addCriterion("reviewid <>", value, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidGreaterThan(Integer value) {
addCriterion("reviewid >", value, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidGreaterThanOrEqualTo(Integer value) {
addCriterion("reviewid >=", value, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidLessThan(Integer value) {
addCriterion("reviewid <", value, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidLessThanOrEqualTo(Integer value) {
addCriterion("reviewid <=", value, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidIn(List<Integer> values) {
addCriterion("reviewid in", values, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidNotIn(List<Integer> values) {
addCriterion("reviewid not in", values, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidBetween(Integer value1, Integer value2) {
addCriterion("reviewid between", value1, value2, "reviewid");
return (Criteria) this;
}
public Criteria andReviewidNotBetween(Integer value1, Integer value2) {
addCriterion("reviewid not between", value1, value2, "reviewid");
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(Integer value) {
addCriterion("userid =", value, "userid");
return (Criteria) this;
}
public Criteria andUseridNotEqualTo(Integer value) {
addCriterion("userid <>", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThan(Integer value) {
addCriterion("userid >", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
addCriterion("userid >=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThan(Integer value) {
addCriterion("userid <", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThanOrEqualTo(Integer value) {
addCriterion("userid <=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridIn(List<Integer> values) {
addCriterion("userid in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridNotIn(List<Integer> values) {
addCriterion("userid not in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridBetween(Integer value1, Integer value2) {
addCriterion("userid between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andUseridNotBetween(Integer value1, Integer value2) {
addCriterion("userid not between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andMovieidIsNull() {
addCriterion("movieid is null");
return (Criteria) this;
}
public Criteria andMovieidIsNotNull() {
addCriterion("movieid is not null");
return (Criteria) this;
}
public Criteria andMovieidEqualTo(Integer value) {
addCriterion("movieid =", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotEqualTo(Integer value) {
addCriterion("movieid <>", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidGreaterThan(Integer value) {
addCriterion("movieid >", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidGreaterThanOrEqualTo(Integer value) {
addCriterion("movieid >=", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidLessThan(Integer value) {
addCriterion("movieid <", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidLessThanOrEqualTo(Integer value) {
addCriterion("movieid <=", value, "movieid");
return (Criteria) this;
}
public Criteria andMovieidIn(List<Integer> values) {
addCriterion("movieid in", values, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotIn(List<Integer> values) {
addCriterion("movieid not in", values, "movieid");
return (Criteria) this;
}
public Criteria andMovieidBetween(Integer value1, Integer value2) {
addCriterion("movieid between", value1, value2, "movieid");
return (Criteria) this;
}
public Criteria andMovieidNotBetween(Integer value1, Integer value2) {
addCriterion("movieid not between", value1, value2, "movieid");
return (Criteria) this;
}
public Criteria andContentIsNull() {
addCriterion("content is null");
return (Criteria) this;
}
public Criteria andContentIsNotNull() {
addCriterion("content is not null");
return (Criteria) this;
}
public Criteria andContentEqualTo(String value) {
addCriterion("content =", value, "content");
return (Criteria) this;
}
public Criteria andContentNotEqualTo(String value) {
addCriterion("content <>", value, "content");
return (Criteria) this;
}
public Criteria andContentGreaterThan(String value) {
addCriterion("content >", value, "content");
return (Criteria) this;
}
public Criteria andContentGreaterThanOrEqualTo(String value) {
addCriterion("content >=", value, "content");
return (Criteria) this;
}
public Criteria andContentLessThan(String value) {
addCriterion("content <", value, "content");
return (Criteria) this;
}
public Criteria andContentLessThanOrEqualTo(String value) {
addCriterion("content <=", value, "content");
return (Criteria) this;
}
public Criteria andContentLike(String value) {
addCriterion("content like", value, "content");
return (Criteria) this;
}
public Criteria andContentNotLike(String value) {
addCriterion("content not like", value, "content");
return (Criteria) this;
}
public Criteria andContentIn(List<String> values) {
addCriterion("content in", values, "content");
return (Criteria) this;
}
public Criteria andContentNotIn(List<String> values) {
addCriterion("content not in", values, "content");
return (Criteria) this;
}
public Criteria andContentBetween(String value1, String value2) {
addCriterion("content between", value1, value2, "content");
return (Criteria) this;
}
public Criteria andContentNotBetween(String value1, String value2) {
addCriterion("content not between", value1, value2, "content");
return (Criteria) this;
}
public Criteria andStarIsNull() {
addCriterion("star is null");
return (Criteria) this;
}
public Criteria andStarIsNotNull() {
addCriterion("star is not null");
return (Criteria) this;
}
public Criteria andStarEqualTo(Integer value) {
addCriterion("star =", value, "star");
return (Criteria) this;
}
public Criteria andStarNotEqualTo(Integer value) {
addCriterion("star <>", value, "star");
return (Criteria) this;
}
public Criteria andStarGreaterThan(Integer value) {
addCriterion("star >", value, "star");
return (Criteria) this;
}
public Criteria andStarGreaterThanOrEqualTo(Integer value) {
addCriterion("star >=", value, "star");
return (Criteria) this;
}
public Criteria andStarLessThan(Integer value) {
addCriterion("star <", value, "star");
return (Criteria) this;
}
public Criteria andStarLessThanOrEqualTo(Integer value) {
addCriterion("star <=", value, "star");
return (Criteria) this;
}
public Criteria andStarIn(List<Integer> values) {
addCriterion("star in", values, "star");
return (Criteria) this;
}
public Criteria andStarNotIn(List<Integer> values) {
addCriterion("star not in", values, "star");
return (Criteria) this;
}
public Criteria andStarBetween(Integer value1, Integer value2) {
addCriterion("star between", value1, value2, "star");
return (Criteria) this;
}
public Criteria andStarNotBetween(Integer value1, Integer value2) {
addCriterion("star not between", value1, value2, "star");
return (Criteria) this;
}
public Criteria andReviewtimeIsNull() {
addCriterion("reviewtime is null");
return (Criteria) this;
}
public Criteria andReviewtimeIsNotNull() {
addCriterion("reviewtime is not null");
return (Criteria) this;
}
public Criteria andReviewtimeEqualTo(Date value) {
addCriterion("reviewtime =", value, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeNotEqualTo(Date value) {
addCriterion("reviewtime <>", value, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeGreaterThan(Date value) {
addCriterion("reviewtime >", value, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeGreaterThanOrEqualTo(Date value) {
addCriterion("reviewtime >=", value, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeLessThan(Date value) {
addCriterion("reviewtime <", value, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeLessThanOrEqualTo(Date value) {
addCriterion("reviewtime <=", value, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeIn(List<Date> values) {
addCriterion("reviewtime in", values, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeNotIn(List<Date> values) {
addCriterion("reviewtime not in", values, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeBetween(Date value1, Date value2) {
addCriterion("reviewtime between", value1, value2, "reviewtime");
return (Criteria) this;
}
public Criteria andReviewtimeNotBetween(Date value1, Date value2) {
addCriterion("reviewtime not between", value1, value2, "reviewtime");
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);
}
}
}

@ -0,0 +1,93 @@
package com.dream.po;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
public class User implements Serializable {
private Integer userid;
private String username;
private String password;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date registertime;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date lastlogintime;
private Integer start;
private Integer rows;
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public Integer getRows() {
return rows;
}
public void setRows(Integer rows) {
this.rows = rows;
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public Date getRegistertime() {
return registertime;
}
public void setRegistertime(Date registertime) {
this.registertime = registertime;
}
public Date getLastlogintime() {
return lastlogintime;
}
public void setLastlogintime(Date lastlogintime) {
this.lastlogintime = lastlogintime;
}
}

@ -0,0 +1,542 @@
package com.dream.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class UserExample {
protected Integer size;
//开始行
protected Integer startRow;
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public Integer getStartRow() {
return startRow;
}
public void setStartRow(Integer startRow) {
this.startRow = startRow;
}
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public UserExample() {
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 andUseridIsNull() {
addCriterion("userid is null");
return (Criteria) this;
}
public Criteria andUseridIsNotNull() {
addCriterion("userid is not null");
return (Criteria) this;
}
public Criteria andUseridEqualTo(Integer value) {
addCriterion("userid =", value, "userid");
return (Criteria) this;
}
public Criteria andUseridNotEqualTo(Integer value) {
addCriterion("userid <>", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThan(Integer value) {
addCriterion("userid >", value, "userid");
return (Criteria) this;
}
public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
addCriterion("userid >=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThan(Integer value) {
addCriterion("userid <", value, "userid");
return (Criteria) this;
}
public Criteria andUseridLessThanOrEqualTo(Integer value) {
addCriterion("userid <=", value, "userid");
return (Criteria) this;
}
public Criteria andUseridIn(List<Integer> values) {
addCriterion("userid in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridNotIn(List<Integer> values) {
addCriterion("userid not in", values, "userid");
return (Criteria) this;
}
public Criteria andUseridBetween(Integer value1, Integer value2) {
addCriterion("userid between", value1, value2, "userid");
return (Criteria) this;
}
public Criteria andUseridNotBetween(Integer value1, Integer 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 andPasswordIsNull() {
addCriterion("password is null");
return (Criteria) this;
}
public Criteria andPasswordIsNotNull() {
addCriterion("password is not null");
return (Criteria) this;
}
public Criteria andPasswordEqualTo(String value) {
addCriterion("password =", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotEqualTo(String value) {
addCriterion("password <>", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThan(String value) {
addCriterion("password >", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThanOrEqualTo(String value) {
addCriterion("password >=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThan(String value) {
addCriterion("password <", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThanOrEqualTo(String value) {
addCriterion("password <=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLike(String value) {
addCriterion("password like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotLike(String value) {
addCriterion("password not like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordIn(List<String> values) {
addCriterion("password in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordNotIn(List<String> values) {
addCriterion("password not in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordBetween(String value1, String value2) {
addCriterion("password between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andPasswordNotBetween(String value1, String value2) {
addCriterion("password not between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andRegistertimeIsNull() {
addCriterion("registertime is null");
return (Criteria) this;
}
public Criteria andRegistertimeIsNotNull() {
addCriterion("registertime is not null");
return (Criteria) this;
}
public Criteria andRegistertimeEqualTo(Date value) {
addCriterion("registertime =", value, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeNotEqualTo(Date value) {
addCriterion("registertime <>", value, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeGreaterThan(Date value) {
addCriterion("registertime >", value, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeGreaterThanOrEqualTo(Date value) {
addCriterion("registertime >=", value, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeLessThan(Date value) {
addCriterion("registertime <", value, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeLessThanOrEqualTo(Date value) {
addCriterion("registertime <=", value, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeIn(List<Date> values) {
addCriterion("registertime in", values, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeNotIn(List<Date> values) {
addCriterion("registertime not in", values, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeBetween(Date value1, Date value2) {
addCriterion("registertime between", value1, value2, "registertime");
return (Criteria) this;
}
public Criteria andRegistertimeNotBetween(Date value1, Date value2) {
addCriterion("registertime not between", value1, value2, "registertime");
return (Criteria) this;
}
public Criteria andLastlogintimeIsNull() {
addCriterion("lastlogintime is null");
return (Criteria) this;
}
public Criteria andLastlogintimeIsNotNull() {
addCriterion("lastlogintime is not null");
return (Criteria) this;
}
public Criteria andLastlogintimeEqualTo(Date value) {
addCriterion("lastlogintime =", value, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeNotEqualTo(Date value) {
addCriterion("lastlogintime <>", value, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeGreaterThan(Date value) {
addCriterion("lastlogintime >", value, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeGreaterThanOrEqualTo(Date value) {
addCriterion("lastlogintime >=", value, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeLessThan(Date value) {
addCriterion("lastlogintime <", value, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeLessThanOrEqualTo(Date value) {
addCriterion("lastlogintime <=", value, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeIn(List<Date> values) {
addCriterion("lastlogintime in", values, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeNotIn(List<Date> values) {
addCriterion("lastlogintime not in", values, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeBetween(Date value1, Date value2) {
addCriterion("lastlogintime between", value1, value2, "lastlogintime");
return (Criteria) this;
}
public Criteria andLastlogintimeNotBetween(Date value1, Date value2) {
addCriterion("lastlogintime not between", value1, value2, "lastlogintime");
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);
}
}
}

@ -0,0 +1,22 @@
package com.dream.service;
import com.dream.common.E3Result;
import com.dream.common.Page;
import com.dream.po.Admin;
/**
* Created by ZXL on 2018/3/2.
*/
public interface AdminService {
E3Result adminLogin(String adminname, String adminpassword);
// 管理员列表
public Page<Admin> findAdminList(Integer page, Integer rows, String username);
// 删除用户
public void deleteAdmin(Integer id);
// 编辑管理员
public Admin getAdminById(Integer id);
// 更新管理员信息
public void updateAdmin(Admin admin);
// 添加管理员
public void addAdmin(Admin admin);
}

@ -0,0 +1,26 @@
package com.dream.service;
import com.dream.common.Page;
import com.dream.po.Category;
import com.dream.po.Movie;
import com.dream.po.NewMovie;
import com.dream.po.Query;
import java.util.List;
public interface MovieService {
// 查询客户列表
public Page<NewMovie> findMovieList(Query query);
public NewMovie getMovieById(Integer id);
public void deleteMovie(Integer id);
public List<Category> selectCategory();
public void updateMovie(Movie movie, String[] categoryIds);
public void addMovie(Movie movie, String[] categoryIds);
}

@ -0,0 +1,31 @@
package com.dream.service;
import org.apache.shiro.session.SessionException;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.filter.authc.LogoutFilter;
import org.springframework.stereotype.Service;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@Service
public class SystemLogoutFilter extends LogoutFilter{
@Override
protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
//在这里执行退出系统前需要清空的数据
Subject subject=getSubject(request,response);
String redirectUrl=getRedirectUrl(request,response,subject);
// ServletContext context= request.getServletContext();
try {
subject.logout();
// context.removeAttribute("error");
}catch (SessionException e){
e.printStackTrace();
}
issueRedirect(request,response,redirectUrl);
return false;
}
}

@ -0,0 +1,18 @@
package com.dream.service;
import com.dream.common.Page;
import com.dream.po.User;
public interface UserService {
// 查询用户列表
public Page<User> findUserList(Integer page, Integer rows, String username);
// 删除用户
public void deleteUser(Integer id);
// 编辑用户
public User getUserById(Integer id);
// 更新用户信息
public void updateUser(User user);
// 添加用户
public void addUser(User user);
}

@ -0,0 +1,87 @@
package com.dream.service.impl;
import com.dream.common.E3Result;
import com.dream.common.Page;
import com.dream.mapper.AdminMapper;
import com.dream.po.Admin;
import com.dream.po.AdminExample;
import com.dream.service.AdminService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.util.List;
@Service
public class AdminServiceImpl implements AdminService{
@Autowired
private AdminMapper adminMapper;
@Override
public E3Result adminLogin(String adminname, String adminpassword) {
// 1、判断账号和密码是否正确
// 根据账号查询管理员信息
AdminExample example = new AdminExample();
AdminExample.Criteria criteria = example.createCriteria();
criteria.andAdminnameEqualTo(adminname);
// 执行查询
List<Admin> list = adminMapper.selectByExample(example);
if (list == null || list.size() == 0) {
// 返回登录失败
return E3Result.build(400, "用户名或密码错误");
}
// 取用户信息
Admin admin = list.get(0);
// 判断密码是否正确
if (!DigestUtils.md5DigestAsHex(adminpassword.getBytes()).equals(admin.getAdminpassword())) {
// 2、如果不正确返回登录失败
return E3Result.build(400, "用户名或密码错误");
} else {
return E3Result.ok(admin);
}
}
@Override
public Page<Admin> findAdminList(Integer page, Integer rows, String adminname) {
Admin admin = new Admin();
if (StringUtils.isNotBlank(adminname)) {
admin.setAdminname(adminname);
}
// 当前页
admin.setStart((page-1)*rows);
// 每页数
admin.setRows(rows);
List<Admin> admins = adminMapper.selectAdminList(admin);
// 总记录
Integer count = adminMapper.selectAdminListCount(admin);
Page<Admin> result = new Page<>();
result.setPage(page);
result.setRows(admins);
result.setSize(rows);
result.setTotal(count);
return result;
}
@Override
public void deleteAdmin(Integer id) {
adminMapper.deleteByPrimaryKey(id);
}
@Override
public Admin getAdminById(Integer id) {
Admin admin = adminMapper.selectByPrimaryKey(id);
return admin;
}
@Override
public void updateAdmin(Admin admin) {
adminMapper.updateByPrimaryKey(admin);
}
@Override
public void addAdmin(Admin admin) {
admin.setRole(1);
System.out.println("**************************"+admin.getRole());
adminMapper.insert(admin);
}
}

@ -0,0 +1,159 @@
package com.dream.service.impl;
import com.dream.common.Page;
import com.dream.mapper.CategoryMapper;
import com.dream.mapper.MovieMapper;
import com.dream.mapper.MoviecategoryMapper;
import com.dream.mapper.ReviewMapper;
import com.dream.po.*;
import com.dream.service.MovieService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service("movieService")
@Transactional
public class MovieServiceImpl implements MovieService{
@Autowired
private MovieMapper movieMapper;
@Autowired
private CategoryMapper categoryMapper;
@Autowired
private MoviecategoryMapper moviecategoryMapper;
@Override
public Page<NewMovie> findMovieList(Query query) {
Page<NewMovie> page = new Page<NewMovie>();
page.setSize(10);
query.setSize(10);
if (null != query) {
//判断当前页
if (null != query.getPage()) {
page.setPage(query.getPage());
query.setStartRow((query.getPage() - 1) * query.getSize());
}
if (null != query.getMovieName() && !"".equals(query.getMovieName().trim())) {
query.setMovieName(query.getMovieName().trim());
}
if (0 != (query.getCategoryId())) {
query.setCategoryId(query.getCategoryId());
}
page.setTotal(movieMapper.movieCount(query));
List<NewMovie> newMovieList = new ArrayList<>();
List<Movie> movieList = movieMapper.selectMovieListByQuery(query);
for (Movie movie: movieList) {
NewMovie newMovie = getMovieById(movie.getMovieid());
newMovieList.add(newMovie);
}
page.setRows(newMovieList);
}
return page;
}
// 删除电影
@Override
public void deleteMovie(Integer id) {
MoviecategoryExample moviecategoryExample = new MoviecategoryExample();
MoviecategoryExample.Criteria criteria = moviecategoryExample.createCriteria();
criteria.andMovieidEqualTo(id);
moviecategoryMapper.deleteByExample(moviecategoryExample);
movieMapper.deleteByPrimaryKey(id);
}
@Override
public List<Category> selectCategory() {
CategoryExample example = new CategoryExample();
List<Category> list = categoryMapper.selectByExample(example);
return list;
}
// 更新电影信息
@Override
public void updateMovie(Movie movie, String[] categoryIds) {
movieMapper.updateByPrimaryKey(movie);
// 拿到电影的id
int movieid = movie.getMovieid();
// 删除原来的电影分类,再加入
MoviecategoryExample example = new MoviecategoryExample();
MoviecategoryExample.Criteria criteria = example.createCriteria();
criteria.andMovieidEqualTo(movieid);
moviecategoryMapper.deleteByExample(example);
for (String categoryId: categoryIds) {
Moviecategory moviecategory = new Moviecategory();
// 将分类id转为int型
int tempcategoryId = Integer.parseInt(categoryId);
moviecategory.setMovieid(movieid);
moviecategory.setCategoryid(tempcategoryId);
moviecategoryMapper.insert(moviecategory);
}
}
// 添加电影
@Override
public void addMovie(Movie movie, String[] categoryIds) {
movieMapper.insert(movie);
int movieid = movie.getMovieid();
for (String categoryId: categoryIds) {
Moviecategory moviecategory = new Moviecategory();
int tempcategoryId = Integer.parseInt(categoryId);
moviecategory.setMovieid(movieid);
moviecategory.setCategoryid(tempcategoryId);
moviecategoryMapper.insert(moviecategory);
}
}
//根据电影id获取该条电影记录(包括类别)
@Override
public NewMovie getMovieById(Integer id) {
NewMovie newMovie = new NewMovie();
//根据电影id获取该条电影记录并给newMovie
Movie movie = movieMapper.selectByPrimaryKey(id);
newMovie.setMovieid(movie.getMovieid());
newMovie.setMoviename(movie.getMoviename());
newMovie.setShowyear(movie.getShowyear());
// newMovie.setNation(movie.getNation());
newMovie.setDirector(movie.getDirector());
newMovie.setLeadactors(movie.getLeadactors());
// newMovie.setScreenwriter(movie.getScreenwriter());
newMovie.setPicture(movie.getPicture());
newMovie.setAverating(movie.getAverating());
newMovie.setNumrating(movie.getNumrating());
newMovie.setDescription(movie.getDescription());
//根据电影id查询电影对应的类别
MoviecategoryExample example = new MoviecategoryExample();
MoviecategoryExample.Criteria criteria = example.createCriteria();
criteria.andMovieidEqualTo(id);
List<Moviecategory> list = moviecategoryMapper.selectByExample(example);
//定义一个临时的list
List temps = new ArrayList();
//
String categoryname = " ";
//将符合条件的id放到list里
for(Moviecategory mc:list){
int temId = mc.getCategoryid();
temps.add(temId);
Category category = categoryMapper.selectByPrimaryKey(temId);
categoryname = categoryname + category.getCategory() + "/" ;
}
//list转为数组并放到newMovie对象中
Integer[] arrs = (Integer[]) temps.toArray(new Integer[temps.size()]);
newMovie.setCategoryid(arrs);
// 设置newMovie的category名称
newMovie.setCategoryname(categoryname);
return newMovie;
}
}

@ -0,0 +1,105 @@
package com.dream.service.impl;
import com.dream.common.Page;
import com.dream.mapper.BrowseMapper;
import com.dream.mapper.RectabMapper;
import com.dream.mapper.ReviewMapper;
import com.dream.mapper.UserMapper;
import com.dream.po.*;
import com.dream.service.UserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.util.List;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Autowired
private ReviewMapper reviewMapper;
@Autowired
private BrowseMapper browseMapper;
@Autowired
private RectabMapper rectabMapper;
@Override
public Page<User> findUserList(Integer page, Integer rows, String username) {
User user = new User();
if (StringUtils.isNotBlank(username)) {
user.setUsername(username);
}
// 当前页
user.setStart((page-1)*rows);
// 每页数
user.setRows(rows);
List<User> users = userMapper.selectUserList(user);
// 总记录
Integer count = userMapper.selectUserListCount(user);
Page<User> result = new Page<>();
result.setPage(page);
result.setRows(users);
result.setSize(rows);
result.setTotal(count);
return result;
}
//删除用户信息
@Override
public void deleteUser(Integer id) {
//删除评论表的用户信息
ReviewExample reviewExample = new ReviewExample();
ReviewExample.Criteria criteria1 = reviewExample.createCriteria();
criteria1.andUseridEqualTo(id);
List<Review> reviewList = reviewMapper.selectByExample(reviewExample);
if(reviewList != null) {
reviewMapper.deleteByExample(reviewExample);
}
//删除喜欢收藏表的用户信息
BrowseExample browseExample = new BrowseExample();
BrowseExample.Criteria criteria2 = browseExample.createCriteria();
criteria2.andUseridEqualTo(id);
List<Browse> browseList = browseMapper.selectByExample(browseExample);
if(browseList != null) {
browseMapper.deleteByExample(browseExample);
}
//删除推荐表的用户信息
RectabExample rectabExample = new RectabExample();
RectabExample.Criteria criteria3 = rectabExample.createCriteria();
criteria3.andUseridEqualTo(id);
List<Rectab> rectabList = rectabMapper.selectByExample(rectabExample);
if(rectabList != null) {
rectabMapper.deleteByExample(rectabExample);
}
//删除用户表的个人信息
userMapper.deleteByPrimaryKey(id);
}
@Override
public User getUserById(Integer id) {
User user = userMapper.selectByPrimaryKey(id);
return user;
}
@Override
public void updateUser(User user) {
userMapper.updateByPrimaryKey(user);
}
@Override
public void addUser(User user) {
String md5Pass = DigestUtils.md5DigestAsHex(user.getPassword().getBytes());
user.setPassword(md5Pass);
userMapper.insert(user);
}
}

@ -0,0 +1 @@
tracker_server=101.132.123.55:22122

@ -0,0 +1,4 @@
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/movie?characterEncoding=utf-8
jdbc.username=root
jdbc.password=88888888

@ -0,0 +1,6 @@
# Global logging configuration
log4j.rootLogger=INFO, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 别名 -->
<typeAliases>
<package name="com.dream.po"/>
</typeAliases>
</configuration>

@ -0,0 +1,2 @@
fromType.code=002
IMAGE_SERVER_URL=101.132.123.55:8888

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!-- 配置 读取properties文件 jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 配置 数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- 配置SqlSessionFactory -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 设置MyBatis核心配置文件 -->
<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />
<!-- 设置数据源 -->
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置Mapper扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 设置Mapper扫描包 -->
<property name="basePackage" value="com.dream.mapper" />
</bean>
</beans>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!-- 配置Service扫描 -->
<context:component-scan base-package="com.dream.service" />
<import resource="spring-shiro.xml"/>
</beans>

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--开启shiro的注解-->
<bean id="advisorAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
<property name="proxyTargetClass" value="true"></property>
</bean>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"/>
<!--注入自定义的Realm-->
<bean id="movieRealm" class="com.dream.common.MovieRealm"></bean>
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="movieRealm"></property>
</bean>
<!--配置ShiroFilter-->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"></property>
<!--登入页面-->
<property name="loginUrl" value="/adminLogin"></property>
<!--登入成功页面-->
<property name="successUrl" value="/movieManage"/>
<property name="filters">
<map>
<!--退出过滤器-->
<entry key="logout" value-ref="logoutFilter" />
</map>
</property>
<!--URL的拦截-->
<property name="filterChainDefinitions" >
<value>
<!-- 需要管理员权限 -->
/admin/* = roles["admin"]
/user/* = authc
<!-- 必须要登录才能访问 -->
/movie/* = authc
/logout = logout
</value>
</property>
</bean>
<!--自定义退出LogoutFilter-->
<bean id="logoutFilter" class="com.dream.service.SystemLogoutFilter">
<property name="redirectUrl" value="/adminLogin"/>
</bean>
</beans>

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 配置Controller扫描 -->
<context:component-scan base-package="com.dream.controller" />
<context:property-placeholder location="classpath:resource.properties" />
<!-- 配置注解驱动 -->
<mvc:annotation-driven />
<!-- 对静态资源放行 -->
<mvc:resources location="/assets/" mapping="/assets/**"/>
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
<!-- 自定义参数绑定 -->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<!-- 转换器 -->
<property name="converters">
<list>
<!-- 日期类型转换 -->
<bean class="com.dream.common.DateConverter"/>
</list>
</property>
</bean>
<!-- 视图解释器 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 定义文件上传解析器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 设定文件上传的最大值5MB5*1024*1024 -->
<property name="maxUploadSize" value="5242880"></property>
</bean>
<import resource="spring-shiro.xml"></import>
<!-- 未认证或未授权时跳转必须在springmvc里面配spring-shiro里的shirofilter配不生效 -->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<!--表示捕获的异常 -->
<prop key="org.apache.shiro.authz.UnauthorizedException">
<!--捕获该异常时跳转的路径 -->
/403
</prop>
<!--表示捕获的异常 -->
<prop key="org.apache.shiro.authz.UnauthenticatedException">
<!--捕获该异常时跳转的路径 -->
/403
</prop>
</props>
</property>
</bean>
</beans>

@ -0,0 +1,78 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../assets/css/style-login.css" rel="stylesheet" type="text/css"/>
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<!--external css-->
<!-- Custom styles for this template -->
<link href="../../assets/css/style.css" rel="stylesheet">
<script src="../../assets/js/bootstrap.min.js" type="text/javascript"></script>
<script src="../../assets/js/jquery-ui-1.9.2.custom.min.js" type="text/javascript"></script>
<script src="../../assets/js/star-rating.min.js" type="text/javascript"></script>
<script src="../../assets/js/jquery.js" type="text/javascript"></script>
<title>梦的6次方</title>
</head>
<body>
<div class="container" style="margin-top: 10%">
<div class="row">
<div class="col-md-offset-3 col-md-6">
<form class="form-horizontal" id="logForm_mod">
<span class="heading">管理员登录</span>
<div class="form-group">
<input type="text" class="form-control" id="loginAdminname" placeholder="账号" name="adminname">
<i class="fa fa-user"></i>
</div>
<div class="form-group help">
<input type="password" class="form-control" id="loginAdminpassword" placeholder="密 码" name="adminpassword">
<i class="fa fa-lock"></i>
<a href="#" class="fa fa-question-circle"></a>
</div>
<div class="form-group">
<button id="login" type="button" class="btn btn-default" onclick="ADMINLOGIN.login()">登录</button>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript">
var ADMINLOGIN = {
checkInput:function() {
if(!$("#loginAdminname").val()) {
alert("请输入账号!");
return false;
}
if(!$("#loginAdminpassword").val()) {
alert("请输入密码!");
return false;
}
return true;
},
doLogin:function() {
$.post("/login", $("#logForm_mod").serialize(),function(data){
if (data.status == 200) {
alert("登录成功!");
location.href="/movie";
} else {
alert("登录失败,原因是:" + data.msg);
}
});
},
login:function() {
if (this.checkInput()) {
this.doLogin();
}
}
};
</script>
</body>
</html>

@ -0,0 +1,385 @@
<%--
Created by IntelliJ IDEA.
User: lu
Date: 18-3-9
Time: 上午10:11
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="dream" uri="http://dream.com/common/"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>梦的6次方</title>
<!-- Bootstrap Core CSS -->
<link href="../../assets/css/bootstrap.min.css" rel="stylesheet">
<!-- MetisMenu CSS -->
<link href="../../assets/css/metisMenu.min.css" rel="stylesheet">
<!-- DataTables CSS -->
<link href="../../assets/css/dataTables.bootstrap.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../../assets/css/sb-admin-2.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../../assets/css/font-awesome.min.css" rel="stylesheet"
type="text/css">
<link href="../../assets/css/boot-crm.css" rel="stylesheet"
type="text/css">
<link href="../../assets/css/bootstrap-datetimepicker.min.css" rel="stylesheet"
type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div id="wrapper">
<!-- Navigation -->
<nav class="navbar navbar-default navbar-static-top" role="navigation"
style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class="navbar-brand" href="list.action">电影后台管理系统</a>
</div>
<ul class="nav navbar-top-links navbar-right">
<li class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" href="#"> <i class="fa fa-user fa-fw"></i>
<i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="/logout"><i class="fa fa-sign-out fa-fw"></i>
退出登录</a></li>
</ul> <!-- /.dropdown-user --></li>
<!-- /.dropdown -->
</ul>
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<li><a href="/movie/list" class="active"><i
class="fa fa-edit fa-fw"></i> 电影管理</a></li>
<li><a href="/user/list"><i
class="fa fa-edit fa-fw"></i> 用户管理</a></li>
<shiro:hasRole name="admin">
<li><a href="list.action"><i
class="fa fa-edit fa-fw"></i> 管理员管理</a></li>
</shiro:hasRole>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side --> </nav>
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">管理员管理</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="panel panel-default">
<div class="panel-body">
<form class="form-inline" action="${pageContext.request.contextPath }/admin/list.action" method="post">
<div class="form-group">
<label for="adminname">用户名</label>
<input type="text" class="form-control" id="adminname" value="${ adminname }" name="adminname">
</div>
<button type="submit" class="btn btn-primary">查询</button>
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#adminAddDialog" >添加管理员</a>
</form>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">管理员管理信息</div>
<!-- /.panel-heading -->
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>管理员Id</th>
<th>管理员名字</th>
<th>管理员密码</th>
<th>角色</th>
</tr>
</thead>
<tbody align="center">
<c:forEach items="${page.rows}" var="row">
<tr>
<td>${row.adminid}</td>
<td>${row.adminname}</td>
<td>${row.adminpassword}</td>
<td>${row.role}</td>
<td>
<a href="#" class="btn btn-primary btn-xs" data-toggle="modal" data-target="#adminEditDialog" onclick="editAdmin(${row.adminid})">修改</a>
<a href="#" class="btn btn-danger btn-xs" onclick="deleteAdmin(${row.adminid})">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="col-md-12 text-right">
<dream:page url="${pageContext.request.contextPath }/admin/list.action" />
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
</div>
</div>
<!-- 管理员编辑对话框 -->
<div class="modal fade" id="adminEditDialog" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">修改管理员信息</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="edit_admin_form">
<input type="hidden" id="edit_adminid" name="adminid"/>
<div class="form-group">
<label for="edit_adminname" class="col-sm-2 control-label">管理员名</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_adminname" placeholder="长度需介于6-12之间"" name="adminname">
</div>
</div>
<div class="form-group">
<label for="edit_adminpassword" class="col-sm-2 control-label">管理员密码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_adminpassword" placeholder="度需介于6-12之间" name="adminpassword">
</div>
</div>
<div class="form-group">
<label for="edit_role" class="col-sm-2 control-label">角色</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_role" placeholder="角色" name="role">
</div>
</div>
<input type="hidden" id="edit_start" name="start"/>
<input type="hidden" id="edit_rows" name="rows"/>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="UPDATEADMIN.update()">保存修改</button>
</div>
</div>
</div>
</div>
<!-- /#wrapper -->
<!-- 管理员添加对话框 -->
<div class="modal fade" id="adminAddDialog" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="add_myModalLabel">添加管理员</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="add_admin_form">
<input type="hidden" id="add_adminid" name="adminid"/>
<div class="form-group">
<label for="add_adminName" class="col-sm-2 control-label">账号</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="add_adminName" placeholder="长度需介于6-12之间" name="adminname">
</div>
</div>
<div class="form-group">
<label for="add_adminPassword" class="col-sm-2 control-label">密码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="add_adminPassword" placeholder="长度需介于6-12之间" name="adminpassword">
</div>
</div>
<input type="hidden" id="add_start" name="start"/>
<input type="hidden" id="add_rows" name="rows"/>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="ADDADMIN.add()">确认添加</button>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="<%=basePath%>js/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="<%=basePath%>js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="<%=basePath%>js/metisMenu.min.js"></script>
<!-- DataTables JavaScript -->
<script src="<%=basePath%>js/jquery.dataTables.min.js"></script>
<script src="<%=basePath%>js/dataTables.bootstrap.min.js"></script>
<%--Datetimepicker Javascript--%>
<script src="<%=basePath%>js/bootstrap-datetimepicker.js"></script>
<!-- Custom Theme JavaScript -->
<script src="<%=basePath%>js/sb-admin-2.js"></script>
<script type="text/javascript" src="<%=basePath%>js/common.js"></script>
<script type="text/javascript">
//日期插件
$(".form_datetime").datetimepicker({
format: 'yyyy-mm-dd',//显示格式
todayHighlight: 1,//今天高亮
minView: "month",//设置只显示到月份
startView:2,
forceParse: 0,
showMeridian: 1,
autoclose: 1//选择后自动关闭
});
function editAdmin(id) {
$.ajax({
type:"get",
url:"<%=basePath%>admin/edit.action",
data:{"id":id},
success:function(data) { // Movie的JSON字符串传过来就行
$("#edit_adminid").val(data.adminid);
$("#edit_adminname").val(data.adminname);
$("#edit_adminpassword").val(data.adminpassword);
$("#edit_role").val(data.role);
}
});
}
var ADDADMIN = {
checkInput: function () {
if (!$("#add_adminName").val()) {
alert("请输入账号!");
return false;
}
if ($("#add_adminName").val().length<6 || $("#add_adminName").val().length>12) {
alert("账号的长度必须介于6-12之间");
return false;
}
if (!$("#add_adminPassword").val()) {
alert("请输入密码!");
return false;
}
if ($("#add_adminPassword").val().length<6 || $("#add_adminPassword").val().length>12) {
alert("密码的长度必须介于6-12之间");
return false;
}
return true;
},
add: function () {
if (this.checkInput()) {
this.addAdmin();
}
},
addAdmin: function () {
$.post("/admin/add.action", $("#add_admin_form").serialize(), function (data) {
alert("管理员信息添加成功!");
window.location.reload();
});
}
};
var UPDATEADMIN = {
checkInput: function () {
if (!$("#edit_adminname").val()) {
alert("请输入账号!");
return false;
}
if ($("#edit_adminname").val().length < 6 || $("#edit_adminname").val().length > 12) {
alert("账号的长度必须介于6-12之间");
return false;
}
if (!$("#edit_adminpassword").val()) {
alert("请输入密码!");
return false;
}
if ($("#edit_adminpassword").val().length < 6 || $("#edit_adminpassword").val().length > 12) {
alert("密码的长度必须介于6-12之间");
return false;
}
if (!$("#edit_role").val()) {
alert("请输入角色1为普通管理员0为超级管理员");
return false;
}
return true;
},
update: function () {
if (this.checkInput()) {
this.updateAdmin();
}
},
updateAdmin: function () {
$.post("/admin/update.action", $("#edit_admin_form").serialize(), function (data) {
alert("管理员信息更新成功!");
window.location.reload();
});
}
};
function deleteAdmin(id) {
if(confirm('确实要删除该管理员吗?')) {
$.post("<%=basePath%>admin/delete.action",{"id":id},function(data){
alert("管理员删除成功!");
window.location.reload();
});
}
}
</script>
</body>
</html>

@ -0,0 +1,634 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="dream" uri="http://dream.com/common/"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>梦的6次方</title>
<!-- Bootstrap Core CSS -->
<link href="../../assets/css/bootstrap.min.css" rel="stylesheet">
<!-- MetisMenu CSS -->
<link href="../../assets/css/metisMenu.min.css" rel="stylesheet">
<!-- DataTables CSS -->
<link href="../../assets/css/dataTables.bootstrap.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../../assets/css/sb-admin-2.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../../assets/css/font-awesome.min.css" rel="stylesheet"
type="text/css">
<link href="../../assets/css/boot-crm.css" rel="stylesheet"
type="text/css">
<link href="../../assets/css/bootstrap-datetimepicker.min.css" rel="stylesheet"
type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div id="wrapper">
<!-- Navigation -->
<nav class="navbar navbar-default navbar-static-top" role="navigation"
style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class="navbar-brand" href="list.action">电影后台管理系统</a>
</div>
<ul class="nav navbar-top-links navbar-right">
<li class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" href="#"> <i class="fa fa-user fa-fw"></i>
<i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="/logout"><i class="fa fa-sign-out fa-fw"></i>
退出登录</a></li>
</ul> <!-- /.dropdown-user --></li>
<!-- /.dropdown -->
</ul>
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<li><a href="list" class="active"><i
class="fa fa-edit fa-fw"></i> 电影管理</a></li>
<li><a href="/user/list"><i
class="fa fa-edit fa-fw"></i> 用户管理</a></li>
<shiro:hasRole name="admin">
<li><a href="adminlist"><i
class="fa fa-edit fa-fw"></i> 管理员管理</a></li>
</shiro:hasRole>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side --> </nav>
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">电影管理</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="panel panel-default">
<div class="panel-body">
<form class="form-inline" action="${pageContext.request.contextPath }/movie/list.action" method="post">
<div class="form-group">
<label for="movieName">电影名称</label>
<input type="text" class="form-control" id="movieName" value="${movieName }" name="movieName">
</div>
<div class="form-group">
<label for="catagoryId">电影类型</label>
<select class="form-control" id="categoryId" placeholder="电影类型" name="categoryId">
<option value=0>--请选择--</option>
<c:forEach items="${categoryList}" var="ca">
<option value="${ca.categoryid}"<c:if test="${ca.categoryid == categoryId }"> selected</c:if>>${ca.category }</option>
</c:forEach>
</select>
</div>
<button type="submit" class="btn btn-primary">查询</button>
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#movieAddDialog" >添加电影</a>
</form>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">电影管理信息</div>
<!-- /.panel-heading -->
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>电影ID</th>
<th>电影名称</th>
<th>上映年份</th>
<th>电影类型</th>
<th>导演</th>
<th>评分</th>
<th>评价人数</th>
<th>海报</th>
</tr>
</thead>
<tbody align="center">
<c:forEach items="${page.rows}" var="row">
<tr>
<td>${row.movieid}</td>
<td>${row.moviename}</td>
<td><fmt:formatDate type="date" value="${row.showyear}" dateStyle="default"/></td>
<td>${row.categoryname}</td>
<td>${row.director}</td>
<td>${row.averating}</td>
<td>${row.numrating}</td>
<td>${row.picture}</td>
<td>
<a href="#" class="btn btn-primary btn-xs" data-toggle="modal" data-target="#movieEditDialog" onclick="editMovie(${row.movieid})">修改</a>
<a href="#" class="btn btn-danger btn-xs" onclick="deleteMovie(${row.movieid})">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="col-md-12 text-right">
<dream:page url="${pageContext.request.contextPath }/movie/list.action" />
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
</div>
</div>
<!-- 电影编辑对话框 -->
<div class="modal fade" id="movieEditDialog" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">修改电影信息</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="edit_movie_form">
<input type="hidden" id="edit_movieid" name="movieid"/>
<div class="form-group">
<label for="edit_movieName" class="col-sm-2 control-label">电影名称</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_movieName" placeholder="" name="moviename">
</div>
</div>
<div class="form-group">
<label for="edit_showyear" class="col-sm-2 control-label">上映年份</label>
<div class="col-sm-10">
<input class="form_datetime" type="text" id="edit_showyear" name="showyear">
</div>
</div>
<%--<div class="form-group">--%>
<%--<label for="edit_nation" class="col-sm-2 control-label">国家/地区</label>--%>
<%--<div class="col-sm-10">--%>
<%--<input type="text" class="form-control" id="edit_nation" placeholder="" name="nation">--%>
<%--</div>--%>
<%--</div>--%>
<div class="form-group">
<label for="edit_picture" class="col-sm-2 control-label">海报URL</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_picture" placeholder="" name="picture">
</div>
</div>
<div class="form-group">
<label for="edit_picture" class="col-sm-2 control-label">评价人数</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_numrating" placeholder="" name="numrating">
</div>
</div>
<div class="form-group">
<label for="edit_director" class="col-sm-2 control-label">导演</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_director" placeholder="" name="director">
</div>
</div>
<div class="form-group">
<label for="edit_leadactors" class="col-sm-2 control-label">主演</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_leadactors" placeholder="" name="leadactors">
</div>
</div>
<%--<div class="form-group">--%>
<%--<label for="edit_screenwriter" class="col-sm-2 control-label">编剧</label>--%>
<%--<div class="col-sm-10">--%>
<%--<input type="text" class="form-control" id="edit_screenwriter" placeholder="" name="screenwriter">--%>
<%--</div>--%>
<%--</div>--%>
<div class="form-group">
<label for="edit_picture" class="col-sm-2 control-label">评分</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_averating" placeholder="" name="averating">
</div>
</div>
<div class="form-group">
<label for="edit_picture" class="col-sm-2 control-label">电影详情</label>
<div class="col-sm-10">
<input type="text" style="height:100%" class="form-control" id="edit_description" placeholder="" name="description">
</div>
</div>
<div class="form-group">
<label for="catagoryId" class="col-sm-2 control-label">电影类型</label>
<div class="col-sm-10">
<select multiple class="form-control" id="catagoryId" placeholder="" name="categoryId">
<c:forEach items="${categoryList}" var="ca">
<option value="${ca.categoryid}"<c:if test="${ca.categoryid == categoryId }"> selected</c:if>>${ca.category }</option>
</c:forEach>
</select>
</div>
</div>
<input type="hidden" id="edit_start" name="start"/>
<input type="hidden" id="edit_rows" name="rows"/>
</form>
<form class="form-horizontal" id="edit_picture_form" enctype="multipart/form-data">
<div class="form-group">
<label for="edit_picture" class="col-sm-2 control-label">上传海报</label>
<div class="col-sm-10">
<input type="file" name="file" id="image1">
<a href="javascript:uploadImg1()" class="btn btn-success">上传配图</a>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="UPDATE.updateMovie()">保存修改</button>
</div>
</div>
</div>
</div>
<!-- /#wrapper -->
<!-- 电影添加对话框 -->
<div class="modal fade" id="movieAddDialog" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="add_myModalLabel">添加电影</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="add_movie_form">
<input type="hidden" id="add_movieid" name="movieid"/>
<div class="form-group">
<label for="add_movieName" class="col-sm-2 control-label">电影名称</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_movieName" placeholder="" name="moviename">
</div>
</div>
<div class="form-group">
<label for="add_showyear" class="col-sm-2 control-label">上映年份</label>
<div class="col-sm-10">
<input required="required" class="form_datetime" value="" type="text" id="add_showyear" name="showyear">
</div>
</div>
<%--<div class="form-group">--%>
<%--<label for="add_nation" class="col-sm-2 control-label">国家/地区</label>--%>
<%--<div class="col-sm-10">--%>
<%--<input type="text" required="required" class="form-control" id="add_nation" placeholder="" name="nation">--%>
<%--</div>--%>
<%--</div>--%>
<div class="form-group">
<label for="add_picture" class="col-sm-2 control-label">海报URL</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_picture" placeholder="" name="picture" value="">
</div>
</div>
<div class="form-group">
<label for="add_picture" class="col-sm-2 control-label">评价人数</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_numrating" placeholder="" name="numrating">
</div>
</div>
<div class="form-group">
<label for="add_director" class="col-sm-2 control-label">导演</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_director" placeholder="" name="director">
</div>
</div>
<div class="form-group">
<label for="add_leadactors" class="col-sm-2 control-label">主演</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_leadactors" placeholder="" name="leadactors">
</div>
</div>
<%--<div class="form-group">--%>
<%--<label for="add_screenwriter" class="col-sm-2 control-label">编剧</label>--%>
<%--<div class="col-sm-10">--%>
<%--<input type="text" required="required" class="form-control" id="add_screenwriter" placeholder="" name="screenwriter">--%>
<%--</div>--%>
<%--</div>--%>
<div class="form-group">
<label for="add_picture" class="col-sm-2 control-label">评分</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_averating" placeholder="" name="averating">
</div>
</div>
<div class="form-group">
<label for="add_picture" class="col-sm-2 control-label">电影详情</label>
<div class="col-sm-10">
<input type="text" required="required" class="form-control" id="add_description" placeholder="" name="description">
</div>
</div>
<div class="form-group">
<label for="add_catagoryId" class="col-sm-2 control-label">电影类型</label>
<div class="col-sm-10">
<select multiple required="required" class="form-control" id="add_catagoryId" placeholder="电影类型" name="categoryId">
<c:forEach items="${categoryList}" var="ca">
<option value="${ca.categoryid}"<c:if test="${ca.categoryid == categoryId }"> selected</c:if>>${ca.category }</option>
</c:forEach>
</select>
</div>
</div>
<input type="hidden" id="add_start" name="start"/>
<input type="hidden" id="add_rows" name="rows"/>
</form>
<form class="form-horizontal" id="add_picture_form" enctype="multipart/form-data">
<div class="form-group">
<label for="add_picture" class="col-sm-2 control-label">上传海报</label>
<div class="col-sm-10">
<input type="file" name="file" id="image">
<a href="javascript:uploadImg()" class="btn btn-success">上传配图</a>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="ADDMOVIE.addMovie()">确认添加</button>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="<%=basePath%>js/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="<%=basePath%>js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="<%=basePath%>js/metisMenu.min.js"></script>
<!-- DataTables JavaScript -->
<script src="<%=basePath%>js/jquery.dataTables.min.js"></script>
<script src="<%=basePath%>js/dataTables.bootstrap.min.js"></script>
<%--Datetimepicker Javascript--%>
<script src="<%=basePath%>js/bootstrap-datetimepicker.js"></script>
<!-- Custom Theme JavaScript -->
<script src="<%=basePath%>js/sb-admin-2.js"></script>
<script type="text/javascript" src="<%=basePath%>js/common.js"></script>
<script type="text/javascript">
var ADDMOVIE = {
checkInput:function() {
if(!$("#add_movieName").val()) {
alert("请输入电影名称!");
return false;
}
if(!$("#add_showyear").val()) {
alert("请输入上映年份!");
return false;
}
// if(!$("#add_nation").val()) {
// alert("请输入国家/地区!");
// return false;
// }
if(!$("#add_picture").val()) {
alert("请输入海报URL");
return false;
}
if(!$("#add_numrating").val()) {
alert("请输入评论人数!");
return false;
}
if(!$("#add_director").val()) {
alert("请输入导演!");
return false;
}
if(!$("#add_leadactors").val()) {
alert("请输入主演!");
return false;
}
// if(!$("#add_screenwriter").val()) {
// alert("请输入编剧!");
// return false;
// }
if(!$("#add_averating").val()) {
alert("请输入评分!");
return false;
}
if(!$("#add_description").val()) {
alert("请输入详情!");
return false;
}
if(!$("#add_catagoryId").val()) {
alert("请选择电影类型!");
return false;
}
return true;
},
addMo:function() {
$.post("<%=basePath%>movie/add.action",$("#add_movie_form").serialize(),function(data){
alert("电影信息添加成功!");
window.location.reload();
});
},
addMovie:function() {
if (this.checkInput()) {
this.addMo();
}
}
};
//日期插件
$(".form_datetime").datetimepicker({
format: 'yyyy-mm-dd',//显示格式
todayHighlight: 1,//今天高亮
minView: "month",//设置只显示到月份
startView:2,
forceParse: 0,
showMeridian: 1,
autoclose: 1//选择后自动关闭
});
function editMovie(id) {
$.ajax({
type:"get",
url:"<%=basePath%>movie/edit.action",
data:{"id":id},
success:function(data) { // Movie的JSON字符串传过来就行
$("#edit_movieid").val(data.movieid);
$("#edit_movieName").val(data.moviename);
$("#edit_showyear").val(data.showyear);
// $("#edit_nation").val(data.nation);
$("#edit_director").val(data.director);
$("#edit_leadactors").val(data.leadactors);
// $("#edit_screenwriter").val(data.screenwriter);
$("#edit_picture").val(data.picture);
$("#edit_averating").val(data.averating);
$("#edit_numrating").val(data.numrating);
$("#catagoryId").val(data.categoryid);
$("#edit_description").val(data.description);
}
});
}
//上传海报配图
function uploadImg(){
var formData = new FormData($( "#add_picture_form" )[0]);
formData.append("file",$("#image")[0]);
formData.append("name",name);
$.ajax({
url:"<%=basePath%>movie/file/upload.action",
type:"POST",
dataType:"json",
data:formData,
contentType: false,
processData: false,
success:function(data) {
alert("上传成功!");
// $("#picture").attr("disabled","disabled");
$("#add_picture").val(data.url);
}
});
}
function uploadImg1(){
var formData = new FormData($( "#edit_picture_form" )[0]);
formData.append("file",$("#image1")[0]);
formData.append("name",name);
$.ajax({
url:"<%=basePath%>movie/file/upload.action",
type:"POST",
dataType:"json",
data:formData,
contentType: false,
processData: false,
success:function(data) {
alert("上传成功!");
// $("#picture").attr("disabled","disabled");
$("#edit_picture").val(data.url);
}
});
}
var UPDATE = {
checkInput:function() {
if(!$("#edit_movieName").val()) {
alert("请输入电影名称!");
return false;
}
if(!$("#edit_showyear").val()) {
alert("请输入上映年份!");
return false;
}
// if(!$("#edit_nation").val()) {
// alert("请输入国家/地区!");
// return false;
// }
if(!$("#edit_picture").val()) {
alert("请输入海报URL");
return false;
}
if(!$("#edit_numrating").val()) {
alert("请输入评论人数!");
return false;
}
if(!$("#edit_director").val()) {
alert("请输入导演!");
return false;
}
if(!$("#edit_leadactors").val()) {
alert("请输入主演!");
return false;
}
// if(!$("#edit_screenwriter").val()) {
// alert("请输入编剧!");
// return false;
// }
if(!$("#edit_averating").val()) {
alert("请输入评分!");
return false;
}
if(!$("#edit_description").val()) {
alert("请输入详情!");
return false;
}
if(!$("#catagoryId").val()) {
alert("请选择电影类型!");
return false;
}
return true;
},
updateMo:function() {
$.post("<%=basePath%>movie/update.action",$("#edit_movie_form").serialize(),function(data){
alert("电影信息更新成功!");
window.location.reload();
});
},
updateMovie:function() {
if (this.checkInput()) {
this.updateMo();
}
}
};
function deleteMovie(id) {
if(confirm('确实要删除该电影吗?')) {
$.post("<%=basePath%>movie/delete.action",{"id":id},function(data){
alert("电影信息删除成功!");
window.location.reload();
});
}
}
</script>
</body>
</html>

@ -0,0 +1,452 @@
<%--
Created by IntelliJ IDEA.
User: lu
Date: 18-3-9
Time: 上午10:11
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="dream" uri="http://dream.com/common/"%>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>梦的6次方</title>
<!-- Bootstrap Core CSS -->
<link href="../../assets/css/bootstrap.min.css" rel="stylesheet">
<!-- MetisMenu CSS -->
<link href="../../assets/css/metisMenu.min.css" rel="stylesheet">
<!-- DataTables CSS -->
<link href="../../assets/css/dataTables.bootstrap.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="../../assets/css/sb-admin-2.css" rel="stylesheet">
<!-- Custom Fonts -->
<link href="../../assets/css/font-awesome.min.css" rel="stylesheet"
type="text/css">
<link href="../../assets/css/boot-crm.css" rel="stylesheet"
type="text/css">
<link href="../../assets/css/bootstrap-datetimepicker.min.css" rel="stylesheet"
type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div id="wrapper">
<!-- Navigation -->
<nav class="navbar navbar-default navbar-static-top" role="navigation"
style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class="navbar-brand" href="list.action">电影后台管理系统</a>
</div>
<ul class="nav navbar-top-links navbar-right">
<li class="dropdown"><a class="dropdown-toggle"
data-toggle="dropdown" href="#"> <i class="fa fa-user fa-fw"></i>
<i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="/logout"><i class="fa fa-sign-out fa-fw"></i>
退出登录</a></li>
</ul> <!-- /.dropdown-user --></li>
<!-- /.dropdown -->
</ul>
<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
<ul class="nav" id="side-menu">
<li><a href="/movie" class="active"><i
class="fa fa-edit fa-fw"></i> 电影管理</a></li>
<li><a href="list.action"><i
class="fa fa-edit fa-fw"></i> 用户管理</a></li>
<shiro:hasRole name="admin">
<li><a href="/admin/list"><i
class="fa fa-edit fa-fw"></i> 管理员管理</a></li>
</shiro:hasRole>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side --> </nav>
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">用户管理</h1>
</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="panel panel-default">
<div class="panel-body">
<form class="form-inline" action="${pageContext.request.contextPath }/user/list.action" method="post">
<div class="form-group">
<label for="userName">用户名</label>
<input type="text" class="form-control" id="username" value="${ username }" name="username">
</div>
<button type="submit" class="btn btn-primary">查询</button>
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#userAddDialog" >添加用户</a>
</form>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">用户管理信息</div>
<!-- /.panel-heading -->
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>用户Id</th>
<th>用户名</th>
<th>邮箱</th>
<th>注册时间</th>
<th>上次登录时间</th>
</tr>
</thead>
<tbody align="center">
<c:forEach items="${page.rows}" var="row">
<tr>
<td>${row.userid}</td>
<td>${row.username}</td>
<td>${row.email}</td>
<td><fmt:formatDate type="date" value="${row.registertime}" dateStyle="default"/></td>
<td><fmt:formatDate type="date" value="${row.lastlogintime}" dateStyle="default"/></td>
<td>
<a href="#" class="btn btn-primary btn-xs" data-toggle="modal" data-target="#userEditDialog" onclick="editUser(${row.userid})">修改</a>
<a href="#" class="btn btn-danger btn-xs" onclick="deleteUser(${row.userid})">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="col-md-12 text-right">
<dream:page url="${pageContext.request.contextPath }/user/list.action" />
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.col-lg-12 -->
</div>
</div>
</div>
<!-- 用户 编辑对话框 -->
<div class="modal fade" id="userEditDialog" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">修改用户信息</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="edit_user_form">
<input type="hidden" id="edit_userid" name="userid"/>
<div class="form-group">
<label for="edit_username" class="col-sm-2 control-label">用户名</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_username" placeholder="用户名" name="username">
</div>
</div>
<div class="form-group">
<label for="edit_password" class="col-sm-2 control-label">用户密码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_password" placeholder="用户密码" name="password" readonly="readonly">
</div>
</div>
<div class="form-group">
<label for="edit_email" class="col-sm-2 control-label">邮箱</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="edit_email" placeholder="邮箱" name="email" >
</div>
</div>
<div class="form-group">
<label for="edit_registertime" class="col-sm-2 control-label">注册时间</label>
<div class="col-sm-10">
<input class="form_datetime" value="" type="text" id="edit_registertime" name="registertime">
</div>
</div>
<div class="form-group">
<label for="edit_lastlogintime" class="col-sm-2 control-label">登录时间</label>
<div class="col-sm-10">
<input class="form_datetime" value="" type="text" id="edit_lastlogintime" name="lastlogintime">
</div>
</div>
<input type="hidden" id="edit_start" name="start"/>
<input type="hidden" id="edit_rows" name="rows"/>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="UPDATE.updateUser()">保存修改</button>
</div>
</div>
</div>
</div>
<!-- /#wrapper -->
<!-- 用户添加对话框 -->
<div class="modal fade" id="userAddDialog" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="add_myModalLabel">添加用户</h4>
</div>
<div class="modal-body">
<form class="form-horizontal" id="add_user_form">
<input type="hidden" id="add_userid" name="userid"/>
<div class="form-group">
<label for="add_username" class="col-sm-2 control-label">用户名</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="add_username" placeholder="" name="username">
</div>
</div>
<div class="form-group">
<label for="add_password" class="col-sm-2 control-label">用户密码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="add_password" placeholder="" name="password">
</div>
</div>
<div class="form-group">
<label for="add_email" class="col-sm-2 control-label">邮箱</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="add_email" placeholder="" name="email">
</div>
</div>
<div class="form-group">
<label for="add_registertime" class="col-sm-2 control-label">注册时间</label>
<div class="col-sm-10">
<input class="form_datetime" value="" type="text" id="add_registertime" name="registertime">
</div>
</div>
<div class="form-group">
<label for="add_lastlogintime" class="col-sm-2 control-label">登录时间</label>
<div class="col-sm-10">
<input class="form_datetime" value="" type="text" id="add_lastlogintime" name="lastlogintime">
</div>
</div>
<input type="hidden" id="add_start" name="start"/>
<input type="hidden" id="add_rows" name="rows"/>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="ADDUSER.addUser()">确认添加</button>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="<%=basePath%>js/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="<%=basePath%>js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="<%=basePath%>js/metisMenu.min.js"></script>
<!-- DataTables JavaScript -->
<script src="<%=basePath%>js/jquery.dataTables.min.js"></script>
<script src="<%=basePath%>js/dataTables.bootstrap.min.js"></script>
<%--Datetimepicker Javascript--%>
<script src="<%=basePath%>js/bootstrap-datetimepicker.js"></script>
<!-- Custom Theme JavaScript -->
<script src="<%=basePath%>js/sb-admin-2.js"></script>
<script type="text/javascript" src="<%=basePath%>js/common.js"></script>
<script type="text/javascript">
//日期插件
$(".form_datetime").datetimepicker({
format: 'yyyy-mm-dd',//显示格式
todayHighlight: 1,//今天高亮
minView: "month",//设置只显示到月份
startView:2,
forceParse: 0,
showMeridian: 1,
autoclose: 1//选择后自动关闭
});
function editUser(id) {
$.ajax({
type:"get",
url:"<%=basePath%>user/edit.action",
data:{"id":id},
success:function(data) { // Movie的JSON字符串传过来就行
$("#edit_userid").val(data.userid);
$("#edit_username").val(data.username);
$("#edit_password").val(data.password);
$("#edit_email").val(data.email);
$("#edit_registertime").val(data.registertime);
$("#edit_lastlogintime").val(data.lastlogintime);
}
});
}
var ADDUSER = {
checkInput:function() {
reg=/^\w+[@]\w+((.com)|(.net)|(.cn)|(.org)|(.gmail))$$/;
if(!$("#add_username").val()) {
alert("请输入用户名!");
return false;
}
if($("#add_username").val().length<4 || $("#add_username").val().length>10) {
alert("用户名长度必须在4-10之间");
return false;
}
if(!$("#add_password").val()) {
alert("请输入用户密码!");
return false;
}
if($("#add_password").val().length<8 || $("#add_password").val().length>16) {
alert("用户密码长度必须在8-16之间");
return false;
}
if(!$("#add_email").val()) {
alert("请输入用户邮箱!");
return false;
}
if(!reg.test($("#add_email").val())){
alert("请输入正确的邮箱格式!");
return false;
}
if(!$("#add_registertime").val()) {
alert("请输入用户注册时间!");
return false;
}
if(!$("#add_lastlogintime").val()) {
alert("请输入用户上次登录时间!");
return false;
}
return true;
},
addUs:function() {
$.post("<%=basePath%>user/add.action",$("#add_user_form").serialize(),function(data){
alert("用户信息添加成功!");
window.location.reload();
});
},
addUser:function() {
if (this.checkInput()) {
this.addUs();
}
}
};
var UPDATE = {
checkInput:function() {
reg=/^\w+[@]\w+((.com)|(.net)|(.cn)|(.org)|(.gmail))$$/;
if(!$("#edit_username").val()) {
alert("请输入用户名!");
return false;
}
if($("#edit_username").val().length<4 || $("#edit_username").val().length>10) {
alert("用户名长度必须在4-10之间");
return false;
}
if(!$("#edit_password").val()) {
alert("请输入用户密码!");
return false;
}
if(!$("#edit_email").val()) {
alert("请输入用户邮箱!");
return false;
}
if(!reg.test($("#edit_email").val())){
alert("请输入正确的邮箱格式!");
return false;
}
if(!$("#edit_registertime").val()) {
alert("请输入用户注册时间!");
return false;
}
if(!$("#edit_lastlogintime").val()) {
alert("请输入用户上次登录时间!");
return false;
}
return true;
},
updateUs:function() {
$.post("<%=basePath%>user/update.action",$("#edit_user_form").serialize(),function(data){
alert("用户信息更新成功!");
window.location.reload();
});
},
updateUser:function() {
if (this.checkInput()) {
this.updateUs();
}
}
};
function deleteUser(id) {
if(confirm('确实要删除该用户吗?')) {
$.post("<%=basePath%>user/delete.action",{"id":id},function(data){
alert("用户删除成功!");
window.location.reload();
});
}
}
</script>
</body>
</html>

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>2.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>common</short-name>
<uri>http://dream.com/common/</uri>
<display-name>Common Tag</display-name>
<description>Common Tag library</description>
<tag>
<name>page</name>
<tag-class>com.dream.common.NavigationTag</tag-class>
<body-content>JSP</body-content>
<description>create navigation for paging</description>
<attribute>
<name>bean</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>number</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>

@ -0,0 +1,82 @@
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 加载spring容器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- springmvc前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation配置springmvc加载的配置文件配置处理器映射器、适配器等等 如果不配置contextConfigLocation默认加载的是/WEB-INF/servlet名称-serlvet.xmlspringmvc-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 第一种:*.action访问以.action结尾 由DispatcherServlet进行解析 第二种:/所以访问的地址都由DispatcherServlet进行解析对于静态文件的解析需要配置不让DispatcherServlet进行解析
使用此种方式可以实现 RESTful风格的url 第三种:/*这样配置不对使用这种配置最终要转发到一个jsp页面时 仍然会由DispatcherServlet解析jsp地址不能根据jsp页面找到handler会报错。 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- post乱码过虑器 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- shiro 过滤器 start -->
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<!-- 设置true由servlet容器控制filter的生命周期 -->
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- shiro 过滤器 end -->
</web-app>

@ -0,0 +1,4 @@
.table th{
text-align: center;
height:38px;
}

@ -0,0 +1,418 @@
/*!
* Datetimepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datetimepicker {
padding: 4px;
margin-top: 1px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
}
.datetimepicker-inline {
width: 220px;
}
.datetimepicker.datetimepicker-rtl {
direction: rtl;
}
.datetimepicker.datetimepicker-rtl table tr td span {
float: right;
}
.datetimepicker-dropdown, .datetimepicker-dropdown-left {
top: 0;
left: 0;
}
[class*=" datetimepicker-dropdown"]:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #cccccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
[class*=" datetimepicker-dropdown"]:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
position: absolute;
}
[class*=" datetimepicker-dropdown-top"]:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 7px solid #cccccc;
border-top-color: rgba(0, 0, 0, 0.2);
border-bottom: 0;
}
[class*=" datetimepicker-dropdown-top"]:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid #ffffff;
border-bottom: 0;
}
.datetimepicker-dropdown-bottom-left:before {
top: -7px;
right: 6px;
}
.datetimepicker-dropdown-bottom-left:after {
top: -6px;
right: 7px;
}
.datetimepicker-dropdown-bottom-right:before {
top: -7px;
left: 6px;
}
.datetimepicker-dropdown-bottom-right:after {
top: -6px;
left: 7px;
}
.datetimepicker-dropdown-top-left:before {
bottom: -7px;
right: 6px;
}
.datetimepicker-dropdown-top-left:after {
bottom: -6px;
right: 7px;
}
.datetimepicker-dropdown-top-right:before {
bottom: -7px;
left: 6px;
}
.datetimepicker-dropdown-top-right:after {
bottom: -6px;
left: 7px;
}
.datetimepicker > div {
display: none;
}
.datetimepicker.minutes div.datetimepicker-minutes {
display: block;
}
.datetimepicker.hours div.datetimepicker-hours {
display: block;
}
.datetimepicker.days div.datetimepicker-days {
display: block;
}
.datetimepicker.months div.datetimepicker-months {
display: block;
}
.datetimepicker.years div.datetimepicker-years {
display: block;
}
.datetimepicker table {
margin: 0;
}
.datetimepicker td,
.datetimepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datetimepicker table tr td,
.table-striped .datetimepicker table tr th {
background-color: transparent;
}
.datetimepicker table tr td.minute:hover {
background: #eeeeee;
cursor: pointer;
}
.datetimepicker table tr td.hour:hover {
background: #eeeeee;
cursor: pointer;
}
.datetimepicker table tr td.day:hover {
background: #eeeeee;
cursor: pointer;
}
.datetimepicker table tr td.old,
.datetimepicker table tr td.new {
color: #999999;
}
.datetimepicker table tr td.disabled,
.datetimepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datetimepicker table tr td.today,
.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today:hover:hover,
.datetimepicker table tr td.today.disabled:hover,
.datetimepicker table tr td.today.disabled:hover:hover,
.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today:hover.disabled,
.datetimepicker table tr td.today.disabled.disabled,
.datetimepicker table tr td.today.disabled:hover.disabled,
.datetimepicker table tr td.today[disabled],
.datetimepicker table tr td.today:hover[disabled],
.datetimepicker table tr td.today.disabled[disabled],
.datetimepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active {
background-color: #fbf069;
}
.datetimepicker table tr td.active,
.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active:hover:hover,
.datetimepicker table tr td.active.disabled:hover,
.datetimepicker table tr td.active.disabled:hover:hover,
.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active:hover.disabled,
.datetimepicker table tr td.active.disabled.disabled,
.datetimepicker table tr td.active.disabled:hover.disabled,
.datetimepicker table tr td.active[disabled],
.datetimepicker table tr td.active:hover[disabled],
.datetimepicker table tr td.active.disabled[disabled],
.datetimepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active {
background-color: #003399;
}
.datetimepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datetimepicker .datetimepicker-hours span {
height: 26px;
line-height: 26px;
}
.datetimepicker .datetimepicker-hours table tr td span.hour_am,
.datetimepicker .datetimepicker-hours table tr td span.hour_pm {
width: 14.6%;
}
.datetimepicker .datetimepicker-hours fieldset legend,
.datetimepicker .datetimepicker-minutes fieldset legend {
margin-bottom: inherit;
line-height: 30px;
}
.datetimepicker .datetimepicker-minutes span {
height: 26px;
line-height: 26px;
}
.datetimepicker table tr td span:hover {
background: #eeeeee;
}
.datetimepicker table tr td span.disabled,
.datetimepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datetimepicker table tr td span.active,
.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active:hover:hover,
.datetimepicker table tr td span.active.disabled:hover,
.datetimepicker table tr td span.active.disabled:hover:hover,
.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active:hover.disabled,
.datetimepicker table tr td span.active.disabled.disabled,
.datetimepicker table tr td span.active.disabled:hover.disabled,
.datetimepicker table tr td span.active[disabled],
.datetimepicker table tr td span.active:hover[disabled],
.datetimepicker table tr td span.active.disabled[disabled],
.datetimepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active {
background-color: #003399;
}
.datetimepicker table tr td span.old {
color: #999999;
}
.datetimepicker th.switch {
width: 145px;
}
.datetimepicker th span.glyphicon {
pointer-events: none;
}
.datetimepicker thead tr:first-child th,
.datetimepicker tfoot th {
cursor: pointer;
}
.datetimepicker thead tr:first-child th:hover,
.datetimepicker tfoot th:hover {
background: #eeeeee;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i,
.input-group.date .input-group-addon span {
cursor: pointer;
width: 14px;
height: 14px;
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,663 @@
/*! X-editable - v1.5.1
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
.editableform {
margin-bottom: 0; /* overwrites bootstrap margin */
}
.editableform .control-group {
margin-bottom: 0; /* overwrites bootstrap margin */
white-space: nowrap; /* prevent wrapping buttons on new line */
line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}
/*
BS3 width:1005 for inputs breaks editable form in popup
See: https://github.com/vitalets/x-editable/issues/393
*/
.editableform .form-control {
width: auto;
}
.editable-buttons {
display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
vertical-align: top;
margin-left: 7px;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons.editable-buttons-bottom {
display: block;
margin-top: 7px;
margin-left: 0;
}
.editable-input {
vertical-align: top;
display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
white-space: normal; /* reset white-space decalred in parent*/
/* display-inline emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons .editable-cancel {
margin-left: 7px;
}
/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
height: 24px;
width: 30px;
}
.editableform-loading {
background: url('../img/loading.gif') center center no-repeat;
height: 25px;
width: auto;
min-width: 25px;
}
.editable-inline .editableform-loading {
background-position: left 5px;
}
.editable-error-block {
max-width: 300px;
margin: 5px 0 0 0;
width: auto;
white-space: normal;
}
/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
padding: 3px;
}
.editable-error {
color: red;
}
/* ---- For specific types ---- */
.editableform .editable-date {
padding: 0;
margin: 0;
float: left;
}
/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
margin-top: 3px;
margin-left: 1px;
}
/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"],
.editable-checklist label span {
vertical-align: middle;
margin: 0;
}
.editable-checklist label {
white-space: nowrap;
}
/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
width: 566px;
height: 250px;
}
/* clear button shown as link in date inputs */
.editable-clear {
clear: both;
font-size: 0.9em;
text-decoration: none;
text-align: right;
}
/* IOS-style clear button for text inputs */
.editable-clear-x {
background: url('../img/clear.png') center center no-repeat;
display: block;
width: 13px;
height: 13px;
position: absolute;
opacity: 0.6;
z-index: 100;
top: 50%;
right: 6px;
margin-top: -6px;
}
.editable-clear-x:hover {
opacity: 1;
}
.editable-pre-wrapped {
white-space: pre-wrap;
}
.editable-container.editable-popup {
max-width: none !important; /* without this rule poshytip/tooltip does not stretch */
}
.editable-container.popover {
width: auto; /* without this rule popover does not stretch */
}
.editable-container.editable-inline {
display: inline-block;
vertical-align: middle;
width: auto;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-container.ui-widget {
font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */
z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */
}
.editable-click,
a.editable-click,
a.editable-click:hover {
text-decoration: none;
border-bottom: dashed 1px #0088cc;
}
.editable-click.editable-disabled,
a.editable-click.editable-disabled,
a.editable-click.editable-disabled:hover {
color: #585858;
cursor: default;
border-bottom: none;
}
.editable-empty, .editable-empty:hover, .editable-empty:focus{
font-style: italic;
color: #DD1144;
/* border-bottom: none; */
text-decoration: none;
}
.editable-unsaved {
font-weight: bold;
}
.editable-unsaved:after {
/* content: '*'*/
}
.editable-bg-transition {
-webkit-transition: background-color 1400ms ease-out;
-moz-transition: background-color 1400ms ease-out;
-o-transition: background-color 1400ms ease-out;
-ms-transition: background-color 1400ms ease-out;
transition: background-color 1400ms ease-out;
}
/*see https://github.com/vitalets/x-editable/issues/139 */
.form-horizontal .editable
{
padding-top: 5px;
display:inline-block;
}
/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datepicker {
padding: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;
}*/
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
top: -7px;
left: 6px;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
position: absolute;
top: -6px;
left: 7px;
}
.datepicker > div {
display: none;
}
.datepicker.days div.datepicker-days {
display: block;
}
.datepicker.months div.datepicker-months {
display: block;
}
.datepicker.years div.datepicker-years {
display: block;
}
.datepicker table {
margin: 0;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover {
background: #eeeeee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(top, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
background: #eeeeee;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
background-color: #f3d17a;
background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
background-image: linear-gradient(top, #f3c17a, #f3e97a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
border-color: #f3e97a #f3e97a #edde34;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
background-color: #9e9e9e;
background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
background-image: -o-linear-gradient(top, #b3b3b3, #808080);
background-image: linear-gradient(top, #b3b3b3, #808080);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
border-color: #808080 #808080 #595959;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span:hover {
background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
color: #999999;
}
.datepicker th.datepicker-switch {
width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
background: #eeeeee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
cursor: default;
background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
display: block;
cursor: pointer;
width: 16px;
height: 16px;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: 18px;
padding: 4px 5px;
font-weight: normal;
line-height: 18px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
vertical-align: middle;
background-color: #eeeeee;
border: 1px solid #ccc;
margin-left: -5px;
margin-right: -5px;
}

@ -0,0 +1,278 @@
/*!
* bootstrap-select v1.4.3
* http://silviomoreto.github.io/bootstrap-select/
*
* Copyright 2013 bootstrap-select
* Licensed under the MIT license
*/
.bootstrap-select.btn-group,
.bootstrap-select.btn-group[class*="span"] {
float: none;
display: inline-block;
margin-bottom: 10px;
margin-left: 0;
}
.form-search .bootstrap-select.btn-group,
.form-inline .bootstrap-select.btn-group,
.form-horizontal .bootstrap-select.btn-group {
margin-bottom: 0;
}
.bootstrap-select.form-control {
margin-bottom: 0;
padding: 0;
border: none;
}
.bootstrap-select.btn-group.pull-right,
.bootstrap-select.btn-group[class*="span"].pull-right,
.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right {
float: right;
}
.input-append .bootstrap-select.btn-group {
margin-left: -1px;
}
.input-prepend .bootstrap-select.btn-group {
margin-right: -1px;
}
.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]) {
width: 220px;
}
.bootstrap-select {
/*width: 220px\9; IE8 and below*/
width: 220px\0; /*IE9 and below*/
}
.bootstrap-select.form-control:not([class*="span"]) {
width: 100%;
}
.bootstrap-select > .btn {
width: 100%;
}
.error .bootstrap-select .btn {
border: 1px solid #b94a48;
}
.dropdown-menu {
z-index: 2000;
}
.bootstrap-select.show-menu-arrow.open > .btn {
z-index: 2051;
}
.bootstrap-select .btn:focus {
outline: thin dotted #333333 !important;
outline: 5px auto -webkit-focus-ring-color !important;
outline-offset: -2px;
}
.bootstrap-select.btn-group .btn .filter-option {
overflow: hidden;
position: absolute;
left: 12px;
right: 25px;
text-align: left;
}
.bootstrap-select.btn-group .btn .caret {
position: absolute;
top: 50%;
right: 12px;
margin-top: -2px;
vertical-align: middle;
}
.bootstrap-select.btn-group > .disabled,
.bootstrap-select.btn-group .dropdown-menu li.disabled > a {
cursor: not-allowed;
}
.bootstrap-select.btn-group > .disabled:focus {
outline: none !important;
}
.bootstrap-select.btn-group[class*="span"] .btn {
width: 100%;
}
.bootstrap-select.btn-group .dropdown-menu {
min-width: 100%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.bootstrap-select.btn-group .dropdown-menu.inner {
position: static;
border: 0;
padding: 0;
margin: 0;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.bootstrap-select.btn-group .dropdown-menu dt {
display: block;
padding: 3px 20px;
cursor: default;
}
.bootstrap-select.btn-group .div-contain {
overflow: hidden;
}
.bootstrap-select.btn-group .dropdown-menu li {
position: relative;
}
.bootstrap-select.btn-group .dropdown-menu li > a.opt {
position: relative;
padding-left: 35px;
}
.bootstrap-select.btn-group .dropdown-menu li > a {
cursor: pointer;
}
.bootstrap-select.btn-group .dropdown-menu li > dt small {
font-weight: normal;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark {
display: inline-block;
position: absolute;
right: 15px;
margin-top: 2.5px;
}
.bootstrap-select.btn-group .dropdown-menu li a i.check-mark {
display: none;
}
.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
margin-right: 34px;
}
.bootstrap-select.btn-group .dropdown-menu li small {
padding-left: 0.5em;
}
.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:hover small,
.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) > a:focus small,
.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) > a small {
color: #64b1d8;
color: rgba(255,255,255,0.4);
}
.bootstrap-select.btn-group .dropdown-menu li > dt small {
font-weight: normal;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #CCC;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
bottom: -4px;
left: 9px;
display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid white;
position: absolute;
bottom: -4px;
left: 10px;
display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {
bottom: auto;
top: -3px;
border-top: 7px solid #ccc;
border-bottom: 0;
border-top-color: rgba(0, 0, 0, 0.2);
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
bottom: auto;
top: -3px;
border-top: 6px solid #ffffff;
border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {
right: 12px;
left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {
right: 13px;
left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
display: block;
}
.bootstrap-select.btn-group .no-results {
padding: 3px;
background: #f5f5f5;
margin: 0 5px;
}
.mobile-device {
position: absolute;
top: 0;
left: 0;
display: block !important;
width: 100%;
height: 100% !important;
opacity: 0;
}
.bootstrap-select.fit-width {
width: auto !important;
}
.bootstrap-select.btn-group.fit-width .btn .filter-option {
position: static;
}
.bootstrap-select.btn-group.fit-width .btn .caret {
position: static;
top: auto;
margin-top: -1px;
}
.control-group.error .bootstrap-select .dropdown-toggle{
border-color: #b94a48;
}
.bootstrap-select-searchbox {
padding: 4px 8px;
}
.bootstrap-select-searchbox input {
margin-bottom: 0;
}

@ -0,0 +1,7 @@
/*!
* bootstrap-select v1.4.3
* http://silviomoreto.github.io/bootstrap-select/
*
* Copyright 2013 bootstrap-select
* Licensed under the MIT license
*/.bootstrap-select.btn-group,.bootstrap-select.btn-group[class*="span"]{float:none;display:inline-block;margin-bottom:10px;margin-left:0}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group{margin-bottom:0}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:0}.bootstrap-select.btn-group.pull-right,.bootstrap-select.btn-group[class*="span"].pull-right,.row-fluid .bootstrap-select.btn-group[class*="span"].pull-right{float:right}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select:not([class*="span"]):not([class*="col-"]):not([class*="form-control"]){width:220px}.bootstrap-select{width:220px\0}.bootstrap-select.form-control:not([class*="span"]){width:100%}.bootstrap-select>.btn{width:100%}.error .bootstrap-select .btn{border:1px solid #b94a48}.dropdown-menu{z-index:2000}.bootstrap-select.show-menu-arrow.open>.btn{z-index:2051}.bootstrap-select .btn:focus{outline:thin dotted #333 !important;outline:5px auto -webkit-focus-ring-color !important;outline-offset:-2px}.bootstrap-select.btn-group .btn .filter-option{overflow:hidden;position:absolute;left:12px;right:25px;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group>.disabled,.bootstrap-select.btn-group .dropdown-menu li.disabled>a{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:none !important}.bootstrap-select.btn-group[class*="span"] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu dt{display:block;padding:3px 20px;cursor:default}.bootstrap-select.btn-group .div-contain{overflow:hidden}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li>a.opt{position:relative;padding-left:35px}.bootstrap-select.btn-group .dropdown-menu li>a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a i.check-mark{display:inline-block;position:absolute;right:15px;margin-top:2.5px}.bootstrap-select.btn-group .dropdown-menu li a i.check-mark{display:none}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled)>a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled)>a small{color:#64b1d8;color:rgba(255,255,255,0.4)}.bootstrap-select.btn-group .dropdown-menu li>dt small{font-weight:normal}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,0.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.mobile-device{position:absolute;top:0;left:0;display:block !important;width:100%;height:100% !important;opacity:0}.bootstrap-select.fit-width{width:auto !important}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select-searchbox{padding:4px 8px}.bootstrap-select-searchbox input{margin-bottom:0}

@ -0,0 +1 @@
.reorder_rows_onDragClass td{background-color:#eee;-webkit-box-shadow:11px 5px 12px 2px #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:6px 3px 5px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-box-shadow:6px 4px 5px 1px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset}.reorder_rows_onDragClass td:last-child{-webkit-box-shadow:8px 7px 12px 0 #333,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-webkit-box-shadow:1px 8px 6px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset;-moz-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset;-box-shadow:0 9px 4px -4px #555,0 1px 0 #ccc inset,0 -1px 0 #ccc inset,-1px 0 0 #ccc inset}

File diff suppressed because one or more lines are too long

@ -0,0 +1,54 @@
/*
* bootstrap-tagsinput v0.8.0
*
*/
.twitter-typeahead .tt-query,
.twitter-typeahead .tt-hint {
margin-bottom: 0;
}
.twitter-typeahead .tt-hint
{
display: none;
}
.tt-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 14px;
background-color: #ffffff;
border: 1px solid #cccccc;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
background-clip: padding-box;
cursor: pointer;
}
.tt-suggestion {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.428571429;
color: #333333;
white-space: nowrap;
}
.tt-suggestion:hover,
.tt-suggestion:focus {
color: #ffffff;
text-decoration: none;
outline: 0;
background-color: #428bca;
}

@ -0,0 +1,60 @@
/*
* bootstrap-tagsinput v0.8.0
*
*/
.bootstrap-tagsinput {
background-color: #fff;
border: 1px solid #ccc;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
display: inline-block;
padding: 4px 6px;
color: #555;
vertical-align: middle;
border-radius: 4px;
max-width: 100%;
line-height: 22px;
cursor: text;
}
.bootstrap-tagsinput input {
border: none;
box-shadow: none;
outline: none;
background-color: transparent;
padding: 0 6px;
margin: 0;
width: auto;
max-width: inherit;
}
.bootstrap-tagsinput.form-control input::-moz-placeholder {
color: #777;
opacity: 1;
}
.bootstrap-tagsinput.form-control input:-ms-input-placeholder {
color: #777;
}
.bootstrap-tagsinput.form-control input::-webkit-input-placeholder {
color: #777;
}
.bootstrap-tagsinput input:focus {
border: none;
box-shadow: none;
}
.bootstrap-tagsinput .tag {
margin-right: 2px;
color: white;
}
.bootstrap-tagsinput .tag [data-role="remove"] {
margin-left: 8px;
cursor: pointer;
}
.bootstrap-tagsinput .tag [data-role="remove"]:after {
content: "x";
padding: 0px 2px;
}
.bootstrap-tagsinput .tag [data-role="remove"]:hover {
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1,314 @@
div.dataTables_length label {
font-weight: normal;
text-align: left;
white-space: nowrap;
}
div.dataTables_length select {
width: 75px;
display: inline-block;
}
div.dataTables_filter {
text-align: right;
}
div.dataTables_filter label {
font-weight: normal;
white-space: nowrap;
text-align: left;
}
div.dataTables_filter input {
margin-left: 0.5em;
display: inline-block;
}
div.dataTables_info {
padding-top: 8px;
white-space: nowrap;
}
div.dataTables_paginate {
margin: 0;
white-space: nowrap;
text-align: right;
}
div.dataTables_paginate ul.pagination {
margin: 2px 0;
white-space: nowrap;
}
@media screen and (max-width: 767px) {
div.dataTables_length,
div.dataTables_filter,
div.dataTables_info,
div.dataTables_paginate {
text-align: center;
}
}
table.dataTable td,
table.dataTable th {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
table.dataTable {
clear: both;
margin-top: 6px !important;
margin-bottom: 6px !important;
max-width: none !important;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
cursor: pointer;
}
table.dataTable thead .sorting { background: url('../images/sort_both.png') no-repeat center right; }
table.dataTable thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; }
table.dataTable thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; }
table.dataTable thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; }
table.dataTable thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; }
table.dataTable thead > tr > th {
padding-left: 18px;
padding-right: 18px;
}
table.dataTable th:active {
outline: none;
}
/* Scrolling */
div.dataTables_scrollHead table {
margin-bottom: 0 !important;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
div.dataTables_scrollHead table thead tr:last-child th:first-child,
div.dataTables_scrollHead table thead tr:last-child td:first-child {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
div.dataTables_scrollBody table {
border-top: none;
margin-top: 0 !important;
margin-bottom: 0 !important;
}
div.dataTables_scrollBody tbody tr:first-child th,
div.dataTables_scrollBody tbody tr:first-child td {
border-top: none;
}
div.dataTables_scrollFoot table {
margin-top: 0 !important;
border-top: none;
}
/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column
width calculations when using scrolling impossible to align columns. We have
to use separate
*/
table.table-bordered.dataTable {
border-collapse: separate !important;
}
table.table-bordered thead th,
table.table-bordered thead td {
border-left-width: 0;
border-top-width: 0;
}
table.table-bordered tbody th,
table.table-bordered tbody td {
border-left-width: 0;
border-bottom-width: 0;
}
table.table-bordered th:last-child,
table.table-bordered td:last-child {
border-right-width: 0;
}
div.dataTables_scrollHead table.table-bordered {
border-bottom-width: 0;
}
/*
* TableTools styles
*/
.table.dataTable tbody tr.active td,
.table.dataTable tbody tr.active th {
background-color: #08C;
color: white;
}
.table.dataTable tbody tr.active:hover td,
.table.dataTable tbody tr.active:hover th {
background-color: #0075b0 !important;
}
.table.dataTable tbody tr.active th > a,
.table.dataTable tbody tr.active td > a {
color: white;
}
.table-striped.dataTable tbody tr.active:nth-child(odd) td,
.table-striped.dataTable tbody tr.active:nth-child(odd) th {
background-color: #017ebc;
}
table.DTTT_selectable tbody tr {
cursor: pointer;
}
div.DTTT .btn:hover {
text-decoration: none !important;
}
ul.DTTT_dropdown.dropdown-menu {
z-index: 2003;
}
ul.DTTT_dropdown.dropdown-menu a {
color: #333 !important; /* needed only when demo_page.css is included */
}
ul.DTTT_dropdown.dropdown-menu li {
position: relative;
}
ul.DTTT_dropdown.dropdown-menu li:hover a {
background-color: #0088cc;
color: white !important;
}
div.DTTT_collection_background {
z-index: 2002;
}
/* TableTools information display */
div.DTTT_print_info {
position: fixed;
top: 50%;
left: 50%;
width: 400px;
height: 150px;
margin-left: -200px;
margin-top: -75px;
text-align: center;
color: #333;
padding: 10px 30px;
opacity: 0.95;
background-color: white;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 6px;
-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
}
div.DTTT_print_info h6 {
font-weight: normal;
font-size: 28px;
line-height: 28px;
margin: 1em;
}
div.DTTT_print_info p {
font-size: 14px;
line-height: 20px;
}
div.dataTables_processing {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 60px;
margin-left: -50%;
margin-top: -25px;
padding-top: 20px;
padding-bottom: 20px;
text-align: center;
font-size: 1.2em;
background-color: white;
background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
}
/*
* FixedColumns styles
*/
div.DTFC_LeftHeadWrapper table,
div.DTFC_LeftFootWrapper table,
div.DTFC_RightHeadWrapper table,
div.DTFC_RightFootWrapper table,
table.DTFC_Cloned tr.even {
background-color: white;
margin-bottom: 0;
}
div.DTFC_RightHeadWrapper table ,
div.DTFC_LeftHeadWrapper table {
border-bottom: none !important;
margin-bottom: 0 !important;
border-top-right-radius: 0 !important;
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,
div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,
div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,
div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
div.DTFC_RightBodyWrapper table,
div.DTFC_LeftBodyWrapper table {
border-top: none;
margin: 0 !important;
}
div.DTFC_RightBodyWrapper tbody tr:first-child th,
div.DTFC_RightBodyWrapper tbody tr:first-child td,
div.DTFC_LeftBodyWrapper tbody tr:first-child th,
div.DTFC_LeftBodyWrapper tbody tr:first-child td {
border-top: none;
}
div.DTFC_RightFootWrapper table,
div.DTFC_LeftFootWrapper table {
border-top: none;
margin-top: 0 !important;
}
/*
* FixedHeader styles
*/
div.FixedHeader_Cloned table {
margin: 0 !important
}

@ -0,0 +1,99 @@
/*
Original highlight.js style (c) Ivan Sagalaev <maniac@softwaremaniacs.org>
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #F0F0F0;
}
/* Base color: saturation 0; */
.hljs,
.hljs-subst {
color: #444;
}
.hljs-comment {
color: #888888;
}
.hljs-keyword,
.hljs-attribute,
.hljs-selector-tag,
.hljs-meta-keyword,
.hljs-doctag,
.hljs-name {
font-weight: bold;
}
/* User color: hue: 0 */
.hljs-type,
.hljs-string,
.hljs-number,
.hljs-selector-id,
.hljs-selector-class,
.hljs-quote,
.hljs-template-tag,
.hljs-deletion {
color: #880000;
}
.hljs-title,
.hljs-section {
color: #880000;
font-weight: bold;
}
.hljs-regexp,
.hljs-symbol,
.hljs-variable,
.hljs-template-variable,
.hljs-link,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #BC6060;
}
/* Language color: hue: 90; */
.hljs-literal {
color: #78A960;
}
.hljs-built_in,
.hljs-bullet,
.hljs-code,
.hljs-addition {
color: #397300;
}
/* Meta color: hue: 200 */
.hljs-meta {
color: #1f7199;
}
.hljs-meta-string {
color: #4d99bf;
}
/* Misc effects */
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,44 @@
#popup_container {
font-family: Arial, sans-serif;
font-size: 12px;
min-width: 300px; /* Dialog will be no smaller than this */
max-width: 600px; /* Dialog will wrap after this width */
background: #FFF;
border:3px solid #E6E6E6;
color: #000;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
*html #popup_container{width:304px;}
#popup_content {
padding: 1em 1.75em;
margin: 0em;
}
#popup_content.alert {
}
#popup_content.confirm {
}
#popup_content.prompt {
}
#popup_message {
color: #6B6B6B;
margin: 0;
padding: 0;
text-align:center
}
#popup_panel {
text-align: center;
margin: 1em 0em 0em 0em;
}
#popup_prompt {
margin: .5em 0em;
}

@ -0,0 +1,189 @@
/*
*
* Template Name: Fullscreen Login
* Description: Login Template with Fullscreen Background Slideshow
* Author: Anli Zaimi
* Author URI: http://azmind.com
*
*/
body{
background:#fff url(/assets/img/loginimg/1.jpg) no-repeat left top;
transition:all 1.0s ease;
-webkit-transition:all 1.0s ease;
-o-transition:all 1.0s ease;
-moz-transition:all 1.0s ease;
background-size:100%;
font-family: 'PT Sans', Helvetica, Arial, sans-serif;
text-align: center;
}
.page-container {
margin: 120px auto 0 auto;
}
h1 {
font-size: 30px;
font-weight: 700;
text-shadow: 0 1px 4px rgba(0,0,0,.2);
}
form {
position: relative;
width: 305px;
margin: 15px auto 0 auto;
text-align: center;
}
input {
width: 270px;
height: 42px;
margin-top: 25px;
padding: 0 15px;
background: #2d2d2d; /* browsers that don't support rgba */
background: rgba(45,45,45,.15);
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
border: 1px solid #3d3d3d; /* browsers that don't support rgba */
border: 1px solid rgba(255,255,255,.15);
-moz-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset;
-webkit-box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset;
box-shadow: 0 2px 3px 0 rgba(0,0,0,.1) inset;
font-family: 'PT Sans', Helvetica, Arial, sans-serif;
font-size: 14px;
color: #fff;
text-shadow: 0 1px 2px rgba(0,0,0,.1);
-o-transition: all .2s;
-moz-transition: all .2s;
-webkit-transition: all .2s;
-ms-transition: all .2s;
}
input:-moz-placeholder { color: #fff; }
input:-ms-input-placeholder { color: #fff; }
input::-webkit-input-placeholder { color: #fff; }
input:focus {
outline: none;
-moz-box-shadow:
0 2px 3px 0 rgba(0,0,0,.1) inset,
0 2px 7px 0 rgba(0,0,0,.2);
-webkit-box-shadow:
0 2px 3px 0 rgba(0,0,0,.1) inset,
0 2px 7px 0 rgba(0,0,0,.2);
box-shadow:
0 2px 3px 0 rgba(0,0,0,.1) inset,
0 2px 7px 0 rgba(0,0,0,.2);
}
button {
cursor: pointer;
width: 300px;
height: 44px;
margin-top: 25px;
padding: 0;
background: #ef4300;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
border: 1px solid #ff730e;
-moz-box-shadow:
0 15px 30px 0 rgba(255,255,255,.25) inset,
0 2px 7px 0 rgba(0,0,0,.2);
-webkit-box-shadow:
0 15px 30px 0 rgba(255,255,255,.25) inset,
0 2px 7px 0 rgba(0,0,0,.2);
box-shadow:
0 15px 30px 0 rgba(255,255,255,.25) inset,
0 2px 7px 0 rgba(0,0,0,.2);
font-family: 'PT Sans', Helvetica, Arial, sans-serif;
font-size: 14px;
font-weight: 700;
color: #fff;
text-shadow: 0 1px 2px rgba(0,0,0,.1);
-o-transition: all .2s;
-moz-transition: all .2s;
-webkit-transition: all .2s;
-ms-transition: all .2s;
}
button:hover {
-moz-box-shadow:
0 15px 30px 0 rgba(255,255,255,.15) inset,
0 2px 7px 0 rgba(0,0,0,.2);
-webkit-box-shadow:
0 15px 30px 0 rgba(255,255,255,.15) inset,
0 2px 7px 0 rgba(0,0,0,.2);
box-shadow:
0 15px 30px 0 rgba(255,255,255,.15) inset,
0 2px 7px 0 rgba(0,0,0,.2);
}
button:active {
-moz-box-shadow:
0 15px 30px 0 rgba(255,255,255,.15) inset,
0 2px 7px 0 rgba(0,0,0,.2);
-webkit-box-shadow:
0 15px 30px 0 rgba(255,255,255,.15) inset,
0 2px 7px 0 rgba(0,0,0,.2);
box-shadow:
0 5px 8px 0 rgba(0,0,0,.1) inset,
0 1px 4px 0 rgba(0,0,0,.1);
border: 0px solid #ef4300;
}
.error {
display: none;
position: absolute;
top: 27px;
right: -55px;
width: 40px;
height: 40px;
background: #2d2d2d; /* browsers that don't support rgba */
background: rgba(45,45,45,.25);
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
border-radius: 8px;
}
.error span {
display: inline-block;
margin-left: 2px;
font-size: 40px;
font-weight: 700;
line-height: 40px;
text-shadow: 0 1px 2px rgba(0,0,0,.1);
-o-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
}
.connect {
width: 305px;
margin: 35px auto 0 auto;
font-size: 18px;
font-weight: 700;
text-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.connect a {
display: inline-block;
width: 32px;
height: 35px;
margin-top: 15px;
-o-transition: all .2s;
-moz-transition: all .2s;
-webkit-transition: all .2s;
-ms-transition: all .2s;
}
.connect a:hover { background-position: center bottom; }

@ -0,0 +1,10 @@
/*
* metismenu - v1.1.3
* Easy menu jQuery plugin for Twitter Bootstrap 3
* https://github.com/onokumus/metisMenu
*
* Made by Osman Nuri Okumus
* Under MIT License
*/
.arrow{float:right;line-height:1.42857}.glyphicon.arrow:before{content:"\e079"}.active>a>.glyphicon.arrow:before{content:"\e114"}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.plus-times{float:right}.fa.plus-times:before{content:"\f067"}.active>a>.fa.plus-times{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.plus-minus{float:right}.fa.plus-minus:before{content:"\f067"}.active>a>.fa.plus-minus:before{content:"\f068"}

@ -0,0 +1,191 @@
/**
* @author zhixin wen <wenzhixin2010@gmail.com>
*/
.ms-parent {
display: inline-block;
position: relative;
vertical-align: middle;
}
.ms-choice {
display: block;
width: 100%;
height: 26px;
padding: 0;
overflow: hidden;
cursor: pointer;
border: 1px solid #aaa;
text-align: left;
white-space: nowrap;
line-height: 26px;
color: #444;
text-decoration: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #fff;
}
.ms-choice.disabled {
background-color: #f4f4f4;
background-image: none;
border: 1px solid #ddd;
cursor: default;
}
.ms-choice > span {
position: absolute;
top: 0;
left: 0;
right: 20px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: block;
padding-left: 8px;
}
.ms-choice > span.placeholder {
color: #999;
}
.ms-choice > div {
position: absolute;
top: 0;
right: 0;
width: 20px;
height: 25px;
background: url('multiple-select.png') left top no-repeat;
}
.ms-choice > div.open {
background: url('multiple-select.png') right top no-repeat;
}
.ms-drop {
width: 100%;
overflow: hidden;
display: none;
margin-top: -1px;
padding: 0;
position: absolute;
z-index: 1000;
background: #fff;
color: #000;
border: 1px solid #aaa;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.ms-drop.bottom {
top: 100%;
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
-moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
}
.ms-drop.top {
bottom: 100%;
-webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
-moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
}
.ms-search {
display: inline-block;
margin: 0;
min-height: 26px;
padding: 4px;
position: relative;
white-space: nowrap;
width: 100%;
z-index: 10000;
}
.ms-search input {
width: 100%;
height: auto !important;
min-height: 24px;
padding: 0 20px 0 5px;
margin: 0;
outline: 0;
font-family: sans-serif;
font-size: 1em;
border: 1px solid #aaa;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
background: #fff url('multiple-select.png') no-repeat 100% -22px;
background: url('multiple-select.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
background: url('multiple-select.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
background: url('multiple-select.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
background: url('multiple-select.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
background: url('multiple-select.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
background: url('multiple-select.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
}
.ms-search, .ms-search input {
-webkit-box-sizing: border-box;
-khtml-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
.ms-drop ul {
overflow: auto;
margin: 0;
padding: 5px 8px;
}
.ms-drop ul > li {
list-style: none;
display: list-item;
background-image: none;
position: static;
}
.ms-drop ul > li .disabled {
opacity: .35;
filter: Alpha(Opacity=35);
}
.ms-drop ul > li.multiple {
display: block;
float: left;
}
.ms-drop ul > li.group {
clear: both;
}
.ms-drop ul > li.multiple label {
width: 100%;
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.ms-drop ul > li label {
font-weight: normal;
display: block;
white-space: nowrap;
}
.ms-drop ul > li label.optgroup {
font-weight: bold;
}
.ms-drop input[type="checkbox"] {
vertical-align: middle;
}
.ms-drop .ms-no-results {
display: none;
}

@ -0,0 +1,354 @@
/*!
* Start Bootstrap - SB Admin 2 Bootstrap Admin Theme (http://startbootstrap.com)
* Code licensed under the Apache License v2.0.
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
*/
body {
background-color: #f8f8f8;
}
#wrapper {
width: 100%;
}
#page-wrapper {
padding: 0 15px;
min-height: 568px;
background-color: #fff;
}
@media(min-width:768px) {
#page-wrapper {
position: inherit;
margin: 0 0 0 250px;
padding: 0 30px;
border-left: 1px solid #e7e7e7;
}
}
.navbar-top-links {
margin-right: 0;
}
.navbar-top-links li {
display: inline-block;
}
.navbar-top-links li:last-child {
margin-right: 15px;
}
.navbar-top-links li a {
padding: 15px;
min-height: 50px;
}
.navbar-top-links .dropdown-menu li {
display: block;
}
.navbar-top-links .dropdown-menu li:last-child {
margin-right: 0;
}
.navbar-top-links .dropdown-menu li a {
padding: 3px 20px;
min-height: 0;
}
.navbar-top-links .dropdown-menu li a div {
white-space: normal;
}
.navbar-top-links .dropdown-messages,
.navbar-top-links .dropdown-tasks,
.navbar-top-links .dropdown-alerts {
width: 310px;
min-width: 0;
}
.navbar-top-links .dropdown-messages {
margin-left: 5px;
}
.navbar-top-links .dropdown-tasks {
margin-left: -59px;
}
.navbar-top-links .dropdown-alerts {
margin-left: -123px;
}
.navbar-top-links .dropdown-user {
right: 0;
left: auto;
}
.sidebar .sidebar-nav.navbar-collapse {
padding-right: 0;
padding-left: 0;
}
.sidebar .sidebar-search {
padding: 15px;
}
.sidebar ul li {
border-bottom: 1px solid #e7e7e7;
}
.sidebar ul li a.active {
background-color: #eee;
}
.sidebar .arrow {
float: right;
}
.sidebar .fa.arrow:before {
content: "\f104";
}
.sidebar .active>a>.fa.arrow:before {
content: "\f107";
}
.sidebar .nav-second-level li,
.sidebar .nav-third-level li {
border-bottom: 0!important;
}
.sidebar .nav-second-level li a {
padding-left: 37px;
}
.sidebar .nav-third-level li a {
padding-left: 52px;
}
@media(min-width:768px) {
.sidebar {
z-index: 1;
position: absolute;
width: 250px;
margin-top: 51px;
}
.navbar-top-links .dropdown-messages,
.navbar-top-links .dropdown-tasks,
.navbar-top-links .dropdown-alerts {
margin-left: auto;
}
}
.btn-outline {
color: inherit;
background-color: transparent;
transition: all .5s;
}
.btn-primary.btn-outline {
color: #428bca;
}
.btn-success.btn-outline {
color: #5cb85c;
}
.btn-info.btn-outline {
color: #5bc0de;
}
.btn-warning.btn-outline {
color: #f0ad4e;
}
.btn-danger.btn-outline {
color: #d9534f;
}
.btn-primary.btn-outline:hover,
.btn-success.btn-outline:hover,
.btn-info.btn-outline:hover,
.btn-warning.btn-outline:hover,
.btn-danger.btn-outline:hover {
color: #fff;
}
.chat {
margin: 0;
padding: 0;
list-style: none;
}
.chat li {
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px dotted #999;
}
.chat li.left .chat-body {
margin-left: 60px;
}
.chat li.right .chat-body {
margin-right: 60px;
}
.chat li .chat-body p {
margin: 0;
}
.panel .slidedown .glyphicon,
.chat .glyphicon {
margin-right: 5px;
}
.chat-panel .panel-body {
height: 350px;
overflow-y: scroll;
}
.login-panel {
margin-top: 25%;
}
.flot-chart {
display: block;
height: 400px;
}
.flot-chart-content {
width: 100%;
height: 100%;
}
.dataTables_wrapper {
position: relative;
clear: both;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
background: 0 0;
}
table.dataTable thead .sorting_asc:after {
content: "\f0de";
float: right;
font-family: fontawesome;
}
table.dataTable thead .sorting_desc:after {
content: "\f0dd";
float: right;
font-family: fontawesome;
}
table.dataTable thead .sorting:after {
content: "\f0dc";
float: right;
font-family: fontawesome;
color: rgba(50,50,50,.5);
}
.btn-circle {
width: 30px;
height: 30px;
padding: 6px 0;
border-radius: 15px;
text-align: center;
font-size: 12px;
line-height: 1.428571429;
}
.btn-circle.btn-lg {
width: 50px;
height: 50px;
padding: 10px 16px;
border-radius: 25px;
font-size: 18px;
line-height: 1.33;
}
.btn-circle.btn-xl {
width: 70px;
height: 70px;
padding: 10px 16px;
border-radius: 35px;
font-size: 24px;
line-height: 1.33;
}
.show-grid [class^=col-] {
padding-top: 10px;
padding-bottom: 10px;
border: 1px solid #ddd;
background-color: #eee!important;
}
.show-grid {
margin: 15px 0;
}
.huge {
font-size: 40px;
}
.panel-green {
border-color: #5cb85c;
}
.panel-green .panel-heading {
border-color: #5cb85c;
color: #fff;
background-color: #5cb85c;
}
.panel-green a {
color: #5cb85c;
}
.panel-green a:hover {
color: #3d8b3d;
}
.panel-red {
border-color: #d9534f;
}
.panel-red .panel-heading {
border-color: #d9534f;
color: #fff;
background-color: #d9534f;
}
.panel-red a {
color: #d9534f;
}
.panel-red a:hover {
color: #b52b27;
}
.panel-yellow {
border-color: #f0ad4e;
}
.panel-yellow .panel-heading {
border-color: #f0ad4e;
color: #fff;
background-color: #f0ad4e;
}
.panel-yellow a {
color: #f0ad4e;
}
.panel-yellow a:hover {
color: #df8a13;
}

@ -0,0 +1,170 @@
/*!
* @copyright &copy; Kartik Visweswaran, Krajee.com, 2014
* @version 2.5.0
*
* A simple yet powerful JQuery star rating plugin that allows rendering
* fractional star ratings and supports Right to Left (RTL) input.
*
* For more JQuery/Bootstrap plugins and demos visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/
/*
* Stars
*/
.rating-gly {
font-family: 'Glyphicons Halflings';
}
.rating-gly-star {
font-family: 'Glyphicons Halflings';
padding-left: 2px;
}
.rating-gly-star .rating-stars:before {
padding-left: 2px;
}
.rating-lg .rating-gly-star, .rating-lg .rating-gly-star .rating-stars:before {
padding-left: 4px;
}
.rating-xl .rating-gly-star, .rating-xl .rating-gly-star .rating-stars:before {
padding-left: 2px;
}
.rating-active {
cursor: default;
}
.rating-disabled {
cursor: not-allowed;
}
.rating-uni {
font-size: 1.2em;
margin-top: -5px;
}
.rating-container {
position: relative;
vertical-align: middle;
display: inline-block;
color: #e3e3e3;
overflow: hidden;
}
.rating-container:before {
content: attr(data-content);
}
.rating-container .rating-stars {
position: absolute;
left: 0;
top: 0;
white-space: nowrap;
overflow: hidden;
color: #fde16d;
transition: all 0.25s ease-out;
-o-transition: all 0.25s ease-out;
-moz-transition: all 0.25s ease-out;
-webkit-transition: all 0.25s ease-out;
}
.rating-container .rating-stars:before {
content: attr(data-content);
text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);
}
.rating-container-rtl {
position: relative;
vertical-align: middle;
display: inline-block;
overflow: hidden;
color: #fde16d;
}
.rating-container-rtl:before {
content: attr(data-content);
text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);
}
.rating-container-rtl .rating-stars {
position: absolute;
left: 0;
top: 0;
white-space: nowrap;
overflow: hidden;
color: #e3e3e3;
transition: all 0.25s ease-out;
-o-transition: all 0.25s ease-out;
-moz-transition: all 0.25s ease-out;
-webkit-transition: all 0.25s ease-out;
}
.rating-container-rtl .rating-stars:before {
content: attr(data-content);
}
/**
* Rating sizes
*/
.rating-xl {
font-size: 4.89em;
}
.rating-lg {
font-size: 3.91em;
}
.rating-md {
font-size: 3.13em;
}
.rating-sm {
font-size: 2.5em;
}
.rating-xs {
font-size: 2em;
}
/**
* Clear rating button
*/
.star-rating .clear-rating, .star-rating-rtl .clear-rating {
color: #aaa;
cursor: not-allowed;
display: inline-block;
vertical-align: middle;
font-size: 60%;
}
.clear-rating-active {
cursor: pointer !important;
}
.clear-rating-active:hover {
color: #843534;
}
.star-rating .clear-rating {
padding-right: 5px;
}
/**
* Caption
*/
.star-rating .caption, .star-rating-rtl .caption {
color: #999;
display: inline-block;
vertical-align: middle;
font-size: 55%;
}
.star-rating .caption {
padding-left: 5px;
}
.star-rating-rtl .caption {
padding-right: 5px;
}

@ -0,0 +1,10 @@
/*!
* @copyright &copy; Kartik Visweswaran, Krajee.com, 2014
* @version 2.5.0
*
* A simple yet powerful JQuery star rating plugin that allows rendering
* fractional star ratings and supports Right to Left (RTL) input.
*
* For more JQuery/Bootstrap plugins and demos visit http://plugins.krajee.com
* For more Yii related demos visit http://demos.krajee.com
*/.rating-gly{font-family:'Glyphicons Halflings'}.rating-gly-star{font-family:'Glyphicons Halflings';padding-left:2px}.rating-gly-star .rating-stars:before{padding-left:2px}.rating-lg .rating-gly-star,.rating-lg .rating-gly-star .rating-stars:before{padding-left:4px}.rating-xl .rating-gly-star,.rating-xl .rating-gly-star .rating-stars:before{padding-left:2px}.rating-active{cursor:default}.rating-disabled{cursor:not-allowed}.rating-uni{font-size:1.2em;margin-top:-5px}.rating-container{position:relative;vertical-align:middle;display:inline-block;color:#e3e3e3;overflow:hidden}.rating-container:before{content:attr(data-content)}.rating-container .rating-stars{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#fde16d;transition:all .25s ease-out;-o-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-webkit-transition:all .25s ease-out}.rating-container .rating-stars:before{content:attr(data-content);text-shadow:0 0 1px rgba(0,0,0,.7)}.rating-container-rtl{position:relative;vertical-align:middle;display:inline-block;overflow:hidden;color:#fde16d}.rating-container-rtl:before{content:attr(data-content);text-shadow:0 0 1px rgba(0,0,0,.7)}.rating-container-rtl .rating-stars{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;color:#e3e3e3;transition:all .25s ease-out;-o-transition:all .25s ease-out;-moz-transition:all .25s ease-out;-webkit-transition:all .25s ease-out}.rating-container-rtl .rating-stars:before{content:attr(data-content)}.rating-xl{font-size:4.89em}.rating-lg{font-size:3.91em}.rating-md{font-size:3.13em}.rating-sm{font-size:2.5em}.rating-xs{font-size:2em}.star-rating .clear-rating,.star-rating-rtl .clear-rating{color:#aaa;cursor:not-allowed;display:inline-block;vertical-align:middle;font-size:60%}.clear-rating-active{cursor:pointer!important}.clear-rating-active:hover{color:#843534}.star-rating .clear-rating{padding-right:5px}.star-rating .caption,.star-rating-rtl .caption{color:#999;display:inline-block;vertical-align:middle;font-size:55%}.star-rating .caption{padding-left:5px}.star-rating-rtl .caption{padding-right:5px}

@ -0,0 +1,127 @@
.form-bg{
background: #00b4ef;
}
.form-horizontal{
background: #fff;
padding-bottom: 40px;
border-radius: 15px;
text-align: center;
}
.form-horizontal .heading{
display: block;
font-size: 35px;
font-weight: 700;
padding: 35px 0;
border-bottom: 1px solid #f0f0f0;
margin-bottom: 30px;
}
.form-horizontal .form-group{
padding: 0 40px;
margin: 0 0 25px 0;
position: relative;
}
.form-horizontal .form-control{
background: #f0f0f0;
border: none;
border-radius: 20px;
box-shadow: none;
padding: 0 20px 0 45px;
height: 40px;
transition: all 0.3s ease 0s;
}
.form-horizontal .form-control:focus{
background: #e0e0e0;
box-shadow: none;
outline: 0 none;
}
.form-horizontal .form-group i{
position: absolute;
top: 12px;
left: 60px;
font-size: 17px;
color: #c8c8c8;
transition : all 0.5s ease 0s;
}
.form-horizontal .form-control:focus + i{
color: #00b4ef;
}
.form-horizontal .fa-question-circle{
display: inline-block;
position: absolute;
top: 12px;
right: 60px;
font-size: 20px;
color: #808080;
transition: all 0.5s ease 0s;
}
.form-horizontal .fa-question-circle:hover{
color: #000;
}
.form-horizontal .main-checkbox{
float: left;
width: 20px;
height: 20px;
background: #11a3fc;
border-radius: 50%;
position: relative;
margin: 5px 0 0 5px;
border: 1px solid #11a3fc;
}
.form-horizontal .main-checkbox label{
width: 20px;
height: 20px;
position: absolute;
top: 0;
left: 0;
cursor: pointer;
}
.form-horizontal .main-checkbox label:after{
content: "";
width: 10px;
height: 5px;
position: absolute;
top: 5px;
left: 4px;
border: 3px solid #fff;
border-top: none;
border-right: none;
background: transparent;
opacity: 0;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.form-horizontal .main-checkbox input[type=checkbox]{
visibility: hidden;
}
.form-horizontal .main-checkbox input[type=checkbox]:checked + label:after{
opacity: 1;
}
.form-horizontal .text{
float: left;
margin-left: 7px;
line-height: 20px;
padding-top: 5px;
text-transform: capitalize;
}
.form-horizontal .btn{
float: right;
font-size: 14px;
color: #fff;
background: #00b4ef;
border-radius: 30px;
padding: 10px 25px;
border: none;
text-transform: capitalize;
transition: all 0.5s ease 0s;
}
@media only screen and (max-width: 479px){
.form-horizontal .form-group{
padding: 0 25px;
}
.form-horizontal .form-group i{
left: 45px;
}
.form-horizontal .btn{
padding: 10px 20px;
}
}

@ -0,0 +1,295 @@
@media (min-width: 980px) {
/*-----*/
.custom-bar-chart {
margin-bottom: 40px;
}
}
@media (min-width: 768px) and (max-width: 979px) {
/*-----*/
.custom-bar-chart {
margin-bottom: 40px;
}
/*chat room*/
}
@media (max-width: 768px) {
.header {
position: absolute;
}
/*sidebar*/
#sidebar {
height: auto;
overflow: hidden;
position: absolute;
width: 100%;
z-index: 1001;
}
/* body container */
#main-content {
margin: 0px!important;
position: none !important;
}
#sidebar > ul > li > a > span {
line-height: 35px;
}
#sidebar > ul > li {
margin: 0 10px 5px 10px;
}
#sidebar > ul > li > a {
height:35px;
line-height:35px;
padding: 0 10px;
text-align: left;
}
#sidebar > ul > li > a i{
/*display: none !important;*/
}
#sidebar ul > li > a .arrow, #sidebar > ul > li > a .arrow.open {
margin-right: 10px;
margin-top: 15px;
}
#sidebar ul > li.active > a .arrow, #sidebar ul > li > a:hover .arrow, #sidebar ul > li > a:focus .arrow,
#sidebar > ul > li.active > a .arrow.open, #sidebar > ul > li > a:hover .arrow.open, #sidebar > ul > li > a:focus .arrow.open{
margin-top: 15px;
}
#sidebar > ul > li > a, #sidebar > ul > li > ul.sub > li {
width: 100%;
}
#sidebar > ul > li > ul.sub > li > a {
background: transparent !important ;
}
#sidebar > ul > li > ul.sub > li > a:hover {
}
/* sidebar */
#sidebar {
margin: 0px !important;
}
/* sidebar collabler */
#sidebar .btn-navbar.collapsed .arrow {
display: none;
}
#sidebar .btn-navbar .arrow {
position: absolute;
right: 35px;
width: 0;
height: 0;
top:48px;
border-bottom: 15px solid #282e36;
border-left: 15px solid transparent;
border-right: 15px solid transparent;
}
/*---------*/
.modal-footer .btn {
margin-bottom: 0px !important;
}
.btn {
margin-bottom: 5px;
}
/* full calendar fix */
.fc-header-right {
left:25px;
position: absolute;
}
.fc-header-left .fc-button {
margin: 0px !important;
top: -10px !important;
}
.fc-header-right .fc-button {
margin: 0px !important;
top: -50px !important;
}
.fc-state-active, .fc-state-active .fc-button-inner, .fc-state-hover, .fc-state-hover .fc-button-inner {
background: none !important;
color: #FFFFFF !important;
}
.fc-state-default, .fc-state-default .fc-button-inner {
background: none !important;
}
.fc-button {
border: none !important;
margin-right: 2px;
}
.fc-view {
top: 0px !important;
}
.fc-button .fc-button-inner {
margin: 0px !important;
padding: 2px !important;
border: none !important;
margin-right: 2px !important;
background-color: #fafafa !important;
background-image: -moz-linear-gradient(top, #fafafa, #efefef) !important;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fafafa), to(#efefef)) !important;
background-image: -webkit-linear-gradient(top, #fafafa, #efefef) !important;
background-image: -o-linear-gradient(top, #fafafa, #efefef) !important;
background-image: linear-gradient(to bottom, #fafafa, #efefef) !important;
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fafafa', endColorstr='#efefef', GradientType=0) !important;
-webkit-box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important;
-moz-box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important;
box-shadow: 0 1px 0px rgba(255, 255, 255, .8) !important;
-webkit-border-radius: 3px !important;
-moz-border-radius: 3px !important;
border-radius: 3px !important;
color: #646464 !important;
border: 1px solid #ddd !important;
text-shadow: 0 1px 0px rgba(255, 255, 255, .6) !important;
text-align: center;
}
.fc-button.fc-state-disabled .fc-button-inner {
color: #bcbbbb !important;
}
.fc-button.fc-state-active .fc-button-inner {
background-color: #e5e4e4 !important;
background-image: -moz-linear-gradient(top, #e5e4e4, #dddcdc) !important;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e5e4e4), to(#dddcdc)) !important;
background-image: -webkit-linear-gradient(top, #e5e4e4, #dddcdc) !important;
background-image: -o-linear-gradient(top, #e5e4e4, #dddcdc) !important;
background-image: linear-gradient(to bottom, #e5e4e4, #dddcdc) !important;
filter: progid:dximagetransform.microsoft.gradient(startColorstr='#e5e4e4', endColorstr='#dddcdc', GradientType=0) !important;
}
.fc-content {
margin-top: 50px;
}
.fc-header-title h2 {
line-height: 40px !important;
font-size: 12px !important;
}
.fc-header {
margin-bottom:0px !important;
}
/*--*/
/*.chart-position {*/
/*margin-top: 0px;*/
/*}*/
.stepy-titles li {
margin: 10px 3px;
}
/*-----*/
.custom-bar-chart {
margin-bottom: 40px;
}
/*menu icon plus minus*/
.dcjq-icon {
top: 10px;
}
ul.sidebar-menu li ul.sub li a {
padding: 0;
}
/*---*/
.img-responsive {
width: 100%;
}
}
@media (max-width: 480px) {
.notify-row, .search, .dont-show , .inbox-head .sr-input, .inbox-head .sr-btn{
display: none;
}
#top_menu .nav > li, ul.top-menu > li {
float: right;
}
.hidden-phone {
display: none !important;
}
.chart-position {
margin-top: 0px;
}
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
background-color: #ccc;
border-color:#ccc ;
}
}
@media (max-width:320px) {
.login-social-link a {
padding: 15px 17px !important;
}
.notify-row, .search, .dont-show, .inbox-head .sr-input, .inbox-head .sr-btn {
display: none;
}
#top_menu .nav > li, ul.top-menu > li {
float: right;
}
.hidden-phone {
display: none !important;
}
.chart-position {
margin-top: 0px;
}
.lock-wrapper {
margin: 10% auto;
max-width: 310px;
}
.lock-input {
width: 82%;
}
.cmt-form {
display: inline-block;
width: 75%;
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,94 @@
/*Unseen Column*/
@media only screen and (max-width: 800px) {
#unseen table td:nth-child(2),
#unseen table th:nth-child(2) {display: none;}
}
@media only screen and (max-width: 640px) {
#unseen table td:nth-child(4),
#unseen table th:nth-child(4),
#unseen table td:nth-child(7),
#unseen table th:nth-child(7),
#unseen table td:nth-child(8),
#unseen table th:nth-child(8){display: none;}
}
/*flip-scroll*/
@media only screen and (max-width: 800px) {
#flip-scroll .cf:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
#flip-scroll * html .cf { zoom: 1; }
#flip-scroll *:first-child+html .cf { zoom: 1; }
#flip-scroll table { width: 100%; border-collapse: collapse; border-spacing: 0; }
#flip-scroll th,
#flip-scroll td { margin: 0; vertical-align: top; }
#flip-scroll th { text-align: left; }
#flip-scroll table { display: block; position: relative; width: 100%; }
#flip-scroll thead { display: block; float: left; }
#flip-scroll tbody { display: block; width: auto; position: relative; overflow-x: auto; white-space: nowrap; }
#flip-scroll thead tr { display: block; }
#flip-scroll th { display: block; text-align: right; }
#flip-scroll tbody tr { display: inline-block; vertical-align: top; }
#flip-scroll td { display: block; min-height: 1.25em; text-align: left; }
/* sort out borders */
#flip-scroll th { border-bottom: 0; border-left: 0; }
#flip-scroll td { border-left: 0; border-right: 0; border-bottom: 0; }
#flip-scroll tbody tr { border-left: 1px solid #babcbf; }
#flip-scroll th:last-child,
#flip-scroll td:last-child { border-bottom: 1px solid #babcbf; }
}
/*no more table*/
@media only screen and (max-width: 800px) {
/* Force table to not be like tables anymore */
#no-more-tables table,
#no-more-tables thead,
#no-more-tables tbody,
#no-more-tables th,
#no-more-tables td,
#no-more-tables tr {
display: block;
}
/* Hide table headers (but not display: none;, for accessibility) */
#no-more-tables thead tr {
position: absolute;
top: -9999px;
left: -9999px;
}
#no-more-tables tr { border: 1px solid #ccc; }
#no-more-tables td {
/* Behave like a "row" */
border: none;
border-bottom: 1px solid #eee;
position: relative;
padding-left: 50%;
white-space: normal;
text-align:left;
}
#no-more-tables td:before {
/* Now like a table header */
position: absolute;
/* Top/left values mimic padding */
top: 6px;
left: 6px;
width: 45%;
padding-right: 10px;
white-space: nowrap;
text-align:left;
font-weight: bold;
}
/*
Label the data
*/
#no-more-tables td:before { content: attr(data-title); }
}

@ -0,0 +1,32 @@
ul{
list-style: none;
}
.hide{
display: none;
}
.itemParam ul{
padding-left: 0px;
}
.itemParam li{
line-height: 25px;
}
.itemForm .pics ul{
list-style: none;
padding-left: 0px;
}
.itemForm .pics ul li{
float: left;
padding-right: 5px;
}
.itemForm .group{
font-weight: bold;
text-align: center;
background-color: #EAEAEA;
}
.itemForm .param{
width: 80px;
text-align: right;
}

@ -0,0 +1,110 @@
/*--------------Tasks Widget--------------*/
.task-content {
margin-bottom: 30px;
}
.task-panel {
background: #fff;
text-align: left;
box-shadow: 0px 3px 2px #aab2bd;
margin: 5px;
}
.tasks-widget .task-content:after {
clear: both;
}
.tasks-widget .task-footer {
margin-top: 5px;
}
.tasks-widget .task-footer:after,
.tasks-widget .task-footer:before {
content: "";
display: table;
line-height: 0;
}
.tasks-widget .task-footer:after {
clear: both;
}
.tasks-widget .task-list {
padding:0;
margin:0;
}
.tasks-widget .task-list > li {
position:relative;
padding:10px 5px;
border-bottom:1px dashed #eaeaea;
}
.tasks-widget .task-list li.last-line {
border-bottom:none;
}
.tasks-widget .task-list li > .task-bell {
margin-left:10px;
}
.tasks-widget .task-list li > .task-checkbox {
float:left;
width:30px;
}
.tasks-widget .task-list li > .task-title {
overflow:hidden;
margin-right:10px;
}
.tasks-widget .task-list li > .task-config {
position:absolute;
top:10px;
right:10px;
}
.tasks-widget .task-list li .task-title .task-title-sp {
margin-right:5px;
}
.tasks-widget .task-list li.task-done .task-title-sp {
text-decoration:line-through;
color: #bbbbbb;
}
.tasks-widget .task-list li.task-done {
background:#f6f6f6;
}
.tasks-widget .task-list li.task-done:hover {
background:#f4f4f4;
}
.tasks-widget .task-list li:hover {
background:#f9f9f9;
}
.tasks-widget .task-list li .task-config {
display:none;
}
.tasks-widget .task-list li:hover > .task-config {
display:block;
margin-bottom:0 !important;
}
@media only screen and (max-width: 320px) {
.tasks-widget .task-config-btn {
float:inherit;
display:block;
}
.tasks-widget .task-list-projects li > .label {
margin-bottom:5px;
}
}

@ -0,0 +1,180 @@
/**
* Zabuto Calendar
*/
div.zabuto_calendar {
margin: 0;
padding: 10px;
}
.calendar-month-header {font-size:116%!important;}
.calendar-month-header th {font-weight:600!important;}
div.zabuto_calendar .table {
width: 100%;
margin: 0;
padding: 0px;
}
div.zabuto_calendar .table th,
div.zabuto_calendar .table td {
padding: 11.9px 0px;
text-align: center;
}
div.zabuto_calendar .table tr th,
div.zabuto_calendar .table tr td {
background-color:;
}
div.zabuto_calendar .table tr.calendar-month-header th {
background-color:;
}
div.zabuto_calendar .table tr.calendar-month-header th span {
cursor: pointer;
display: inline-block;
padding-bottom:0px;
}
div.zabuto_calendar .table tr.calendar-dow-header th {
background-color:;
}
div.zabuto_calendar .table tr:last-child {
border-bottom: 0px solid #dddddd;
}
div.zabuto_calendar .table tr.calendar-month-header th {
padding:10px;
}
div.zabuto_calendar .table-bordered tr.calendar-month-header th {
border-left: 0;
border-right: 0;
}
div.zabuto_calendar .table-bordered tr.calendar-month-header th:first-child {
border-left: 0px solid #dddddd;
}
div.zabuto_calendar div.calendar-month-navigation {
cursor: pointer;
margin: 0;
padding: 0;
padding-top:0px;
}
div.zabuto_calendar tr.calendar-dow-header th,
div.zabuto_calendar tr.calendar-dow td {
width: 14%;
}
div.zabuto_calendar .table tr td div.day {
margin: 0px;
padding-top: 0px;
padding-bottom: 0px;
}
/* actions and events */
div.zabuto_calendar .table tr td.event div.day,
div.zabuto_calendar ul.legend li.event {
background-color:;
}
div.zabuto_calendar .table tr td.dow-clickable,
div.zabuto_calendar .table tr td.event-clickable {
cursor: pointer;
}
/* badge */
div.zabuto_calendar .badge-today,
div.zabuto_calendar div.legend span.badge-today {
background-color:;
color: #ffffff;
text-shadow: none;
}
div.zabuto_calendar .badge-event,
div.zabuto_calendar div.legend span.badge-event {
background-color:;
color: #ffffff;
text-shadow: none;
}
div.zabuto_calendar .badge-event {
font-size: 0.95em;
padding-left: 8px;
padding-right: 8px;
padding-bottom: 4px;
}
/* legend */
div.zabuto_calendar div.legend {
margin-top: 15px;
text-align: right;
padding-right:10px;
padding-bottom:10px;
}
div.zabuto_calendar div.legend span {
font-size: 10px;
font-weight: normal;
}
div.zabuto_calendar div.legend span.legend-text:after,
div.zabuto_calendar div.legend span.legend-block:after,
div.zabuto_calendar div.legend span.legend-list:after,
div.zabuto_calendar div.legend span.legend-spacer:after {
content: ' ';
}
div.zabuto_calendar div.legend span.legend-spacer {
padding-left: 25px;
}
div.zabuto_calendar ul.legend > span {
padding-left: 2px;
}
div.zabuto_calendar ul.legend {
display: inline-block;
list-style: none outside none;
margin: 0;
padding: 0;
}
div.zabuto_calendar ul.legend li {
display: inline-block;
height: 8px;
width: 8px;
margin-left: 5px;
}
div.zabuto_calendar ul.legend
div.zabuto_calendar ul.legend li:first-child {
margin-left: 7px;
}
div.zabuto_calendar ul.legend li:last-child {
margin-right: 5px;
}
div.zabuto_calendar div.legend span.badge {
font-size: 0.9em;
border-radius: 5px 5px 5px 5px;
padding-left: 5px;
padding-right: 5px;
padding-top: 2px;
padding-bottom: 3px;
}
/* responsive */
@media (max-width: 979px) {
div.zabuto_calendar .table th,
div.zabuto_calendar .table td {
padding: 2px 1px;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save