|
|
??????RMS????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????
??????????????????????????????facade???????????com.idlewow.map.model??????WowMap???????
- package com.idlewow.map.model;
- import com.idlewow.common.model.BaseModel;
- import lombok.Data;
- import java.io.Serializable;
- @Data
- public class WowMap extends BaseModel implements Serializable {
- private String name;
- private Integer occupy;
- private String description;
- }
复制代码
??????core????????????????com.idlewow.map.mapper??????????WowMapMapper????????????????????????????
- package com.idlewow.map.mapper;
- import com.idlewow.map.model.WowMap;
- import com.idlewow.query.model.WowMapQueryParam;
- import java.util.List;
- public interface WowMapMapper {
- int insert(WowMap wowMap);
- int batchInsert(List<WowMap> list);
- int update(WowMap levelProp);
- int delete(String id);
- WowMap find(String id);
- List<WowMap> list(WowMapQueryParam queryParam);
- int count(WowMapQueryParam queryParam);
- }
复制代码
Mapper???????????????????????????WowMapMapper.xml????????????SQL???????????
- <?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.idlewow.map.mapper.WowMapMapper">
- <resultMap id="BaseResultMap" type="com.idlewow.map.model.WowMap">
- <result column="id" property="id"/>
- <result column="name" property="name"/>
- <result column="occupy" property="occupy"/>
- <result column="description" property="description"/>
- <result column="create_user" property="createUser"/>
- <result column="update_user" property="updateUser"/>
- <result column="create_time" property="createTime"/>
- <result column="update_time" property="updateTime"/>
- <result column="is_delete" property="isDelete"/>
- <result column="version" property="version"/>
- </resultMap>
- <!-- ?? -->
- <insert id="insert">
- insert into map (name, occupy, description, create_user)
- values (#{name}, #{occupy}, #{description}, #{createUser})
- </insert>
- <!-- ???? -->
- <insert id="batchInsert">
- insert into map (name, occupy, description, create_user)
- values
- <foreach collection="list" item="item" separator=",">
- (#{item.name}, #{item.occupy}, #{item.description}, #{item.createUser})
- </foreach>
- </insert>
- <!-- ?? -->
- <update id="update">
- update map
- set name = #{name},
- occupy = #{occupy},
- description = #{description},
- update_user = #{updateUser},
- version = version + 1
- where id = #{id} and is_delete = 0
- </update>
- <!-- ?? -->
- <update id="delete" parameterType="String">
- update map
- set is_delete = 1
- where id = #{id}
- </update>
- <!-- id?? -->
- <select id="find" resultMap="BaseResultMap">
- select *
- from map
- where id = #{id} and is_delete = 0
- </select>
- <!-- ?????? -->
- <select id="count" resultType="int">
- select count(1)
- from map
- <where>
- is_delete = 0
- <if test="name != null and name != ''">
- and name like concat('%', #{name}, '%')
- </if>
- </where>
- </select>
- <!-- ???? -->
- <select id="list" resultMap="BaseResultMap">
- select *
- from map
- <where>
- is_delete = 0
- <if test="name != null and name != ''">
- and name like concat('%', #{name}, '%')
- </if>
- </where>
- <if test="pageParam != null">
- limit ${(pageParam.pageIndex - 1) * pageParam.pageSize}, ${pageParam.pageSize}
- </if>
- </select>
- </mapper>
复制代码
???????com.idlewow.map.manager???????WowMapManager???????mapper????????
- package com.idlewow.map.manager;
- import com.idlewow.common.model.PageList;
- import com.idlewow.map.mapper.WowMapMapper;
- import com.idlewow.map.model.WowMap;
- import com.idlewow.query.model.WowMapQueryParam;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.util.List;
- @Component
- public class WowMapManager {
- @Autowired
- WowMapMapper wowMapMapper;
- public void insert(WowMap wowMap) {
- int effected = wowMapMapper.insert(wowMap);
- if (effected == 0) {
- throw new RuntimeException("sql effected 0 rows");
- }
- }
- public void batchInsert(List<WowMap> list) {
- int splitSize = 100;
- int index = 0;
- int total = list.size();
- while (index <= total) {
- int end = index + splitSize;
- if (end > total) {
- end = total;
- }
- List<WowMap> sublist = list.subList(index, end);
- int effected = wowMapMapper.batchInsert(sublist);
- if (effected == 0) {
- throw new RuntimeException("sql effected 0 rows");
- }
- index += splitSize;
- }
- }
- public void update(WowMap t) {
- int effected = wowMapMapper.update(t);
- if (effected == 0) {
- throw new RuntimeException("sql effected 0 rows");
- }
- }
- public void delete(String id) {
- int effected = wowMapMapper.delete(id);
- if (effected == 0) {
- throw new RuntimeException("sql effected 0 rows");
- }
- }
- public WowMap find(String id) {
- WowMap wowMap = wowMapMapper.find(id);
- return wowMap;
- }
- public PageList<WowMap> list(WowMapQueryParam queryParam) {
- PageList<WowMap> pageList = new PageList<WowMap>();
- int count = wowMapMapper.count(queryParam);
- List<WowMap> list = wowMapMapper.list(queryParam);
- pageList.setTotalCount(count);
- pageList.setData(list);
- pageList.setPageParam(queryParam.getPageParam());
- return pageList;
- }
- }
复制代码
??? Componet??????spring-context???????SQL?xml?????????????????????????????????????????????????pom????????
- </dependencies>
- ........
- ........
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>5.1.6.RELEASE</version>
- </dependency>
- </dependencies>
- <build>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- <include>**/*.properties</include>
- </includes>
- <filtering>false</filtering>
- </resource>
- </resources>
- </build>
复制代码
???????????????????????RMS???controller???manager??????????????
??controller????
?com.idlewow.rms.controller??????MapController??Contoller???????????????????????list()?????????/manage/map/list"????????????spring-mvc.xml????????????????/WEB-INF/views/manage/map/list.jsp??????????????? ResponseBody??????????????????????post???????????????json???????
- package com.idlewow.rms.controller;
- import com.idlewow.common.model.CommonResult;
- import com.idlewow.common.model.PageList;
- import com.idlewow.map.manager.WowMapManager;
- import com.idlewow.map.model.WowMap;
- import com.idlewow.query.model.WowMapQueryParam;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- @Controller
- @RequestMapping("/manage/map")
- public class MapController extends BaseController {
- @Autowired
- WowMapManager wowMapManager;
- @RequestMapping("/list")
- public Object list() {
- return "/manage/map/list";
- }
- @ResponseBody
- @RequestMapping(value = "/list", method = RequestMethod.POST)
- public Object list(@RequestParam(value = "page", defaultValue = "1") int pageIndex, @RequestParam(value = "limit", defaultValue = "10") int pageSize, WowMapQueryParam queryParam) {
- queryParam.setPage(pageIndex, pageSize);
- PageList<WowMap> pageList = wowMapManager.list(queryParam);
- return this.parseTable(pageList);
- }
- @RequestMapping("/add")
- public Object add() {
- return "/manage/map/add";
- }
- @ResponseBody
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- public Object add(@RequestBody WowMap wowMap) {
- try {
- wowMap.setCreateUser(this.currentUserName());
- wowMapManager.insert(wowMap);
- return CommonResult.success();
- } catch (Exception ex) {
- return CommonResult.fail();
- }
- }
- @RequestMapping(value = "/edit/{id}", method = RequestMethod.GET)
- public Object edit(@PathVariable String id, Model model) {
- WowMap wowMap = wowMapManager.find(id);
- model.addAttribute(wowMap);
- return "/manage/map/edit";
- }
- @ResponseBody
- @RequestMapping(value = "/edit/{id}", method = RequestMethod.POST)
- public Object edit(@PathVariable String id, @RequestBody WowMap wowMap) {
- try {
- if (!id.equals(wowMap.getId())) {
- return CommonResult.fail("id???");
- }
- wowMap.setUpdateUser(this.currentUserName());
- wowMapManager.update(wowMap);
- return CommonResult.success();
- } catch (Exception ex) {
- return CommonResult.fail();
- }
- }
- @ResponseBody
- @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST)
- public Object delete(@PathVariable String id) {
- try {
- wowMapManager.delete(id);
- return CommonResult.success();
- } catch (Exception ex) {
- return CommonResult.fail();
- }
- }
- }
复制代码
??,CommonResult?????????????????PageList?PageParam??????????WowMapQueryParam??????????
????????????layui?datatable???????????????????????????BaseController?????????????????????????????????Controller?????????BaseController??????
- package com.idlewow.rms.vo;
- import lombok.Data;
- import java.io.Serializable;
- import java.util.List;
- @Data
- public class LayuiDataTable<T> implements Serializable {
- private Integer code;
- private String message;
- private Integer count;
- private List<T> data;
复制代码- package com.idlewow.rms.controller;
- import com.idlewow.admin.model.SysAdmin;
- import com.idlewow.common.model.PageList;
- import com.idlewow.rms.vo.LayuiDataTable;
- import org.springframework.beans.factory.annotation.Autowired;
- import javax.servlet.http.HttpSession;
- public abstract class BaseController {
- private static final String LoginUserKey = "loginuser";
- @Autowired
- protected HttpSession httpSession;
- protected SysAdmin currentUser() {
- return (SysAdmin) httpSession.getAttribute(LoginUserKey);
- }
- protected String currentUserName() {
- return this.currentUser().getUsername();
- }
- protected LayuiDataTable parseTable(PageList pageList) {
- LayuiDataTable dataTable = new LayuiDataTable();
- dataTable.setMessage("????");
- dataTable.setCode(0);
- dataTable.setCount(pageList.getTotalCount());
- dataTable.setData(pageList.getData());
- return dataTable;
- }
- }
复制代码
?????????????????x-admin?????/WEB-INF/views/manage/map?????????
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <%@ include file="/authorize.jsp" %>
- <!DOCTYPE html>
- <html class="x-admin-sm">
- <head>
- <meta charset="UTF-8">
- <title>????</title>
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport"
- content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
- <link rel="stylesheet" href="<%=path%>/css/font.css">
- <link rel="stylesheet" href="<%=path%>/css/xadmin.css">
- <script type="text/javascript" src="<%=path%>/lib/layui/layui.js" charset="utf-8"></script>
- <script type="text/javascript" src="<%=path%>/js/xadmin.js"></script>
- </head>
- <body>
- <div class="x-nav">
- <span class="layui-breadcrumb">
- <a href="">??</a>
- <a href="">????</a>
- <a>
- <cite>??</cite></a>
- </span>
- <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right"
- onclick="location.reload()" title="??">
- <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
- </div>
- <div class="layui-fluid">
- <div class="layui-row layui-col-space15">
- <div class="layui-col-md12">
- <div class="layui-card">
- <div class="layui-card-body ">
- <form id="queryForm" class="layui-form layui-col-space5" method="post">
- <div class="layui-inline layui-show-xs-block">
- <input type="text" name="name" placeholder="???????" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-inline layui-show-xs-block">
- <button class="layui-btn" lay-submit lay-filter="search" type="button" onclick="search();">
- <i class="layui-icon">?</i>??
- </button>
- </div>
- <div class="layui-inline layui-show-xs-block">
- <button class="layui-btn" type="button" onclick="reset();"> ??</button>
- </div>
- <div class="layui-inline layui-show-xs-block">
- <button type="button" class="layui-btn" onclick="xadmin.open('????','add',500,500)">
- <i class="layui-icon">?</i>????
- </button>
- </div>
- <div class="layui-upload layui-inline layui-show-xs-block">
- <button type="button" class="layui-btn layui-btn-normal" id="btnSelectFile">??Excel</button>
- <button type="button" class="layui-btn" id="btnImport">????</button>
- </div>
- </form>
- </div>
- <div class="layui-card-body ">
- <table class="layui-table layui-form" id="datatable"></table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </body>
- <script type="text/javascript" src="<%=path%>/js/helper.js?v=0530"></script>
- <script type="text/javascript" src="<%=path%>/js/wow/manage/map/list.js?v=0530"></script>
- </html>
复制代码- <%@ page import="com.idlewow.rms.util.DropDownUtil" %>
- <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <%@ include file="/authorize.jsp" %>
- <!DOCTYPE html>
- <html class="x-admin-sm">
- <head>
- <meta charset="UTF-8">
- <title>????</title>
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport"
- content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
- <link rel="stylesheet" href="<%=path%>/css/font.css">
- <link rel="stylesheet" href="<%=path%>/css/xadmin.css">
- <script type="text/javascript" src="<%=path%>/lib/layui/layui.js" charset="utf-8"></script>
- <script type="text/javascript" src="<%=path%>/js/xadmin.js"></script>
- </head>
- <body>
- <div class="layui-fluid">
- <div class="layui-row">
- <form:form class="layui-form" method="post" modelAttribute="wowMap">
- <form:hidden path="id"/>
- <div class="layui-form-item">
- <form:label path="name" class="layui-form-label"> <span class="x-red">*</span>???? </form:label>
- <div class="layui-input-inline">
- <form:input path="name" lay-verify="required" autocomplete="off" class="layui-input"/>
- </div>
- </div>
- <div class="layui-form-item">
- <form:label path="occupy" class="layui-form-label"> <span class="x-red">*</span>???? </form:label>
- <div class="layui-input-inline">
- <form:select path="occupy" items="<%= DropDownUtil.OccupyMap %>"></form:select>
- </div>
- </div>
- <div class="layui-form-item">
- <form:label path="description" class="layui-form-label"> ???? </form:label>
- <div class="layui-input-inline">
- <form:textarea path="description" class="layui-textarea"></form:textarea>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"></label>
- <div class="layui-input-inline">
- <button class="layui-btn" lay-filter="edit" lay-submit type="button">??</button>
- </div>
- </div>
- </form:form>
- </div>
- </div>
- <script type="text/javascript" src="<%=path%>/js/helper.js?v=0531"></script>
- <script type="text/javascript" src="<%=path%>/js/wow/manage/map/edit.js?v=0510"></script>
- </body>
- </html>
复制代码- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@ page import="com.idlewow.rms.util.DropDownUtil" %>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <%@ include file="/authorize.jsp" %>
- <!DOCTYPE html>
- <html class="x-admin-sm">
- <head>
- <meta charset="UTF-8">
- <title>????</title>
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport"
- content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
- <link rel="stylesheet" href="<%=path%>/css/font.css">
- <link rel="stylesheet" href="<%=path%>/css/xadmin.css">
- <script type="text/javascript" src="<%=path%>/lib/layui/layui.js" charset="utf-8"></script>
- <script type="text/javascript" src="<%=path%>/js/xadmin.js"></script>
- </head>
- <body>
- <div class="layui-fluid">
- <div class="layui-row">
- <form class="layui-form" method="post">
- <div class="layui-form-item">
- <label for="name" class="layui-form-label"> <span class="x-red">*</span>???? </label>
- <div class="layui-input-inline">
- <input type="text" id="name" name="name" required lay-verify="required"
- autocomplete="off" class="layui-input">
- </div>
- </div>
- <div class="layui-form-item">
- <label for="occupy" class="layui-form-label"> <span class="x-red">*</span>???? </label>
- <div class="layui-input-inline">
- <% request.setAttribute("occupyMap", DropDownUtil.OccupyMap); %>
- <select name="occupy" id="occupy">
- <option value="">???????</option>
- <c:forEach items="${occupyMap}" var="item">
- <option value="${item.key}">${item.value}</option>
- </c:forEach>
- </select>
- </div>
- </div>
- <div class="layui-form-item">
- <label for="description" class="layui-form-label"> ???? </label>
- <div class="layui-input-inline">
- <textarea name="description" id="description" class="layui-textarea"></textarea>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label"></label>
- <div class="layui-input-inline">
- <button class="layui-btn" lay-filter="add" lay-submit type="button">??</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- <script type="text/javascript" src="<%=path%>/js/helper.js?v=0531"></script>
- <script type="text/javascript" src="<%=path%>/js/wow/manage/map/add.js?v=0531"></script>
- </body>
- </html>
复制代码
?/js/wow/manage/map?????????js???
- layui.use(['upload', 'table', 'form'], function () {
- var table = layui.table;
- table.render({
- elem: '#datatable'
- , url: '/manage/map/list'
- , method: 'post'
- , cellMinWidth: 80
- , cols: [[
- {field: 'id', width: 50, title: 'id'}
- , {field: 'name', title: '????'}
- , {
- field: 'occupy', title: '????', templet: function (d) {
- return enumUtil.occupyImage(d.occupy) + enumUtil.occupy(d.occupy);
- }
- }
- , {
- title: '??', templet: function (d) {
- return '<button class="layui-btn layui-btn-xs" onclick="xadmin.open(\'????\',\'edit/' + d.id + '\', 500, 500)" type="button"><i class="layui-icon">?</i>??</button>' +
- '<button class="layui-btn-danger layui-btn layui-btn-xs" onclick="remove(this, \'' + d.id + '\')" type="button"><i class="layui-icon">?</i>??</button>';
- }
- }
- ]]
- , page: {
- layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //???????
- , limits: [10, 20, 30, 40, 50]
- , groups: 3 //??? 1 ?????
- , first: '??'
- , last: '??'
- }
- });
- });
- function search() {
- var table = layui.table;
- table.reload('datatable', {
- where: {
- name: $('input[name="name"]').val()
- },
- page: {
- curr: 1
- }
- });
- }
- function reset(){
- $('#queryForm').reset();
- }
- function remove(obj, id) {
- layer.confirm('???????', function () {
- $.ajax({
- url: '/manage/map/delete/' + id,
- type: 'post',
- success: function (result) {
- if (result.code === 1) {
- $(obj).parents("tr").remove();
- layer.msg('????', {icon: 1, time: 1000});
- } else {
- layer.alert("????", {icon: 5});
- }
- },
- error: function () {
- layer.alert("????", {icon: 5});
- }
- });
- });
- }
复制代码- layui.use(['form', 'layer'],
- function () {
- var form = layui.form;
- form.render();
- form.verify({});
- form.on('submit(edit)',
- function (data) {
- $.ajax({
- url: '/manage/map/edit/' + data.field.id,
- type: 'post',
- contentType: "application/json; charset=utf-8",
- data: JSON.stringify(data.field),
- success: function (result) {
- if (result.code === 1) {
- layer.alert(result.message, {icon: 6},
- function () {
- xadmin.close();
- xadmin.father_reload();
- });
- } else {
- layer.alert(result.message, {icon: 5});
- }
- },
- error: function () {
- layer.alert("????", {icon: 5});
- }
- });
- });
- });
复制代码- layui.use(['form', 'layer'],
- function () {
- var form = layui.form;
- form.verify({});
- form.on('submit(add)',
- function (data) {
- $.ajax({
- url: '/manage/map/add',
- type: 'post',
- contentType: "application/json; charset=utf-8",
- data: JSON.stringify(data.field),
- success: function (result) {
- if (result.code === 1) {
- layer.alert(result.message, {icon: 6},
- function () {
- xadmin.close();
- xadmin.father_reload();
- });
- } else {
- layer.alert(result.message, {icon: 5});
- }
- },
- error: function () {
- layer.alert("????", {icon: 5});
- }
- });
- });
- });
复制代码
??????
????????facade?core???????????jar??rms???????????????????????????????????????????????????jar???????????web?????????????
???maven??????????jdk???1.5????pom????????1.8??????
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
-
-
-
- </plugins>
- </build>
复制代码
OK????????????????????
??
?????????????????????????????????????
?????????????????????????????????excel???????????????????????
?????????????????????
?????????https://idlestudio.ctfile.com/fs/14960372-383560985
???????https://www.cnblogs.com/lyosaki88/p/idlewow_4.html
?????
??????????????????
????????????????????
??????????????????????
????????????????????????
???????????????????????????
??????
?????https://www.cnblogs.com/lyosaki88/p/idlewow_4.html
|
|