@@ -36,7 +36,6 @@ | |||
<!-- 依赖声明 --> | |||
<dependencyManagement> | |||
<dependencies> | |||
<!-- SpringFramework的依赖配置--> | |||
<dependency> | |||
<groupId>org.springframework</groupId> | |||
@@ -118,19 +117,6 @@ | |||
<version>${oshi.version}</version> | |||
</dependency> | |||
<!-- Swagger3依赖 --> | |||
<dependency> | |||
<groupId>io.springfox</groupId> | |||
<artifactId>springfox-boot-starter</artifactId> | |||
<version>${swagger.version}</version> | |||
<exclusions> | |||
<exclusion> | |||
<groupId>io.swagger</groupId> | |||
<artifactId>swagger-models</artifactId> | |||
</exclusion> | |||
</exclusions> | |||
</dependency> | |||
<!-- io常用工具类 --> | |||
<dependency> | |||
<groupId>commons-io</groupId> | |||
@@ -8,7 +8,7 @@ | |||
<version>4.7.9</version> | |||
</parent> | |||
<modelVersion>4.0.0</modelVersion> | |||
<packaging>jar</packaging> | |||
<packaging>war</packaging> | |||
<artifactId>rwk-admin</artifactId> | |||
<description> | |||
@@ -31,10 +31,10 @@ | |||
</dependency> | |||
<!-- swagger3--> | |||
<dependency> | |||
<groupId>io.springfox</groupId> | |||
<artifactId>springfox-boot-starter</artifactId> | |||
</dependency> | |||
<!-- <dependency>--> | |||
<!-- <groupId>io.springfox</groupId>--> | |||
<!-- <artifactId>springfox-boot-starter</artifactId>--> | |||
<!-- </dependency>--> | |||
<!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 --> | |||
<dependency> | |||
@@ -81,11 +81,6 @@ | |||
<scope>test</scope> | |||
<version>2.5.0</version> | |||
</dependency> | |||
<dependency> | |||
<groupId>com.h2database</groupId> | |||
<artifactId>h2</artifactId> | |||
<scope>test</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.junit.vintage</groupId> | |||
@@ -8,8 +8,7 @@ import com.rwk.common.core.domain.Ztree; | |||
import com.rwk.common.core.domain.entity.SysDept; | |||
import com.rwk.common.core.domain.entity.SysUser; | |||
import com.rwk.common.utils.ShiroUtils; | |||
import com.rwk.system.domain.RwkAddressGroup; | |||
import com.rwk.system.domain.RwkBookGroup; | |||
import com.rwk.system.domain.*; | |||
import com.rwk.system.service.IRwkAddressGroupService; | |||
import com.rwk.system.service.IRwkBookGroupService; | |||
import org.apache.shiro.authz.annotation.RequiresPermissions; | |||
@@ -23,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestMapping; | |||
import org.springframework.web.bind.annotation.ResponseBody; | |||
import com.rwk.common.annotation.Log; | |||
import com.rwk.common.enums.BusinessType; | |||
import com.rwk.system.domain.RwkAddressBook; | |||
import com.rwk.system.service.IRwkAddressBookService; | |||
import com.rwk.common.core.controller.BaseController; | |||
import com.rwk.common.core.domain.AjaxResult; | |||
@@ -184,20 +182,21 @@ public class RwkAddressBookController extends BaseController | |||
*/ | |||
@PostMapping("/address/move") | |||
@ResponseBody | |||
public AjaxResult moveSave(String addressIds, String byGroupId,String groupIds) | |||
public AjaxResult moveSave(RwkBookGroupVo vo) | |||
{ | |||
String[] addressIdArray = addressIds.split(","); | |||
String[] groupIdArray = groupIds.split(","); | |||
String[] addressIdArray = vo.getAddressIds().split(","); | |||
String[] groupIdArray = vo.getGroupIds().split(","); | |||
List<RwkBookGroup> list=new ArrayList<>(); | |||
for (int i = 0; i < addressIdArray.length; i++){ | |||
for (int j = 0; j < groupIdArray.length; j++){ | |||
RwkBookGroup rbg= new RwkBookGroup(); | |||
rbg.setBookId(Long.valueOf(addressIdArray[i])); | |||
rbg.setGroupId(Long.valueOf(groupIdArray[j])); | |||
rbg.setByGroupId(Long.valueOf(vo.getByGroupId())); | |||
list.add(rbg); | |||
} | |||
} | |||
return toAjax(rwkBookGroupService.insertRwkBookGroupList(list)); | |||
return toAjax(rwkBookGroupService.updateRwkBookGroupList(list)); | |||
} | |||
/** | |||
@@ -244,7 +243,7 @@ public class RwkAddressBookController extends BaseController | |||
mmap.put("groups", rwkAddressGroupService.selectRwkAddressGroupList(sysUser.getLoginName())); | |||
mmap.put("addressIds", ids); | |||
mmap.put("byGroupId", byGroupId); | |||
return prefix + "/groupTree"; | |||
return prefix + "/groupTreeMove"; | |||
} | |||
@@ -1,67 +1,67 @@ | |||
package com.rwk.web.core.config; | |||
import org.springframework.beans.factory.annotation.Value; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.Configuration; | |||
import com.rwk.common.config.RuoYiConfig; | |||
import io.swagger.annotations.ApiOperation; | |||
import springfox.documentation.builders.ApiInfoBuilder; | |||
import springfox.documentation.builders.PathSelectors; | |||
import springfox.documentation.builders.RequestHandlerSelectors; | |||
import springfox.documentation.service.ApiInfo; | |||
import springfox.documentation.service.Contact; | |||
import springfox.documentation.spi.DocumentationType; | |||
import springfox.documentation.spring.web.plugins.Docket; | |||
/** | |||
* Swagger2的接口配置 | |||
* | |||
* @author ruoyi | |||
*/ | |||
@Configuration | |||
public class SwaggerConfig | |||
{ | |||
/** 是否开启swagger */ | |||
@Value("${swagger.enabled}") | |||
private boolean enabled; | |||
/** | |||
* 创建API | |||
*/ | |||
@Bean | |||
public Docket createRestApi() | |||
{ | |||
return new Docket(DocumentationType.OAS_30) | |||
// 是否启用Swagger | |||
.enable(enabled) | |||
// 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息) | |||
.apiInfo(apiInfo()) | |||
// 设置哪些接口暴露给Swagger展示 | |||
.select() | |||
// 扫描所有有注解的api,用这种方式更灵活 | |||
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) | |||
// 扫描指定包中的swagger注解 | |||
//.apis(RequestHandlerSelectors.basePackage("com.rwk.project.tool.swagger")) | |||
// 扫描所有 .apis(RequestHandlerSelectors.any()) | |||
.paths(PathSelectors.any()) | |||
.build(); | |||
} | |||
/** | |||
* 添加摘要信息 | |||
*/ | |||
private ApiInfo apiInfo() | |||
{ | |||
// 用ApiInfoBuilder进行定制 | |||
return new ApiInfoBuilder() | |||
// 设置标题 | |||
.title("标题:管理系统_接口文档") | |||
// 描述 | |||
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") | |||
// 作者信息 | |||
.contact(new Contact(RuoYiConfig.getName(), null, null)) | |||
// 版本 | |||
.version("版本号:" + RuoYiConfig.getVersion()) | |||
.build(); | |||
} | |||
} | |||
//package com.rwk.web.core.config; | |||
// | |||
//import org.springframework.beans.factory.annotation.Value; | |||
//import org.springframework.context.annotation.Bean; | |||
//import org.springframework.context.annotation.Configuration; | |||
//import com.rwk.common.config.RuoYiConfig; | |||
//import io.swagger.annotations.ApiOperation; | |||
//import springfox.documentation.builders.ApiInfoBuilder; | |||
//import springfox.documentation.builders.PathSelectors; | |||
//import springfox.documentation.builders.RequestHandlerSelectors; | |||
//import springfox.documentation.service.ApiInfo; | |||
//import springfox.documentation.service.Contact; | |||
//import springfox.documentation.spi.DocumentationType; | |||
//import springfox.documentation.spring.web.plugins.Docket; | |||
// | |||
///** | |||
// * Swagger2的接口配置 | |||
// * | |||
// * @author ruoyi | |||
// */ | |||
//@Configuration | |||
//public class SwaggerConfig | |||
//{ | |||
// /** 是否开启swagger */ | |||
// @Value("${swagger.enabled}") | |||
// private boolean enabled; | |||
// | |||
// /** | |||
// * 创建API | |||
// */ | |||
// @Bean | |||
// public Docket createRestApi() | |||
// { | |||
// return new Docket(DocumentationType.OAS_30) | |||
// // 是否启用Swagger | |||
// .enable(enabled) | |||
// // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息) | |||
// .apiInfo(apiInfo()) | |||
// // 设置哪些接口暴露给Swagger展示 | |||
// .select() | |||
// // 扫描所有有注解的api,用这种方式更灵活 | |||
// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) | |||
// // 扫描指定包中的swagger注解 | |||
// //.apis(RequestHandlerSelectors.basePackage("com.rwk.project.tool.swagger")) | |||
// // 扫描所有 .apis(RequestHandlerSelectors.any()) | |||
// .paths(PathSelectors.any()) | |||
// .build(); | |||
// } | |||
// | |||
// /** | |||
// * 添加摘要信息 | |||
// */ | |||
// private ApiInfo apiInfo() | |||
// { | |||
// // 用ApiInfoBuilder进行定制 | |||
// return new ApiInfoBuilder() | |||
// // 设置标题 | |||
// .title("标题:管理系统_接口文档") | |||
// // 描述 | |||
// .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") | |||
// // 作者信息 | |||
// .contact(new Contact(RuoYiConfig.getName(), null, null)) | |||
// // 版本 | |||
// .version("版本号:" + RuoYiConfig.getVersion()) | |||
// .build(); | |||
// } | |||
//} |
@@ -6,8 +6,8 @@ spring: | |||
druid: | |||
# 主库数据源 | |||
master: | |||
url: jdbc:dm://150.158.136.65:5236/TZB_RWK?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true | |||
username: TZB_RWK | |||
url: jdbc:dm://150.158.136.65:5236/TZB_ZGC?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true | |||
username: TZB_ZGC | |||
password: hk64335593 | |||
# 从库数据源 | |||
slave: | |||
@@ -9,7 +9,7 @@ ruoyi: | |||
# 实例演示开关 | |||
demoEnabled: false | |||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) | |||
profile: D:/ruoyi/uploadPath | |||
profile: /opt/data | |||
# profile: /home/ruoyi/uploadPath | |||
# 获取ip地址开关 | |||
addressEnabled: false | |||
@@ -17,7 +17,7 @@ ruoyi: | |||
# 开发环境配置 | |||
server: | |||
# 服务器的HTTP端口,默认为80 | |||
port: 8080 | |||
port: 8088 | |||
servlet: | |||
# 应用的访问路径 | |||
context-path: / | |||
@@ -1,7 +1,7 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<configuration> | |||
<!-- 日志存放路径 --> | |||
<property name="log.path" value="/home/ruoyi/logs" /> | |||
<property name="log.path" value="/opt" /> | |||
<!-- 日志输出格式 --> | |||
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> | |||
@@ -82,3 +82,55 @@ | |||
text-align: right; | |||
margin-left: 14px; | |||
} | |||
/*.trapezoid {*/ | |||
/* width: 0;*/ | |||
/* height: 0;*/ | |||
/* border-bottom: 100px solid red; !* 梯形的底边 *!*/ | |||
/* border-left: 50px solid transparent; !* 左侧斜边 *!*/ | |||
/* border-right: 50px solid transparent; !* 右侧斜边 *!*/ | |||
/* transform: rotate(-90deg); !* 反方向旋转 90 度 *!*/ | |||
/* transform-origin: top left; !* 设置旋转中心点 *!*/ | |||
/*}*/ | |||
.container { | |||
position: relative; | |||
width: 300px; /* Adjust the width as needed */ | |||
height: 400px; /* Adjust the height as needed */ | |||
background-color: white; | |||
overflow: hidden; | |||
} | |||
.container::before { | |||
content: ''; | |||
position: absolute; | |||
width: 2px; /* Thickness of the vertical line */ | |||
height: 100%; | |||
background-color: black; | |||
left: 50%; /* Center the line */ | |||
transform: translateX(-50%); | |||
} | |||
.container::after { | |||
content: ''; | |||
position: absolute; | |||
width: 60px; /* Width of the irregular shape */ | |||
height: 60px; /* Height of the irregular shape */ | |||
background-color: black; | |||
border-radius: 50%; /* Make it circular */ | |||
top: 100px; /* Position it below the vertical line */ | |||
left: calc(50% - 30px); /* Center it horizontally */ | |||
transform: translateX(-50%); | |||
} | |||
.vertical-line { | |||
width: 90px; | |||
height: 10px; | |||
background-color: #CECECE; | |||
border-radius: 50% / 100% 100% 0 0; | |||
transform: rotate(-90deg); | |||
margin-top: 270px; | |||
margin-left: -50px; | |||
} | |||
@@ -26,8 +26,8 @@ | |||
<div class="col-sm-12"> | |||
<form id="signupForm" autocomplete="off"> | |||
<h4 class="no-margins" style="font-size: 20px;">登录:</h4> | |||
<input type="text" name="username" class="form-control uname" placeholder="用户名" value="admin" /> | |||
<input type="password" name="password" class="form-control pword" placeholder="密码" value="admin123" /> | |||
<input type="text" name="username" class="form-control uname" placeholder="用户名" value="" /> | |||
<input type="password" name="password" class="form-control pword" placeholder="密码" value="" /> | |||
<div class="row m-t" th:if="${captchaEnabled==true}"> | |||
<div class="col-xs-6"> | |||
<input type="text" name="validateCode" class="form-control code" placeholder="验证码" maxlength="5" /> | |||
@@ -32,7 +32,7 @@ | |||
<div style="width: 40%;margin-left: 5px;margin-right: 5px;"> | |||
<div style="width:100%;display: flex;"> | |||
<div class="arrange div1"> | |||
<div style="margin-top: 10px;">同年教育培训次数</div> | |||
<div style="margin-top: 10px;">同年教育培训人次</div> | |||
<div style="font-size: 26px;font-style: italic;margin-top: 6px;">5321</div> | |||
</div> | |||
<div class="arrange div2"> | |||
@@ -45,7 +45,7 @@ | |||
</div> | |||
<div class="arrange div3"> | |||
<div> | |||
<div>未参会率</div> | |||
<div>知联之友</div> | |||
<div style="font-size: 10px;"> | |||
<span style="font-size: 24px;font-style: italic;margin-right: 10px;color: #016BFF;">5</span>% | |||
</div> | |||
@@ -79,6 +79,8 @@ | |||
return; | |||
}else { | |||
$.operate.save(prefix + "/address/add", $('#form-addressbook-add').serialize()); | |||
$.modal.close(); | |||
parent.location.reload(true); | |||
} | |||
} | |||
@@ -38,6 +38,8 @@ | |||
return; | |||
}else { | |||
$.operate.save(prefix + "/addgroup/add", $('#form-group-add').serialize()); | |||
$.modal.close(); | |||
parent.location.reload(true); | |||
} | |||
} | |||
</script> | |||
@@ -10,7 +10,7 @@ | |||
<div class="col-md-12 select-table" > | |||
<div class="col-md-12 search-collapse" style="border:none;padding-right: 0;padding-left: 0;margin-bottom: 10px;"> | |||
<form id="formId"> | |||
<div class="select-list"> | |||
<div class="select-list" > | |||
<ul> | |||
<li style="margin-left: 20px;"> | |||
<label>通讯录:</label> | |||
@@ -35,7 +35,7 @@ | |||
<a class="btn btn-style1"> | |||
导入联系人 | |||
</a> | |||
<a class="btn btn-style1"> | |||
<a class="btn btn-style1" onclick="$.table.exportExcel()"> | |||
导出联系人 | |||
</a> | |||
<a class="btn btn-style1"> | |||
@@ -70,8 +70,8 @@ | |||
<div style="border: 6px solid #F1F3F7;"></div> | |||
</div> | |||
<div class="col-md-12"> | |||
<div class="col-md-3"> | |||
<div id="groups" class="group-list"> | |||
<div class="col-md-3" style="display: inline-block"> | |||
<div id="groups" class="group-list" style="height: 520px; overflow: auto;"> | |||
<ul> | |||
<li class="click click-bg" th:onclick="setOptionParam([[${item.id}]],[[${item.groupName}]])" th:if="${rwkAddressGroups != null}" th:each="item : ${allddressGroups}"> | |||
<div>[[${item.groupName}]](<span >[[${item.num}]]</span>)</div> | |||
@@ -82,7 +82,10 @@ | |||
</ul> | |||
</div> | |||
</div> | |||
<div class=" table-striped" style="float: right;width: 75%"> | |||
<div style="background-color: #CECECE;;width: 3px;height: 560px;display: inline-block"> | |||
<div class="vertical-line"></div> | |||
</div> | |||
<div class=" table-striped" style="width: 72%;display: inline-block;margin-left: -4px"> | |||
<table id="bootstrap-table"></table> | |||
</div> | |||
</div> | |||
@@ -147,8 +150,6 @@ | |||
yes: function (index, layero) { | |||
var iframeWin = layero.find('iframe')[0]; | |||
iframeWin.contentWindow.submitHandler(index, layero); | |||
$.modal.close(index); | |||
window.location.reload(true); | |||
} | |||
}; | |||
$.modal.openOptions(options); | |||
@@ -169,8 +170,6 @@ | |||
yes: function (index, layero) { | |||
var iframeWin = layero.find('iframe')[0]; | |||
iframeWin.contentWindow.submitHandler(index, layero); | |||
$.modal.close(index); | |||
window.location.reload(true); | |||
} | |||
}; | |||
$.modal.openOptions(options); | |||
@@ -192,8 +191,6 @@ | |||
yes: function (index, layero) { | |||
var iframeWin = layero.find('iframe')[0]; | |||
iframeWin.contentWindow.submitHandler(index, layero); | |||
$.modal.close(index); | |||
window.location.reload(true); | |||
} | |||
}; | |||
$.modal.openOptions(options); | |||
@@ -212,15 +209,13 @@ | |||
type:1, | |||
btn: ['确定','取消'], | |||
closeBtn: 0, | |||
width: 750, | |||
width: 320, | |||
height: 520, | |||
offset:'150px', | |||
anim:2, | |||
yes: function (index, layero) { | |||
var iframeWin = layero.find('iframe')[0]; | |||
iframeWin.contentWindow.submitHandler(index, layero); | |||
$.modal.close(index); | |||
window.location.reload(true); | |||
} | |||
}; | |||
$.modal.openOptions(options); | |||
@@ -240,15 +235,13 @@ | |||
type:1, | |||
btn: ['确定','取消'], | |||
closeBtn: 0, | |||
width: 750, | |||
width: 320, | |||
height: 520, | |||
offset:'150px', | |||
anim:2, | |||
yes: function (index, layero) { | |||
var iframeWin = layero.find('iframe')[0]; | |||
iframeWin.contentWindow.submitHandler(index, layero); | |||
$.modal.close(index); | |||
window.location.reload(true); | |||
} | |||
}; | |||
$.modal.openOptions(options); | |||
@@ -271,6 +264,7 @@ | |||
var options = { | |||
url: prefix + "/list", | |||
editUrl: prefix + "/edit/{id}", | |||
exportUrl: prefix + "/export", | |||
height: 580, | |||
pagination:false, | |||
sidePagination: "client", | |||
@@ -62,6 +62,8 @@ | |||
return; | |||
}else { | |||
$.operate.save(prefix + "/address/edit", $('#form-addressbook-edit').serialize()); | |||
$.modal.close(); | |||
parent.location.reload(true); | |||
} | |||
} | |||
@@ -13,13 +13,12 @@ | |||
<!-- <button class="btn btn-unite" onclick="submitHandler()">保存</button>--> | |||
<!-- </div>--> | |||
<!-- </ul>--> | |||
<form class="form-group" id="form-group"> | |||
<input hidden type="text" name="addressIds" id="addressIds" th:value="${addressIds}"> | |||
<input hidden type="text" name="groupIds" id="groupIds" > | |||
<div class="col-md-12"> | |||
<div class="col-md-3"> | |||
<div id="groups" class="group-list"> | |||
<div id="groups" class="group-list" style="height: 320px; overflow: auto;"> | |||
<ul> | |||
<li class="click" th:onclick="setgroupids([[${item.id}]],this)" th:if="${groups != null}" th:each="item : ${groups}"> | |||
<div>[[${item.groupName}]]</div> | |||
@@ -60,6 +59,8 @@ | |||
}else { | |||
$('#groupIds').val(groupids.toString()); | |||
$.operate.save(prefix + "/address/copy", $('#form-group').serialize()); | |||
$.modal.close(); | |||
parent.location.reload(true); | |||
} | |||
} | |||
@@ -20,7 +20,7 @@ | |||
<input hidden type="text" name="groupIds" id="groupIds" > | |||
<div class="col-md-12"> | |||
<div class="col-md-3"> | |||
<div id="groups" class="group-list"> | |||
<div id="groups" class="group-list" style="height: 320px; overflow: auto;"> | |||
<ul> | |||
<li class="click" th:onclick="setgroupids([[${item.id}]],this)" th:if="${groups != null}" th:each="item : ${groups}"> | |||
<div>[[${item.groupName}]]</div> | |||
@@ -42,18 +42,15 @@ | |||
object.classList.add("click-bg"); | |||
} | |||
function hasClass (ele, className) { | |||
var reg = new RegExp('(^|\\s)' + className + '(\\s|$)') | |||
return reg.test(ele.className) | |||
} | |||
function submitHandler() { | |||
if (groupids.length==0){ | |||
$.modal.alertWarning("请选择组名再提交!"); | |||
return; | |||
}else { | |||
$('#groupIds').val(groupids.toString()); | |||
$.operate.update(prefix + "/address/move", $('#form-group').serialize()); | |||
$.operate.save(prefix + "/address/move", $('#form-group').serialize()); | |||
$.modal.close(); | |||
parent.location.reload(true); | |||
} | |||
} | |||
@@ -21,6 +21,12 @@ | |||
<dependency> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-starter-web</artifactId> | |||
<exclusions> | |||
<exclusion> | |||
<groupId>org.springframework.boot</groupId> | |||
<artifactId>spring-boot-starter-tomcat</artifactId> | |||
</exclusion> | |||
</exclusions> | |||
</dependency> | |||
<!-- SpringBoot 拦截器 --> | |||
@@ -29,12 +29,10 @@ public class RwkAddressBook extends BaseEntity | |||
private String information; | |||
/** 归属部门/个人 */ | |||
@Excel(name = "归属部门/个人") | |||
private Long addressGroup; | |||
/** 创建时间 */ | |||
@JsonFormat(pattern = "yyyy-MM-dd") | |||
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") | |||
private Date createDate; | |||
/** email */ | |||
@@ -23,6 +23,8 @@ public class RwkBookGroup extends BaseEntity | |||
@Excel(name = "分组id") | |||
private Long groupId; | |||
private Long byGroupId; | |||
public void setBookId(Long bookId) | |||
{ | |||
this.bookId = bookId; | |||
@@ -33,6 +35,14 @@ public class RwkBookGroup extends BaseEntity | |||
return bookId; | |||
} | |||
public Long getByGroupId() { | |||
return byGroupId; | |||
} | |||
public void setByGroupId(Long byGroupId) { | |||
this.byGroupId = byGroupId; | |||
} | |||
public Long getGroupId() { | |||
return groupId; | |||
} | |||
@@ -1,4 +1,32 @@ | |||
package com.rwk.system.domain; | |||
public class RwkBookGroupVo { | |||
private String addressIds; | |||
private String byGroupId; | |||
private String groupIds; | |||
public String getAddressIds() { | |||
return addressIds; | |||
} | |||
public void setAddressIds(String addressIds) { | |||
this.addressIds = addressIds; | |||
} | |||
public String getByGroupId() { | |||
return byGroupId; | |||
} | |||
public void setByGroupId(String byGroupId) { | |||
this.byGroupId = byGroupId; | |||
} | |||
public String getGroupIds() { | |||
return groupIds; | |||
} | |||
public void setGroupIds(String groupIds) { | |||
this.groupIds = groupIds; | |||
} | |||
} |
@@ -45,6 +45,9 @@ public interface RwkBookGroupMapper | |||
*/ | |||
public int updateRwkBookGroup(RwkBookGroup rwkBookGroup); | |||
public int updateRwkBookGroupList(@Param("rwkBookGroupList") List<RwkBookGroup> rwkBookGroupList); | |||
/** | |||
* 删除【请填写功能名称】 | |||
* | |||
@@ -44,6 +44,9 @@ public interface IRwkBookGroupService | |||
*/ | |||
public int updateRwkBookGroup(RwkBookGroup rwkBookGroup); | |||
public int updateRwkBookGroupList(List<RwkBookGroup> rwkBookGroup); | |||
/** | |||
* 批量删除【请填写功能名称】 | |||
* | |||
@@ -81,6 +81,12 @@ public class RwkBookGroupServiceImpl implements IRwkBookGroupService | |||
return rwkBookGroupMapper.updateRwkBookGroup(rwkBookGroup); | |||
} | |||
@Override | |||
public int updateRwkBookGroupList(List<RwkBookGroup> rwkBookGroup) | |||
{ | |||
return rwkBookGroupMapper.updateRwkBookGroupList(rwkBookGroup); | |||
} | |||
/** | |||
* 批量删除【请填写功能名称】 | |||
* | |||
@@ -55,6 +55,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||
where book_id = #{bookId} | |||
</update> | |||
<update id="updateRwkBookGroupList" > | |||
<foreach collection="rwkBookGroupList" item="rwkBookGroup" separator=";"> | |||
update rwk_book_group set group_id=#{rwkBookGroup.groupId} where book_id = #{rwkBookGroup.bookId} and group_id=#{rwkBookGroup.byGroupId} | |||
</foreach> | |||
</update> | |||
<delete id="deleteRwkBookGroupByBookId" parameterType="Long"> | |||
delete from rwk_book_group where book_id = #{bookId} | |||
</delete> | |||