HIS模块用户管理部分

This commit is contained in:
毒匠 2020-08-30 21:22:41 +08:00
parent 947120d136
commit 3a0b71c10a
67 changed files with 6053 additions and 0 deletions

View File

@ -0,0 +1,16 @@
package com.ruoyi.common.mappers;
import com.ruoyi.common.core.domain.BaseEntity;
import tk.mybatis.mapper.common.IdsMapper;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
import tk.mybatis.mapper.common.special.InsertListMapper;
/**
* 通用Mapper继承MapperMySqlMapper
* @param <T>
*/
public interface RuoYiBaseMapper<T extends BaseEntity> extends Mapper<T>, MySqlMapper<T>, IdsMapper<T>, InsertListMapper<T> {
}

View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-dependencies-bom</artifactId>
<version>4.4.0</version>
<packaging>pom</packaging>
<url>http://www.ruoyi.vip</url>
<name>${project.artifactId}</name>
<description>RuoYi dependencies BOM</description>
<properties>
<ruoyi.version>4.4.0</ruoyi.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<knife4j.version>2.0.3</knife4j.version>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!--自定义添加Jar依赖:2020/08/30-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-his</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- HIS Core模块-->
<dependency>
<groupId>com.bending.core</groupId>
<artifactId>bending-his-core</artifactId>
<version>1.0.5-SNAPSHOT</version>
</dependency>
<!--Other Jars-->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>3.0.1</version>
</dependency>
<!--MyBatis integration with Spring Boot-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!--通用Mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
<!--SwaggerUI-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-ui</artifactId>
<version>${knife4j.version}</version>
</dependency>
<!--zipkin-->
<dependency>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave-bom</artifactId>
<version>5.9.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
</build>
<distributionManagement>
<repository>
<id>nexus</id>
<name>maven-releases</name>
<url>http://nexus.liudebin.cn/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>maven-snapshots</name>
<url>http://nexus.liudebin.cn/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>

32
ruoyi-his/pom.xml Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi</artifactId>
<groupId>com.ruoyi</groupId>
<version>4.4.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-his</artifactId>
<description>
HIS 系统模块
</description>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
<dependency>
<groupId>com.bending.core</groupId>
<artifactId>bending-his-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,126 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.Agreement;
import com.ruoyi.bend.service.IAgreementService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 协议管理Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/agreement")
public class AgreementController extends BaseController
{
private String prefix = "bend/agreement";
@Autowired
private IAgreementService agreementService;
@RequiresPermissions("bend:agreement:view")
@GetMapping()
public String agreement()
{
return prefix + "/agreement";
}
/**
* 查询协议管理列表
*/
@RequiresPermissions("bend:agreement:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Agreement agreement)
{
startPage();
List<Agreement> list = agreementService.selectAgreementList(agreement);
return getDataTable(list);
}
/**
* 导出协议管理列表
*/
@RequiresPermissions("bend:agreement:export")
@Log(title = "协议管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Agreement agreement)
{
List<Agreement> list = agreementService.selectAgreementList(agreement);
ExcelUtil<Agreement> util = new ExcelUtil<Agreement>(Agreement.class);
return util.exportExcel(list, "agreement");
}
/**
* 新增协议管理
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存协议管理
*/
@RequiresPermissions("bend:agreement:add")
@Log(title = "协议管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(Agreement agreement)
{
return toAjax(agreementService.insertAgreement(agreement));
}
/**
* 修改协议管理
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
Agreement agreement = agreementService.selectAgreementById(id);
mmap.put("agreement", agreement);
return prefix + "/edit";
}
/**
* 修改保存协议管理
*/
@RequiresPermissions("bend:agreement:edit")
@Log(title = "协议管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(Agreement agreement)
{
return toAjax(agreementService.updateAgreement(agreement));
}
/**
* 删除协议管理
*/
@RequiresPermissions("bend:agreement:remove")
@Log(title = "协议管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(agreementService.deleteAgreementByIds(ids));
}
}

View File

@ -0,0 +1,149 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.Article;
import com.ruoyi.bend.service.IArticleService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 内容管理Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/article")
public class ArticleController extends BaseController
{
private String prefix = "bend/article";
@Autowired
private IArticleService articleService;
@RequiresPermissions("bend:article:view")
@GetMapping()
public String article()
{
return prefix + "/article";
}
/**
* 查询内容管理列表
*/
@RequiresPermissions("bend:article:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Article article)
{
startPage();
List<Article> list = articleService.selectArticleList(article);
return getDataTable(list);
}
/**
* 导出内容管理列表
*/
@RequiresPermissions("bend:article:export")
@Log(title = "内容管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Article article)
{
List<Article> list = articleService.selectArticleList(article);
ExcelUtil<Article> util = new ExcelUtil<Article>(Article.class);
return util.exportExcel(list, "article");
}
/**
* 草稿箱 页面
*/
@RequiresPermissions("bend:article:view")
@GetMapping("/draft")
public String draftArticle(@RequestParam(value = "articleStatus")Integer articleStatus, ModelMap mmap)
{
mmap.put("articleStatus", articleStatus);
return prefix + "/draft";
}
/**
* 查询草稿箱内容列表
* @param article 内容
* @return 列表
*/
@RequiresPermissions("bend:article:draft")
@PostMapping("/draft/list")
@ResponseBody
public TableDataInfo draftList(Article article)
{
startPage();
List<Article> list = articleService.selectArticleList(article);
return getDataTable(list);
}
/**
* 新增内容管理
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存内容管理
*/
@RequiresPermissions("bend:article:add")
@Log(title = "内容管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(Article article)
{
return toAjax(articleService.insertArticle(article));
}
/**
* 修改内容管理
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
Article article = articleService.selectArticleById(id);
mmap.put("article", article);
return prefix + "/edit";
}
/**
* 修改保存内容管理
*/
@RequiresPermissions("bend:article:edit")
@Log(title = "内容管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(Article article)
{
return toAjax(articleService.updateArticle(article));
}
/**
* 删除内容管理
*/
@RequiresPermissions("bend:article:remove")
@Log(title = "内容管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(articleService.deleteArticleByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.Banner;
import com.ruoyi.bend.service.IBannerService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 首页管理Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/banner")
public class BannerController extends BaseController
{
private String prefix = "bend/banner";
@Autowired
private IBannerService bannerService;
@RequiresPermissions("bend:banner:view")
@GetMapping()
public String banner()
{
return prefix + "/banner";
}
/**
* 查询首页管理列表
*/
@RequiresPermissions("bend:banner:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Banner banner)
{
startPage();
List<Banner> list = bannerService.selectBannerList(banner);
return getDataTable(list);
}
/**
* 导出首页管理列表
*/
@RequiresPermissions("bend:banner:export")
@Log(title = "首页管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Banner banner)
{
List<Banner> list = bannerService.selectBannerList(banner);
ExcelUtil<Banner> util = new ExcelUtil<Banner>(Banner.class);
return util.exportExcel(list, "banner");
}
/**
* 新增首页管理
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存首页管理
*/
@RequiresPermissions("bend:banner:add")
@Log(title = "首页管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(Banner banner)
{
return toAjax(bannerService.insertBanner(banner));
}
/**
* 修改首页管理
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
Banner banner = bannerService.selectBannerById(id);
mmap.put("banner", banner);
return prefix + "/edit";
}
/**
* 修改保存首页管理
*/
@RequiresPermissions("bend:banner:edit")
@Log(title = "首页管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(Banner banner)
{
return toAjax(bannerService.updateBanner(banner));
}
/**
* 删除首页管理
*/
@RequiresPermissions("bend:banner:remove")
@Log(title = "首页管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(bannerService.deleteBannerByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.Member;
import com.ruoyi.bend.service.IMemberService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 会员列表Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/member")
public class MemberController extends BaseController
{
private String prefix = "bend/member";
@Autowired
private IMemberService memberService;
@RequiresPermissions("bend:member:view")
@GetMapping()
public String member()
{
return prefix + "/member";
}
/**
* 查询会员列表列表
*/
@RequiresPermissions("bend:member:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(Member member)
{
startPage();
List<Member> list = memberService.selectMemberList(member);
return getDataTable(list);
}
/**
* 导出会员列表列表
*/
@RequiresPermissions("bend:member:export")
@Log(title = "会员列表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(Member member)
{
List<Member> list = memberService.selectMemberList(member);
ExcelUtil<Member> util = new ExcelUtil<Member>(Member.class);
return util.exportExcel(list, "member");
}
/**
* 新增会员列表
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存会员列表
*/
@RequiresPermissions("bend:member:add")
@Log(title = "会员列表", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(Member member)
{
return toAjax(memberService.insertMember(member));
}
/**
* 修改会员列表
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
Member member = memberService.selectMemberById(id);
mmap.put("member", member);
return prefix + "/edit";
}
/**
* 修改保存会员列表
*/
@RequiresPermissions("bend:member:edit")
@Log(title = "会员列表", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(Member member)
{
return toAjax(memberService.updateMember(member));
}
/**
* 删除会员列表
*/
@RequiresPermissions("bend:member:remove")
@Log(title = "会员列表", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(memberService.deleteMemberByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.MessageCode;
import com.ruoyi.bend.service.IMessageCodeService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 短信管理Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/messageCode")
public class MessageCodeController extends BaseController
{
private String prefix = "bend/messageCode";
@Autowired
private IMessageCodeService messageCodeService;
@RequiresPermissions("bend:messageCode:view")
@GetMapping()
public String messageCode()
{
return prefix + "/messageCode";
}
/**
* 查询短信管理列表
*/
@RequiresPermissions("bend:messageCode:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(MessageCode messageCode)
{
startPage();
List<MessageCode> list = messageCodeService.selectMessageCodeList(messageCode);
return getDataTable(list);
}
/**
* 导出短信管理列表
*/
@RequiresPermissions("bend:messageCode:export")
@Log(title = "短信管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(MessageCode messageCode)
{
List<MessageCode> list = messageCodeService.selectMessageCodeList(messageCode);
ExcelUtil<MessageCode> util = new ExcelUtil<MessageCode>(MessageCode.class);
return util.exportExcel(list, "messageCode");
}
/**
* 新增短信管理
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存短信管理
*/
@RequiresPermissions("bend:messageCode:add")
@Log(title = "短信管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(MessageCode messageCode)
{
return toAjax(messageCodeService.insertMessageCode(messageCode));
}
/**
* 修改短信管理
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
MessageCode messageCode = messageCodeService.selectMessageCodeById(id);
mmap.put("messageCode", messageCode);
return prefix + "/edit";
}
/**
* 修改保存短信管理
*/
@RequiresPermissions("bend:messageCode:edit")
@Log(title = "短信管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(MessageCode messageCode)
{
return toAjax(messageCodeService.updateMessageCode(messageCode));
}
/**
* 删除短信管理
*/
@RequiresPermissions("bend:messageCode:remove")
@Log(title = "短信管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(messageCodeService.deleteMessageCodeByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.PatientList;
import com.ruoyi.bend.service.IPatientListService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 就诊人列表Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/patientList")
public class PatientListController extends BaseController
{
private String prefix = "bend/patientList";
@Autowired
private IPatientListService patientListService;
@RequiresPermissions("bend:patientList:view")
@GetMapping()
public String patientList()
{
return prefix + "/patientList";
}
/**
* 查询就诊人列表列表
*/
@RequiresPermissions("bend:patientList:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(PatientList patientList)
{
startPage();
List<PatientList> list = patientListService.selectPatientListList(patientList);
return getDataTable(list);
}
/**
* 导出就诊人列表列表
*/
@RequiresPermissions("bend:patientList:export")
@Log(title = "就诊人列表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(PatientList patientList)
{
List<PatientList> list = patientListService.selectPatientListList(patientList);
ExcelUtil<PatientList> util = new ExcelUtil<PatientList>(PatientList.class);
return util.exportExcel(list, "patientList");
}
/**
* 新增就诊人列表
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存就诊人列表
*/
@RequiresPermissions("bend:patientList:add")
@Log(title = "就诊人列表", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(PatientList patientList)
{
return toAjax(patientListService.insertPatientList(patientList));
}
/**
* 修改就诊人列表
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
PatientList patientList = patientListService.selectPatientListById(id);
mmap.put("patientList", patientList);
return prefix + "/edit";
}
/**
* 修改保存就诊人列表
*/
@RequiresPermissions("bend:patientList:edit")
@Log(title = "就诊人列表", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(PatientList patientList)
{
return toAjax(patientListService.updatePatientList(patientList));
}
/**
* 删除就诊人列表
*/
@RequiresPermissions("bend:patientList:remove")
@Log(title = "就诊人列表", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(patientListService.deletePatientListByIds(ids));
}
}

View File

@ -0,0 +1,126 @@
package com.ruoyi.bend.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.bend.domain.WechatMember;
import com.ruoyi.bend.service.IWechatMemberService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 微信用户Controller
*
* @author bend
* @date 2020-08-30
*/
@Controller
@RequestMapping("/bend/wechatMember")
public class WechatMemberController extends BaseController
{
private String prefix = "bend/wechatMember";
@Autowired
private IWechatMemberService wechatMemberService;
@RequiresPermissions("bend:wechatMember:view")
@GetMapping()
public String wechatMember()
{
return prefix + "/wechatMember";
}
/**
* 查询微信用户列表
*/
@RequiresPermissions("bend:wechatMember:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WechatMember wechatMember)
{
startPage();
List<WechatMember> list = wechatMemberService.selectWechatMemberList(wechatMember);
return getDataTable(list);
}
/**
* 导出微信用户列表
*/
@RequiresPermissions("bend:wechatMember:export")
@Log(title = "微信用户", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WechatMember wechatMember)
{
List<WechatMember> list = wechatMemberService.selectWechatMemberList(wechatMember);
ExcelUtil<WechatMember> util = new ExcelUtil<WechatMember>(WechatMember.class);
return util.exportExcel(list, "wechatMember");
}
/**
* 新增微信用户
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存微信用户
*/
@RequiresPermissions("bend:wechatMember:add")
@Log(title = "微信用户", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(WechatMember wechatMember)
{
return toAjax(wechatMemberService.insertWechatMember(wechatMember));
}
/**
* 修改微信用户
*/
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
WechatMember wechatMember = wechatMemberService.selectWechatMemberById(id);
mmap.put("wechatMember", wechatMember);
return prefix + "/edit";
}
/**
* 修改保存微信用户
*/
@RequiresPermissions("bend:wechatMember:edit")
@Log(title = "微信用户", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WechatMember wechatMember)
{
return toAjax(wechatMemberService.updateWechatMember(wechatMember));
}
/**
* 删除微信用户
*/
@RequiresPermissions("bend:wechatMember:remove")
@Log(title = "微信用户", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(wechatMemberService.deleteWechatMemberByIds(ids));
}
}

View File

@ -0,0 +1,49 @@
package com.ruoyi.bend.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 协议管理对象 bend_agreement
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "协议管理")
@Table(name = "bend_agreement")
public class Agreement extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 协议标题 */
@ApiModelProperty(notes = "协议标题")
@Excel(name = "协议标题")
private String agreementTitle;
/** 协议类型 */
@ApiModelProperty(notes = "协议类型")
@Excel(name = "协议类型")
private Integer agreementType;
/** 状态0正常 1关闭 */
@ApiModelProperty(notes = "状态0正常 1关闭")
@Excel(name = "状态", readConverterExp = "0=正常,1=关闭")
private Integer status;
/** 协议内容 */
@ApiModelProperty(notes = "协议内容")
private String agreementContent;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,113 @@
package com.ruoyi.bend.domain;
import java.util.Date;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 内容管理对象 bend_article
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "内容管理")
@Table(name = "bend_article")
public class Article extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 文章标题 */
@ApiModelProperty(notes = "文章标题")
@Excel(name = "文章标题")
private String title;
/** 副标题 */
@ApiModelProperty(notes = "副标题")
@Excel(name = "副标题")
private String subTitle;
/** 文章封面 */
@ApiModelProperty(notes = "文章封面")
@Excel(name = "文章封面")
private String articleCover;
/** 浏览量 */
@ApiModelProperty(notes = "浏览量")
@Excel(name = "浏览量")
private Long pvCount;
/** 评论数 */
@ApiModelProperty(notes = "评论数")
@Excel(name = "评论数")
private Long commentCount;
/** 转载量 */
@ApiModelProperty(notes = "转载量")
@Excel(name = "转载量")
private Long quoteCount;
/** 微信公众号 */
@ApiModelProperty(notes = "微信公众号")
@Excel(name = "微信公众号")
private String wechatAccount;
/** 署名名称(医生名称或医院名称) */
@ApiModelProperty(notes = "署名名称(医生名称或医院名称)")
@Excel(name = "署名名称(医生名称或医院名称)")
private String signatureName;
/** 文章类型0公众号 1平台文章 2医院文章 3医生文章 */
@ApiModelProperty(notes = "文章类型0公众号 1平台文章 2医院文章 3医生文章")
@Excel(name = "文章类型", readConverterExp = "0=公众号,1=平台文章,2=医院文章,3=医生文章")
private Integer articleType;
/** 文章类别0内容文章 1活动文章 */
@ApiModelProperty(notes = "文章类别0内容文章 1活动文章")
@Excel(name = "文章类别", readConverterExp = "0=内容文章,1=活动文章")
private Integer articleClassify;
/** 文章分类0健康资讯 1惠民政策 */
@ApiModelProperty(notes = "文章分类0健康资讯 1惠民政策")
@Excel(name = "文章分类", readConverterExp = "0=健康资讯,1=惠民政策")
private Integer articleCategory;
/** 文章状态0草稿 1正常 2删除 */
@ApiModelProperty(notes = "文章状态0草稿 1正常 2删除")
@Excel(name = "文章状态", readConverterExp = "0=草稿,1=正常,2=删除")
private Integer articleStatus;
/** 审核状态0正常/审核通过 1审核中 2审核驳回 */
@ApiModelProperty(notes = "审核状态0正常/审核通过 1审核中 2审核驳回")
@Excel(name = "审核状态", readConverterExp = "0=正常/审核通过,1=审核中,2=审核驳回")
private Integer approveStatus;
/** 排序号 */
@ApiModelProperty(notes = "排序号")
@Excel(name = "排序号")
private Long sortNo;
/** 审核时间 */
@ApiModelProperty(notes = "审核时间")
private Date auditTime;
/** 发布时间 */
@ApiModelProperty(notes = "发布时间")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date releaseTime;
/** 文章内容 */
@ApiModelProperty(notes = "文章内容")
private String content;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,49 @@
package com.ruoyi.bend.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 首页管理对象 bend_banner
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "首页管理")
@Table(name = "bend_banner")
public class Banner extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 广告标题 */
@ApiModelProperty(notes = "广告标题")
@Excel(name = "广告标题")
private String adTitle;
/** 图片地址 */
@ApiModelProperty(notes = "图片地址")
@Excel(name = "图片地址")
private String adUrl;
/** 活动详情 */
@ApiModelProperty(notes = "活动详情")
@Excel(name = "活动详情")
private String adDetailUrl;
/** 广告类型0广告 1活动 */
@ApiModelProperty(notes = "广告类型0广告 1活动")
@Excel(name = "广告类型", readConverterExp = "0=广告,1=活动")
private Integer adType;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,58 @@
package com.ruoyi.bend.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 会员列表对象 bend_member
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "会员列表")
@Table(name = "bend_member")
public class Member extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 手机号 */
@ApiModelProperty(notes = "手机号")
@Excel(name = "手机号")
private String mobilePhone;
/** 密码 */
@ApiModelProperty(notes = "密码")
private String password;
/** 真实姓名 */
@ApiModelProperty(notes = "真实姓名")
@Excel(name = "真实姓名")
private String realName;
/** 身份证号 */
@ApiModelProperty(notes = "身份证号")
@Excel(name = "身份证号")
private String idCardNo;
/** 用户状态0正常 1冻结 */
@ApiModelProperty(notes = "用户状态0正常 1冻结")
@Excel(name = "用户状态", readConverterExp = "0=正常,1=冻结")
private Integer memberStatus;
/** 会员类型0普通 1医生 2管理员 */
@ApiModelProperty(notes = "会员类型0普通 1医生 2管理员")
@Excel(name = "会员类型", readConverterExp = "0=普通,1=医生,2=管理员")
private Integer memberType;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,68 @@
package com.ruoyi.bend.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 短信管理对象 bend_message_code
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "短信管理")
@Table(name = "bend_message_code")
public class MessageCode extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 手机号 */
@ApiModelProperty(notes = "手机号")
@Excel(name = "手机号")
private String mobilePhone;
/** 短信签名 */
@ApiModelProperty(notes = "短信签名")
@Excel(name = "短信签名")
private String signName;
/** 短信类型 */
@ApiModelProperty(notes = "短信类型")
private Integer smsType;
/** 验证码 */
@ApiModelProperty(notes = "验证码")
@Excel(name = "验证码")
private String smsCode;
/** 短信内容 */
@ApiModelProperty(notes = "短信内容")
@Excel(name = "短信内容")
private String messageText;
/** 模板编号 */
@ApiModelProperty(notes = "模板编号")
@Excel(name = "模板编号")
private String templateCode;
/** 模板参数 */
@ApiModelProperty(notes = "模板参数")
@Excel(name = "模板参数")
private String templateParam;
/** 状态0未使用 1已使用 */
@ApiModelProperty(notes = "状态0未使用 1已使用")
@Excel(name = "状态", readConverterExp = "0=未使用,1=已使用")
private Integer smsStatus;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,73 @@
package com.ruoyi.bend.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 就诊人列表对象 bend_patient_list
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "就诊人列表")
@Table(name = "bend_patient_list")
public class PatientList extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 用户ID */
@ApiModelProperty(notes = "用户ID")
private Long memberId;
/** 真实姓名 */
@ApiModelProperty(notes = "真实姓名")
@Excel(name = "真实姓名")
private String realName;
/** 身份证号 */
@ApiModelProperty(notes = "身份证号")
@Excel(name = "身份证号")
private String idCardNo;
/** 手机号 */
@ApiModelProperty(notes = "手机号")
@Excel(name = "手机号")
private String mobilePhone;
/** 是否默认0否 1是 */
@ApiModelProperty(notes = "是否默认0否 1是")
@Excel(name = "是否默认", readConverterExp = "0=否,1=是")
private Integer defaultPatient;
/** 就诊人关系0未指定 1本人 2配偶 3父亲 4母亲 5儿子 6女儿 7亲友 8朋友 9其他 */
@ApiModelProperty(notes = "就诊人关系0未指定 1本人 2配偶 3父亲 4母亲 5儿子 6女儿 7亲友 8朋友 9其他")
@Excel(name = "就诊人关系", readConverterExp = "0=未指定,1=本人,2=配偶,3=父亲,4=母亲,5=儿子,6=女儿,7=亲友,8=朋友,9=其他")
private Integer relationShip;
/** 家庭关系0未指定 1配偶 2父子 3母子 4儿子 5女儿 */
@ApiModelProperty(notes = "家庭关系0未指定 1配偶 2父子 3母子 4儿子 5女儿")
@Excel(name = "家庭关系", readConverterExp = "0=未指定,1=配偶,2=父子,3=母子,4=儿子,5=女儿")
private Integer familyRelationship;
/** 性别0未知 1男 2女 */
@ApiModelProperty(notes = "性别0未知 1男 2女")
@Excel(name = "性别", readConverterExp = "0=未知,1=男,2=女")
private Integer sex;
/** 绑定状态0绑定中 1已解绑 */
@ApiModelProperty(notes = "绑定状态0绑定中 1已解绑")
@Excel(name = "绑定状态", readConverterExp = "0=绑定中,1=已解绑")
private Integer bindStatus;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,130 @@
package com.ruoyi.bend.domain;
import java.util.Date;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Table;
/**
* 微信用户对象 bend_wechat_member
*
* @author bend
* @date 2020-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "微信用户")
@Table(name = "bend_wechat_member")
public class WechatMember extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 用户ID */
@ApiModelProperty(notes = "用户ID")
private Long memberId;
/** 手机号 */
@ApiModelProperty(notes = "手机号")
@Excel(name = "手机号")
private String mobilePhone;
/** AppId */
@ApiModelProperty(notes = "AppId")
@Excel(name = "AppId")
private String appId;
/** OpenId */
@ApiModelProperty(notes = "OpenId")
@Excel(name = "OpenId")
private String openId;
/** 微信昵称 */
@ApiModelProperty(notes = "微信昵称")
@Excel(name = "微信昵称")
private String nickname;
/** 真实姓名 */
@ApiModelProperty(notes = "真实姓名")
@Excel(name = "真实姓名")
private String realName;
/** 性别0未知 1男 2女 */
@ApiModelProperty(notes = "性别0未知 1男 2女")
private Integer sex;
/** 性别描述 */
@ApiModelProperty(notes = "性别描述")
@Excel(name = "性别描述")
private String sexDesc;
/** 关注状态0未关注 1关注中 2已取消 */
@ApiModelProperty(notes = "关注状态0未关注 1关注中 2已取消")
@Excel(name = "关注状态", readConverterExp = "0=未关注,1=关注中,2=已取消")
private Integer followStatus;
/** 订阅标识0未订阅 1订阅中 2已取消 */
@ApiModelProperty(notes = "订阅标识0未订阅 1订阅中 2已取消")
@Excel(name = "订阅标识", readConverterExp = "0=未订阅,1=订阅中,2=已取消")
private Integer subscribe;
/** 所在城市 */
@ApiModelProperty(notes = "所在城市")
@Excel(name = "所在城市")
private String city;
/** 所在省份 */
@ApiModelProperty(notes = "所在省份")
@Excel(name = "所在省份")
private String province;
/** 所在国家 */
@ApiModelProperty(notes = "所在国家")
private String country;
/** 用户语言 */
@ApiModelProperty(notes = "用户语言")
private String language;
/** 用户头像 */
@ApiModelProperty(notes = "用户头像")
@Excel(name = "用户头像")
private String headImgUrl;
/** 关注时间 */
@ApiModelProperty(notes = "关注时间")
@Excel(name = "关注时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date subscribeTime;
/** UnionID */
@ApiModelProperty(notes = "UnionID")
private String unionid;
/** 分组ID */
@ApiModelProperty(notes = "分组ID")
private String groupId;
/** 标签列表 */
@ApiModelProperty(notes = "标签列表")
private String tagIds;
/** 关注渠道 */
@ApiModelProperty(notes = "关注渠道")
private String subscribeScene;
/** 扫码场景 */
@ApiModelProperty(notes = "扫码场景")
private String qrScene;
/** 场景描述 */
@ApiModelProperty(notes = "场景描述")
private String qrSceneStr;
/** 删除标记0否 1是 */
@ApiModelProperty(notes = "删除标记0否 1是")
private Integer deleted;
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.Agreement;
import java.util.List;
/**
* 协议管理Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface AgreementMapper extends RuoYiBaseMapper<Agreement>
{
/**
* 查询协议管理
*
* @param id 协议管理ID
* @return 协议管理
*/
public Agreement selectAgreementById(Long id);
/**
* 查询协议管理列表
*
* @param agreement 协议管理
* @return 协议管理集合
*/
public List<Agreement> selectAgreementList(Agreement agreement);
/**
* 新增协议管理
*
* @param agreement 协议管理
* @return 结果
*/
public int insertAgreement(Agreement agreement);
/**
* 修改协议管理
*
* @param agreement 协议管理
* @return 结果
*/
public int updateAgreement(Agreement agreement);
/**
* 删除协议管理
*
* @param id 协议管理ID
* @return 结果
*/
public int deleteAgreementById(Long id);
/**
* 批量删除协议管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteAgreementByIds(String[] ids);
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.Article;
import java.util.List;
/**
* 内容管理Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface ArticleMapper extends RuoYiBaseMapper<Article>
{
/**
* 查询内容管理
*
* @param id 内容管理ID
* @return 内容管理
*/
public Article selectArticleById(Long id);
/**
* 查询内容管理列表
*
* @param article 内容管理
* @return 内容管理集合
*/
public List<Article> selectArticleList(Article article);
/**
* 新增内容管理
*
* @param article 内容管理
* @return 结果
*/
public int insertArticle(Article article);
/**
* 修改内容管理
*
* @param article 内容管理
* @return 结果
*/
public int updateArticle(Article article);
/**
* 删除内容管理
*
* @param id 内容管理ID
* @return 结果
*/
public int deleteArticleById(Long id);
/**
* 批量删除内容管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteArticleByIds(String[] ids);
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.Banner;
import java.util.List;
/**
* 首页管理Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface BannerMapper extends RuoYiBaseMapper<Banner>
{
/**
* 查询首页管理
*
* @param id 首页管理ID
* @return 首页管理
*/
public Banner selectBannerById(Long id);
/**
* 查询首页管理列表
*
* @param banner 首页管理
* @return 首页管理集合
*/
public List<Banner> selectBannerList(Banner banner);
/**
* 新增首页管理
*
* @param banner 首页管理
* @return 结果
*/
public int insertBanner(Banner banner);
/**
* 修改首页管理
*
* @param banner 首页管理
* @return 结果
*/
public int updateBanner(Banner banner);
/**
* 删除首页管理
*
* @param id 首页管理ID
* @return 结果
*/
public int deleteBannerById(Long id);
/**
* 批量删除首页管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBannerByIds(String[] ids);
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.Member;
import java.util.List;
/**
* 会员列表Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface MemberMapper extends RuoYiBaseMapper<Member>
{
/**
* 查询会员列表
*
* @param id 会员列表ID
* @return 会员列表
*/
public Member selectMemberById(Long id);
/**
* 查询会员列表列表
*
* @param member 会员列表
* @return 会员列表集合
*/
public List<Member> selectMemberList(Member member);
/**
* 新增会员列表
*
* @param member 会员列表
* @return 结果
*/
public int insertMember(Member member);
/**
* 修改会员列表
*
* @param member 会员列表
* @return 结果
*/
public int updateMember(Member member);
/**
* 删除会员列表
*
* @param id 会员列表ID
* @return 结果
*/
public int deleteMemberById(Long id);
/**
* 批量删除会员列表
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteMemberByIds(String[] ids);
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.MessageCode;
import java.util.List;
/**
* 短信管理Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface MessageCodeMapper extends RuoYiBaseMapper<MessageCode>
{
/**
* 查询短信管理
*
* @param id 短信管理ID
* @return 短信管理
*/
public MessageCode selectMessageCodeById(Long id);
/**
* 查询短信管理列表
*
* @param messageCode 短信管理
* @return 短信管理集合
*/
public List<MessageCode> selectMessageCodeList(MessageCode messageCode);
/**
* 新增短信管理
*
* @param messageCode 短信管理
* @return 结果
*/
public int insertMessageCode(MessageCode messageCode);
/**
* 修改短信管理
*
* @param messageCode 短信管理
* @return 结果
*/
public int updateMessageCode(MessageCode messageCode);
/**
* 删除短信管理
*
* @param id 短信管理ID
* @return 结果
*/
public int deleteMessageCodeById(Long id);
/**
* 批量删除短信管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteMessageCodeByIds(String[] ids);
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.PatientList;
import java.util.List;
/**
* 就诊人列表Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface PatientListMapper extends RuoYiBaseMapper<PatientList>
{
/**
* 查询就诊人列表
*
* @param id 就诊人列表ID
* @return 就诊人列表
*/
public PatientList selectPatientListById(Long id);
/**
* 查询就诊人列表列表
*
* @param patientList 就诊人列表
* @return 就诊人列表集合
*/
public List<PatientList> selectPatientListList(PatientList patientList);
/**
* 新增就诊人列表
*
* @param patientList 就诊人列表
* @return 结果
*/
public int insertPatientList(PatientList patientList);
/**
* 修改就诊人列表
*
* @param patientList 就诊人列表
* @return 结果
*/
public int updatePatientList(PatientList patientList);
/**
* 删除就诊人列表
*
* @param id 就诊人列表ID
* @return 结果
*/
public int deletePatientListById(Long id);
/**
* 批量删除就诊人列表
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deletePatientListByIds(String[] ids);
}

View File

@ -0,0 +1,62 @@
package com.ruoyi.bend.mapper;
import com.ruoyi.common.mappers.RuoYiBaseMapper;
import com.ruoyi.bend.domain.WechatMember;
import java.util.List;
/**
* 微信用户Mapper接口
*
* @author bend
* @date 2020-08-30
*/
public interface WechatMemberMapper extends RuoYiBaseMapper<WechatMember>
{
/**
* 查询微信用户
*
* @param id 微信用户ID
* @return 微信用户
*/
public WechatMember selectWechatMemberById(Long id);
/**
* 查询微信用户列表
*
* @param wechatMember 微信用户
* @return 微信用户集合
*/
public List<WechatMember> selectWechatMemberList(WechatMember wechatMember);
/**
* 新增微信用户
*
* @param wechatMember 微信用户
* @return 结果
*/
public int insertWechatMember(WechatMember wechatMember);
/**
* 修改微信用户
*
* @param wechatMember 微信用户
* @return 结果
*/
public int updateWechatMember(WechatMember wechatMember);
/**
* 删除微信用户
*
* @param id 微信用户ID
* @return 结果
*/
public int deleteWechatMemberById(Long id);
/**
* 批量删除微信用户
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWechatMemberByIds(String[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.Agreement;
/**
* 协议管理Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IAgreementService
{
/**
* 查询协议管理
*
* @param id 协议管理ID
* @return 协议管理
*/
public Agreement selectAgreementById(Long id);
/**
* 查询协议管理列表
*
* @param agreement 协议管理
* @return 协议管理集合
*/
public List<Agreement> selectAgreementList(Agreement agreement);
/**
* 新增协议管理
*
* @param agreement 协议管理
* @return 结果
*/
public int insertAgreement(Agreement agreement);
/**
* 修改协议管理
*
* @param agreement 协议管理
* @return 结果
*/
public int updateAgreement(Agreement agreement);
/**
* 批量删除协议管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteAgreementByIds(String ids);
/**
* 删除协议管理信息
*
* @param id 协议管理ID
* @return 结果
*/
public int deleteAgreementById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.Article;
/**
* 内容管理Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IArticleService
{
/**
* 查询内容管理
*
* @param id 内容管理ID
* @return 内容管理
*/
public Article selectArticleById(Long id);
/**
* 查询内容管理列表
*
* @param article 内容管理
* @return 内容管理集合
*/
public List<Article> selectArticleList(Article article);
/**
* 新增内容管理
*
* @param article 内容管理
* @return 结果
*/
public int insertArticle(Article article);
/**
* 修改内容管理
*
* @param article 内容管理
* @return 结果
*/
public int updateArticle(Article article);
/**
* 批量删除内容管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteArticleByIds(String ids);
/**
* 删除内容管理信息
*
* @param id 内容管理ID
* @return 结果
*/
public int deleteArticleById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.Banner;
/**
* 首页管理Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IBannerService
{
/**
* 查询首页管理
*
* @param id 首页管理ID
* @return 首页管理
*/
public Banner selectBannerById(Long id);
/**
* 查询首页管理列表
*
* @param banner 首页管理
* @return 首页管理集合
*/
public List<Banner> selectBannerList(Banner banner);
/**
* 新增首页管理
*
* @param banner 首页管理
* @return 结果
*/
public int insertBanner(Banner banner);
/**
* 修改首页管理
*
* @param banner 首页管理
* @return 结果
*/
public int updateBanner(Banner banner);
/**
* 批量删除首页管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBannerByIds(String ids);
/**
* 删除首页管理信息
*
* @param id 首页管理ID
* @return 结果
*/
public int deleteBannerById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.Member;
/**
* 会员列表Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IMemberService
{
/**
* 查询会员列表
*
* @param id 会员列表ID
* @return 会员列表
*/
public Member selectMemberById(Long id);
/**
* 查询会员列表列表
*
* @param member 会员列表
* @return 会员列表集合
*/
public List<Member> selectMemberList(Member member);
/**
* 新增会员列表
*
* @param member 会员列表
* @return 结果
*/
public int insertMember(Member member);
/**
* 修改会员列表
*
* @param member 会员列表
* @return 结果
*/
public int updateMember(Member member);
/**
* 批量删除会员列表
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteMemberByIds(String ids);
/**
* 删除会员列表信息
*
* @param id 会员列表ID
* @return 结果
*/
public int deleteMemberById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.MessageCode;
/**
* 短信管理Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IMessageCodeService
{
/**
* 查询短信管理
*
* @param id 短信管理ID
* @return 短信管理
*/
public MessageCode selectMessageCodeById(Long id);
/**
* 查询短信管理列表
*
* @param messageCode 短信管理
* @return 短信管理集合
*/
public List<MessageCode> selectMessageCodeList(MessageCode messageCode);
/**
* 新增短信管理
*
* @param messageCode 短信管理
* @return 结果
*/
public int insertMessageCode(MessageCode messageCode);
/**
* 修改短信管理
*
* @param messageCode 短信管理
* @return 结果
*/
public int updateMessageCode(MessageCode messageCode);
/**
* 批量删除短信管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteMessageCodeByIds(String ids);
/**
* 删除短信管理信息
*
* @param id 短信管理ID
* @return 结果
*/
public int deleteMessageCodeById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.PatientList;
/**
* 就诊人列表Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IPatientListService
{
/**
* 查询就诊人列表
*
* @param id 就诊人列表ID
* @return 就诊人列表
*/
public PatientList selectPatientListById(Long id);
/**
* 查询就诊人列表列表
*
* @param patientList 就诊人列表
* @return 就诊人列表集合
*/
public List<PatientList> selectPatientListList(PatientList patientList);
/**
* 新增就诊人列表
*
* @param patientList 就诊人列表
* @return 结果
*/
public int insertPatientList(PatientList patientList);
/**
* 修改就诊人列表
*
* @param patientList 就诊人列表
* @return 结果
*/
public int updatePatientList(PatientList patientList);
/**
* 批量删除就诊人列表
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deletePatientListByIds(String ids);
/**
* 删除就诊人列表信息
*
* @param id 就诊人列表ID
* @return 结果
*/
public int deletePatientListById(Long id);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.bend.service;
import java.util.List;
import com.ruoyi.bend.domain.WechatMember;
/**
* 微信用户Service接口
*
* @author bend
* @date 2020-08-30
*/
public interface IWechatMemberService
{
/**
* 查询微信用户
*
* @param id 微信用户ID
* @return 微信用户
*/
public WechatMember selectWechatMemberById(Long id);
/**
* 查询微信用户列表
*
* @param wechatMember 微信用户
* @return 微信用户集合
*/
public List<WechatMember> selectWechatMemberList(WechatMember wechatMember);
/**
* 新增微信用户
*
* @param wechatMember 微信用户
* @return 结果
*/
public int insertWechatMember(WechatMember wechatMember);
/**
* 修改微信用户
*
* @param wechatMember 微信用户
* @return 结果
*/
public int updateWechatMember(WechatMember wechatMember);
/**
* 批量删除微信用户
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteWechatMemberByIds(String ids);
/**
* 删除微信用户信息
*
* @param id 微信用户ID
* @return 结果
*/
public int deleteWechatMemberById(Long id);
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.AgreementMapper;
import com.ruoyi.bend.domain.Agreement;
import com.ruoyi.bend.service.IAgreementService;
import com.ruoyi.common.core.text.Convert;
/**
* 协议管理Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class AgreementServiceImpl implements IAgreementService
{
@Autowired
private AgreementMapper agreementMapper;
/**
* 查询协议管理
*
* @param id 协议管理ID
* @return 协议管理
*/
@Override
public Agreement selectAgreementById(Long id)
{
return agreementMapper.selectAgreementById(id);
}
/**
* 查询协议管理列表
*
* @param agreement 协议管理
* @return 协议管理
*/
@Override
public List<Agreement> selectAgreementList(Agreement agreement)
{
return agreementMapper.selectAgreementList(agreement);
}
/**
* 新增协议管理
*
* @param agreement 协议管理
* @return 结果
*/
@Override
public int insertAgreement(Agreement agreement)
{
agreement.setCreateTime(DateUtils.getNowDate());
return agreementMapper.insertAgreement(agreement);
}
/**
* 修改协议管理
*
* @param agreement 协议管理
* @return 结果
*/
@Override
public int updateAgreement(Agreement agreement)
{
agreement.setUpdateTime(DateUtils.getNowDate());
return agreementMapper.updateAgreement(agreement);
}
/**
* 删除协议管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteAgreementByIds(String ids)
{
return agreementMapper.deleteAgreementByIds(Convert.toStrArray(ids));
}
/**
* 删除协议管理信息
*
* @param id 协议管理ID
* @return 结果
*/
@Override
public int deleteAgreementById(Long id)
{
return agreementMapper.deleteAgreementById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.ArticleMapper;
import com.ruoyi.bend.domain.Article;
import com.ruoyi.bend.service.IArticleService;
import com.ruoyi.common.core.text.Convert;
/**
* 内容管理Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class ArticleServiceImpl implements IArticleService
{
@Autowired
private ArticleMapper articleMapper;
/**
* 查询内容管理
*
* @param id 内容管理ID
* @return 内容管理
*/
@Override
public Article selectArticleById(Long id)
{
return articleMapper.selectArticleById(id);
}
/**
* 查询内容管理列表
*
* @param article 内容管理
* @return 内容管理
*/
@Override
public List<Article> selectArticleList(Article article)
{
return articleMapper.selectArticleList(article);
}
/**
* 新增内容管理
*
* @param article 内容管理
* @return 结果
*/
@Override
public int insertArticle(Article article)
{
article.setCreateTime(DateUtils.getNowDate());
return articleMapper.insertArticle(article);
}
/**
* 修改内容管理
*
* @param article 内容管理
* @return 结果
*/
@Override
public int updateArticle(Article article)
{
article.setUpdateTime(DateUtils.getNowDate());
return articleMapper.updateArticle(article);
}
/**
* 删除内容管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteArticleByIds(String ids)
{
return articleMapper.deleteArticleByIds(Convert.toStrArray(ids));
}
/**
* 删除内容管理信息
*
* @param id 内容管理ID
* @return 结果
*/
@Override
public int deleteArticleById(Long id)
{
return articleMapper.deleteArticleById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.BannerMapper;
import com.ruoyi.bend.domain.Banner;
import com.ruoyi.bend.service.IBannerService;
import com.ruoyi.common.core.text.Convert;
/**
* 首页管理Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class BannerServiceImpl implements IBannerService
{
@Autowired
private BannerMapper bannerMapper;
/**
* 查询首页管理
*
* @param id 首页管理ID
* @return 首页管理
*/
@Override
public Banner selectBannerById(Long id)
{
return bannerMapper.selectBannerById(id);
}
/**
* 查询首页管理列表
*
* @param banner 首页管理
* @return 首页管理
*/
@Override
public List<Banner> selectBannerList(Banner banner)
{
return bannerMapper.selectBannerList(banner);
}
/**
* 新增首页管理
*
* @param banner 首页管理
* @return 结果
*/
@Override
public int insertBanner(Banner banner)
{
banner.setCreateTime(DateUtils.getNowDate());
return bannerMapper.insertBanner(banner);
}
/**
* 修改首页管理
*
* @param banner 首页管理
* @return 结果
*/
@Override
public int updateBanner(Banner banner)
{
banner.setUpdateTime(DateUtils.getNowDate());
return bannerMapper.updateBanner(banner);
}
/**
* 删除首页管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteBannerByIds(String ids)
{
return bannerMapper.deleteBannerByIds(Convert.toStrArray(ids));
}
/**
* 删除首页管理信息
*
* @param id 首页管理ID
* @return 结果
*/
@Override
public int deleteBannerById(Long id)
{
return bannerMapper.deleteBannerById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.MemberMapper;
import com.ruoyi.bend.domain.Member;
import com.ruoyi.bend.service.IMemberService;
import com.ruoyi.common.core.text.Convert;
/**
* 会员列表Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class MemberServiceImpl implements IMemberService
{
@Autowired
private MemberMapper memberMapper;
/**
* 查询会员列表
*
* @param id 会员列表ID
* @return 会员列表
*/
@Override
public Member selectMemberById(Long id)
{
return memberMapper.selectMemberById(id);
}
/**
* 查询会员列表列表
*
* @param member 会员列表
* @return 会员列表
*/
@Override
public List<Member> selectMemberList(Member member)
{
return memberMapper.selectMemberList(member);
}
/**
* 新增会员列表
*
* @param member 会员列表
* @return 结果
*/
@Override
public int insertMember(Member member)
{
member.setCreateTime(DateUtils.getNowDate());
return memberMapper.insertMember(member);
}
/**
* 修改会员列表
*
* @param member 会员列表
* @return 结果
*/
@Override
public int updateMember(Member member)
{
member.setUpdateTime(DateUtils.getNowDate());
return memberMapper.updateMember(member);
}
/**
* 删除会员列表对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteMemberByIds(String ids)
{
return memberMapper.deleteMemberByIds(Convert.toStrArray(ids));
}
/**
* 删除会员列表信息
*
* @param id 会员列表ID
* @return 结果
*/
@Override
public int deleteMemberById(Long id)
{
return memberMapper.deleteMemberById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.MessageCodeMapper;
import com.ruoyi.bend.domain.MessageCode;
import com.ruoyi.bend.service.IMessageCodeService;
import com.ruoyi.common.core.text.Convert;
/**
* 短信管理Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class MessageCodeServiceImpl implements IMessageCodeService
{
@Autowired
private MessageCodeMapper messageCodeMapper;
/**
* 查询短信管理
*
* @param id 短信管理ID
* @return 短信管理
*/
@Override
public MessageCode selectMessageCodeById(Long id)
{
return messageCodeMapper.selectMessageCodeById(id);
}
/**
* 查询短信管理列表
*
* @param messageCode 短信管理
* @return 短信管理
*/
@Override
public List<MessageCode> selectMessageCodeList(MessageCode messageCode)
{
return messageCodeMapper.selectMessageCodeList(messageCode);
}
/**
* 新增短信管理
*
* @param messageCode 短信管理
* @return 结果
*/
@Override
public int insertMessageCode(MessageCode messageCode)
{
messageCode.setCreateTime(DateUtils.getNowDate());
return messageCodeMapper.insertMessageCode(messageCode);
}
/**
* 修改短信管理
*
* @param messageCode 短信管理
* @return 结果
*/
@Override
public int updateMessageCode(MessageCode messageCode)
{
messageCode.setUpdateTime(DateUtils.getNowDate());
return messageCodeMapper.updateMessageCode(messageCode);
}
/**
* 删除短信管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteMessageCodeByIds(String ids)
{
return messageCodeMapper.deleteMessageCodeByIds(Convert.toStrArray(ids));
}
/**
* 删除短信管理信息
*
* @param id 短信管理ID
* @return 结果
*/
@Override
public int deleteMessageCodeById(Long id)
{
return messageCodeMapper.deleteMessageCodeById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.PatientListMapper;
import com.ruoyi.bend.domain.PatientList;
import com.ruoyi.bend.service.IPatientListService;
import com.ruoyi.common.core.text.Convert;
/**
* 就诊人列表Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class PatientListServiceImpl implements IPatientListService
{
@Autowired
private PatientListMapper patientListMapper;
/**
* 查询就诊人列表
*
* @param id 就诊人列表ID
* @return 就诊人列表
*/
@Override
public PatientList selectPatientListById(Long id)
{
return patientListMapper.selectPatientListById(id);
}
/**
* 查询就诊人列表列表
*
* @param patientList 就诊人列表
* @return 就诊人列表
*/
@Override
public List<PatientList> selectPatientListList(PatientList patientList)
{
return patientListMapper.selectPatientListList(patientList);
}
/**
* 新增就诊人列表
*
* @param patientList 就诊人列表
* @return 结果
*/
@Override
public int insertPatientList(PatientList patientList)
{
patientList.setCreateTime(DateUtils.getNowDate());
return patientListMapper.insertPatientList(patientList);
}
/**
* 修改就诊人列表
*
* @param patientList 就诊人列表
* @return 结果
*/
@Override
public int updatePatientList(PatientList patientList)
{
patientList.setUpdateTime(DateUtils.getNowDate());
return patientListMapper.updatePatientList(patientList);
}
/**
* 删除就诊人列表对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deletePatientListByIds(String ids)
{
return patientListMapper.deletePatientListByIds(Convert.toStrArray(ids));
}
/**
* 删除就诊人列表信息
*
* @param id 就诊人列表ID
* @return 结果
*/
@Override
public int deletePatientListById(Long id)
{
return patientListMapper.deletePatientListById(id);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.bend.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.bend.mapper.WechatMemberMapper;
import com.ruoyi.bend.domain.WechatMember;
import com.ruoyi.bend.service.IWechatMemberService;
import com.ruoyi.common.core.text.Convert;
/**
* 微信用户Service业务层处理
*
* @author bend
* @date 2020-08-30
*/
@Service
public class WechatMemberServiceImpl implements IWechatMemberService
{
@Autowired
private WechatMemberMapper wechatMemberMapper;
/**
* 查询微信用户
*
* @param id 微信用户ID
* @return 微信用户
*/
@Override
public WechatMember selectWechatMemberById(Long id)
{
return wechatMemberMapper.selectWechatMemberById(id);
}
/**
* 查询微信用户列表
*
* @param wechatMember 微信用户
* @return 微信用户
*/
@Override
public List<WechatMember> selectWechatMemberList(WechatMember wechatMember)
{
return wechatMemberMapper.selectWechatMemberList(wechatMember);
}
/**
* 新增微信用户
*
* @param wechatMember 微信用户
* @return 结果
*/
@Override
public int insertWechatMember(WechatMember wechatMember)
{
wechatMember.setCreateTime(DateUtils.getNowDate());
return wechatMemberMapper.insertWechatMember(wechatMember);
}
/**
* 修改微信用户
*
* @param wechatMember 微信用户
* @return 结果
*/
@Override
public int updateWechatMember(WechatMember wechatMember)
{
wechatMember.setUpdateTime(DateUtils.getNowDate());
return wechatMemberMapper.updateWechatMember(wechatMember);
}
/**
* 删除微信用户对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteWechatMemberByIds(String ids)
{
return wechatMemberMapper.deleteWechatMemberByIds(Convert.toStrArray(ids));
}
/**
* 删除微信用户信息
*
* @param id 微信用户ID
* @return 结果
*/
@Override
public int deleteWechatMemberById(Long id)
{
return wechatMemberMapper.deleteWechatMemberById(id);
}
}

View File

@ -0,0 +1,87 @@
<?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.ruoyi.bend.mapper.AgreementMapper">
<resultMap type="Agreement" id="AgreementResult">
<result property="id" column="id" />
<result property="agreementTitle" column="agreement_title" />
<result property="agreementType" column="agreement_type" />
<result property="status" column="status" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="agreementContent" column="agreement_content" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectAgreementVo">
select id, agreement_title, agreement_type, status, create_by, create_time, update_time, agreement_content, deleted from bend_agreement
</sql>
<select id="selectAgreementList" parameterType="Agreement" resultMap="AgreementResult">
<include refid="selectAgreementVo"/>
<where>
<if test="agreementTitle != null and agreementTitle != ''"> and agreement_title = #{agreementTitle}</if>
<if test="agreementType != null "> and agreement_type = #{agreementType}</if>
<if test="status != null "> and status = #{status}</if>
</where>
</select>
<select id="selectAgreementById" parameterType="Long" resultMap="AgreementResult">
<include refid="selectAgreementVo"/>
where id = #{id}
</select>
<insert id="insertAgreement" parameterType="Agreement" useGeneratedKeys="true" keyProperty="id">
insert into bend_agreement
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="agreementTitle != null and agreementTitle != ''">agreement_title,</if>
<if test="agreementType != null">agreement_type,</if>
<if test="status != null">status,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="agreementContent != null">agreement_content,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="agreementTitle != null and agreementTitle != ''">#{agreementTitle},</if>
<if test="agreementType != null">#{agreementType},</if>
<if test="status != null">#{status},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="agreementContent != null">#{agreementContent},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updateAgreement" parameterType="Agreement">
update bend_agreement
<trim prefix="SET" suffixOverrides=",">
<if test="agreementTitle != null and agreementTitle != ''">agreement_title = #{agreementTitle},</if>
<if test="agreementType != null">agreement_type = #{agreementType},</if>
<if test="status != null">status = #{status},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="agreementContent != null">agreement_content = #{agreementContent},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteAgreementById" parameterType="Long">
delete from bend_agreement where id = #{id}
</delete>
<delete id="deleteAgreementByIds" parameterType="String">
delete from bend_agreement where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,143 @@
<?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.ruoyi.bend.mapper.ArticleMapper">
<resultMap type="Article" id="ArticleResult">
<result property="id" column="id" />
<result property="title" column="title" />
<result property="subTitle" column="sub_title" />
<result property="articleCover" column="article_cover" />
<result property="pvCount" column="pv_count" />
<result property="commentCount" column="comment_count" />
<result property="quoteCount" column="quote_count" />
<result property="wechatAccount" column="wechat_account" />
<result property="signatureName" column="signature_name" />
<result property="articleType" column="article_type" />
<result property="articleClassify" column="article_classify" />
<result property="articleCategory" column="article_category" />
<result property="articleStatus" column="article_status" />
<result property="approveStatus" column="approve_status" />
<result property="sortNo" column="sort_no" />
<result property="createBy" column="create_by" />
<result property="auditTime" column="audit_time" />
<result property="releaseTime" column="release_time" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="content" column="content" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectArticleVo">
select id, title, sub_title, article_cover, pv_count, comment_count, quote_count, wechat_account, signature_name, article_type, article_classify, article_category, article_status, approve_status, sort_no, create_by, audit_time, release_time, create_time, update_time, content, deleted from bend_article
</sql>
<select id="selectArticleList" parameterType="Article" resultMap="ArticleResult">
<include refid="selectArticleVo"/>
<where>
<if test="title != null and title != ''"> and title = #{title}</if>
<if test="articleType != null "> and article_type = #{articleType}</if>
<if test="articleClassify != null "> and article_classify = #{articleClassify}</if>
<if test="articleCategory != null "> and article_category = #{articleCategory}</if>
<if test="articleStatus != null "> and article_status = #{articleStatus}</if>
<if test="approveStatus != null "> and approve_status = #{approveStatus}</if>
<if test="releaseTime != null "> and release_time = #{releaseTime}</if>
</where>
</select>
<select id="selectArticleById" parameterType="Long" resultMap="ArticleResult">
<include refid="selectArticleVo"/>
where id = #{id}
</select>
<insert id="insertArticle" parameterType="Article" useGeneratedKeys="true" keyProperty="id">
insert into bend_article
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="title != null and title != ''">title,</if>
<if test="subTitle != null">sub_title,</if>
<if test="articleCover != null">article_cover,</if>
<if test="pvCount != null">pv_count,</if>
<if test="commentCount != null">comment_count,</if>
<if test="quoteCount != null">quote_count,</if>
<if test="wechatAccount != null and wechatAccount != ''">wechat_account,</if>
<if test="signatureName != null and signatureName != ''">signature_name,</if>
<if test="articleType != null">article_type,</if>
<if test="articleClassify != null">article_classify,</if>
<if test="articleCategory != null">article_category,</if>
<if test="articleStatus != null">article_status,</if>
<if test="approveStatus != null">approve_status,</if>
<if test="sortNo != null">sort_no,</if>
<if test="createBy != null">create_by,</if>
<if test="auditTime != null">audit_time,</if>
<if test="releaseTime != null">release_time,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="content != null">content,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="title != null and title != ''">#{title},</if>
<if test="subTitle != null">#{subTitle},</if>
<if test="articleCover != null">#{articleCover},</if>
<if test="pvCount != null">#{pvCount},</if>
<if test="commentCount != null">#{commentCount},</if>
<if test="quoteCount != null">#{quoteCount},</if>
<if test="wechatAccount != null and wechatAccount != ''">#{wechatAccount},</if>
<if test="signatureName != null and signatureName != ''">#{signatureName},</if>
<if test="articleType != null">#{articleType},</if>
<if test="articleClassify != null">#{articleClassify},</if>
<if test="articleCategory != null">#{articleCategory},</if>
<if test="articleStatus != null">#{articleStatus},</if>
<if test="approveStatus != null">#{approveStatus},</if>
<if test="sortNo != null">#{sortNo},</if>
<if test="createBy != null">#{createBy},</if>
<if test="auditTime != null">#{auditTime},</if>
<if test="releaseTime != null">#{releaseTime},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="content != null">#{content},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updateArticle" parameterType="Article">
update bend_article
<trim prefix="SET" suffixOverrides=",">
<if test="title != null and title != ''">title = #{title},</if>
<if test="subTitle != null">sub_title = #{subTitle},</if>
<if test="articleCover != null">article_cover = #{articleCover},</if>
<if test="pvCount != null">pv_count = #{pvCount},</if>
<if test="commentCount != null">comment_count = #{commentCount},</if>
<if test="quoteCount != null">quote_count = #{quoteCount},</if>
<if test="wechatAccount != null and wechatAccount != ''">wechat_account = #{wechatAccount},</if>
<if test="signatureName != null and signatureName != ''">signature_name = #{signatureName},</if>
<if test="articleType != null">article_type = #{articleType},</if>
<if test="articleClassify != null">article_classify = #{articleClassify},</if>
<if test="articleCategory != null">article_category = #{articleCategory},</if>
<if test="articleStatus != null">article_status = #{articleStatus},</if>
<if test="approveStatus != null">approve_status = #{approveStatus},</if>
<if test="sortNo != null">sort_no = #{sortNo},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="auditTime != null">audit_time = #{auditTime},</if>
<if test="releaseTime != null">release_time = #{releaseTime},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="content != null">content = #{content},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteArticleById" parameterType="Long">
delete from bend_article where id = #{id}
</delete>
<delete id="deleteArticleByIds" parameterType="String">
delete from bend_article where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,81 @@
<?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.ruoyi.bend.mapper.BannerMapper">
<resultMap type="Banner" id="BannerResult">
<result property="id" column="id" />
<result property="adTitle" column="ad_title" />
<result property="adUrl" column="ad_url" />
<result property="adDetailUrl" column="ad_detail_url" />
<result property="adType" column="ad_type" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectBannerVo">
select id, ad_title, ad_url, ad_detail_url, ad_type, create_time, update_time, deleted from bend_banner
</sql>
<select id="selectBannerList" parameterType="Banner" resultMap="BannerResult">
<include refid="selectBannerVo"/>
<where>
<if test="adType != null "> and ad_type = #{adType}</if>
</where>
</select>
<select id="selectBannerById" parameterType="Long" resultMap="BannerResult">
<include refid="selectBannerVo"/>
where id = #{id}
</select>
<insert id="insertBanner" parameterType="Banner" useGeneratedKeys="true" keyProperty="id">
insert into bend_banner
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="adTitle != null and adTitle != ''">ad_title,</if>
<if test="adUrl != null">ad_url,</if>
<if test="adDetailUrl != null">ad_detail_url,</if>
<if test="adType != null">ad_type,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="adTitle != null and adTitle != ''">#{adTitle},</if>
<if test="adUrl != null">#{adUrl},</if>
<if test="adDetailUrl != null">#{adDetailUrl},</if>
<if test="adType != null">#{adType},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updateBanner" parameterType="Banner">
update bend_banner
<trim prefix="SET" suffixOverrides=",">
<if test="adTitle != null and adTitle != ''">ad_title = #{adTitle},</if>
<if test="adUrl != null">ad_url = #{adUrl},</if>
<if test="adDetailUrl != null">ad_detail_url = #{adDetailUrl},</if>
<if test="adType != null">ad_type = #{adType},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBannerById" parameterType="Long">
delete from bend_banner where id = #{id}
</delete>
<delete id="deleteBannerByIds" parameterType="String">
delete from bend_banner where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,94 @@
<?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.ruoyi.bend.mapper.MemberMapper">
<resultMap type="Member" id="MemberResult">
<result property="id" column="id" />
<result property="mobilePhone" column="mobile_phone" />
<result property="password" column="password" />
<result property="realName" column="real_name" />
<result property="idCardNo" column="id_card_no" />
<result property="memberStatus" column="member_status" />
<result property="memberType" column="member_type" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectMemberVo">
select id, mobile_phone, password, real_name, id_card_no, member_status, member_type, create_time, update_time, deleted from bend_member
</sql>
<select id="selectMemberList" parameterType="Member" resultMap="MemberResult">
<include refid="selectMemberVo"/>
<where>
<if test="mobilePhone != null and mobilePhone != ''"> and mobile_phone = #{mobilePhone}</if>
<if test="realName != null and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
<if test="idCardNo != null and idCardNo != ''"> and id_card_no = #{idCardNo}</if>
<if test="memberStatus != null "> and member_status = #{memberStatus}</if>
<if test="memberType != null "> and member_type = #{memberType}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectMemberById" parameterType="Long" resultMap="MemberResult">
<include refid="selectMemberVo"/>
where id = #{id}
</select>
<insert id="insertMember" parameterType="Member" useGeneratedKeys="true" keyProperty="id">
insert into bend_member
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="mobilePhone != null">mobile_phone,</if>
<if test="password != null">password,</if>
<if test="realName != null">real_name,</if>
<if test="idCardNo != null">id_card_no,</if>
<if test="memberStatus != null">member_status,</if>
<if test="memberType != null">member_type,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="mobilePhone != null">#{mobilePhone},</if>
<if test="password != null">#{password},</if>
<if test="realName != null">#{realName},</if>
<if test="idCardNo != null">#{idCardNo},</if>
<if test="memberStatus != null">#{memberStatus},</if>
<if test="memberType != null">#{memberType},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updateMember" parameterType="Member">
update bend_member
<trim prefix="SET" suffixOverrides=",">
<if test="mobilePhone != null">mobile_phone = #{mobilePhone},</if>
<if test="password != null">password = #{password},</if>
<if test="realName != null">real_name = #{realName},</if>
<if test="idCardNo != null">id_card_no = #{idCardNo},</if>
<if test="memberStatus != null">member_status = #{memberStatus},</if>
<if test="memberType != null">member_type = #{memberType},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMemberById" parameterType="Long">
delete from bend_member where id = #{id}
</delete>
<delete id="deleteMemberByIds" parameterType="String">
delete from bend_member where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,99 @@
<?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.ruoyi.bend.mapper.MessageCodeMapper">
<resultMap type="MessageCode" id="MessageCodeResult">
<result property="id" column="id" />
<result property="mobilePhone" column="mobile_phone" />
<result property="signName" column="sign_name" />
<result property="smsType" column="sms_type" />
<result property="smsCode" column="sms_code" />
<result property="messageText" column="message_text" />
<result property="templateCode" column="template_code" />
<result property="templateParam" column="template_param" />
<result property="smsStatus" column="sms_status" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectMessageCodeVo">
select id, mobile_phone, sign_name, sms_type, sms_code, message_text, template_code, template_param, sms_status, create_time, update_time, deleted from bend_message_code
</sql>
<select id="selectMessageCodeList" parameterType="MessageCode" resultMap="MessageCodeResult">
<include refid="selectMessageCodeVo"/>
<where>
<if test="mobilePhone != null and mobilePhone != ''"> and mobile_phone = #{mobilePhone}</if>
<if test="smsStatus != null "> and sms_status = #{smsStatus}</if>
<if test="createTime != null "> and create_time = #{createTime}</if>
</where>
</select>
<select id="selectMessageCodeById" parameterType="Long" resultMap="MessageCodeResult">
<include refid="selectMessageCodeVo"/>
where id = #{id}
</select>
<insert id="insertMessageCode" parameterType="MessageCode" useGeneratedKeys="true" keyProperty="id">
insert into bend_message_code
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="mobilePhone != null">mobile_phone,</if>
<if test="signName != null">sign_name,</if>
<if test="smsType != null">sms_type,</if>
<if test="smsCode != null">sms_code,</if>
<if test="messageText != null">message_text,</if>
<if test="templateCode != null">template_code,</if>
<if test="templateParam != null">template_param,</if>
<if test="smsStatus != null">sms_status,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="mobilePhone != null">#{mobilePhone},</if>
<if test="signName != null">#{signName},</if>
<if test="smsType != null">#{smsType},</if>
<if test="smsCode != null">#{smsCode},</if>
<if test="messageText != null">#{messageText},</if>
<if test="templateCode != null">#{templateCode},</if>
<if test="templateParam != null">#{templateParam},</if>
<if test="smsStatus != null">#{smsStatus},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updateMessageCode" parameterType="MessageCode">
update bend_message_code
<trim prefix="SET" suffixOverrides=",">
<if test="mobilePhone != null">mobile_phone = #{mobilePhone},</if>
<if test="signName != null">sign_name = #{signName},</if>
<if test="smsType != null">sms_type = #{smsType},</if>
<if test="smsCode != null">sms_code = #{smsCode},</if>
<if test="messageText != null">message_text = #{messageText},</if>
<if test="templateCode != null">template_code = #{templateCode},</if>
<if test="templateParam != null">template_param = #{templateParam},</if>
<if test="smsStatus != null">sms_status = #{smsStatus},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteMessageCodeById" parameterType="Long">
delete from bend_message_code where id = #{id}
</delete>
<delete id="deleteMessageCodeByIds" parameterType="String">
delete from bend_message_code where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,105 @@
<?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.ruoyi.bend.mapper.PatientListMapper">
<resultMap type="PatientList" id="PatientListResult">
<result property="id" column="id" />
<result property="memberId" column="member_id" />
<result property="realName" column="real_name" />
<result property="idCardNo" column="id_card_no" />
<result property="mobilePhone" column="mobile_phone" />
<result property="defaultPatient" column="default_patient" />
<result property="relationShip" column="relation_ship" />
<result property="familyRelationship" column="family_relationship" />
<result property="sex" column="sex" />
<result property="bindStatus" column="bind_status" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectPatientListVo">
select id, member_id, real_name, id_card_no, mobile_phone, default_patient, relation_ship, family_relationship, sex, bind_status, create_time, update_time, deleted from bend_patient_list
</sql>
<select id="selectPatientListList" parameterType="PatientList" resultMap="PatientListResult">
<include refid="selectPatientListVo"/>
<where>
<if test="realName != null and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
<if test="idCardNo != null and idCardNo != ''"> and id_card_no = #{idCardNo}</if>
<if test="mobilePhone != null and mobilePhone != ''"> and mobile_phone = #{mobilePhone}</if>
<if test="bindStatus != null "> and bind_status = #{bindStatus}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectPatientListById" parameterType="Long" resultMap="PatientListResult">
<include refid="selectPatientListVo"/>
where id = #{id}
</select>
<insert id="insertPatientList" parameterType="PatientList" useGeneratedKeys="true" keyProperty="id">
insert into bend_patient_list
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberId != null">member_id,</if>
<if test="realName != null">real_name,</if>
<if test="idCardNo != null">id_card_no,</if>
<if test="mobilePhone != null">mobile_phone,</if>
<if test="defaultPatient != null">default_patient,</if>
<if test="relationShip != null">relation_ship,</if>
<if test="familyRelationship != null">family_relationship,</if>
<if test="sex != null">sex,</if>
<if test="bindStatus != null">bind_status,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberId != null">#{memberId},</if>
<if test="realName != null">#{realName},</if>
<if test="idCardNo != null">#{idCardNo},</if>
<if test="mobilePhone != null">#{mobilePhone},</if>
<if test="defaultPatient != null">#{defaultPatient},</if>
<if test="relationShip != null">#{relationShip},</if>
<if test="familyRelationship != null">#{familyRelationship},</if>
<if test="sex != null">#{sex},</if>
<if test="bindStatus != null">#{bindStatus},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updatePatientList" parameterType="PatientList">
update bend_patient_list
<trim prefix="SET" suffixOverrides=",">
<if test="memberId != null">member_id = #{memberId},</if>
<if test="realName != null">real_name = #{realName},</if>
<if test="idCardNo != null">id_card_no = #{idCardNo},</if>
<if test="mobilePhone != null">mobile_phone = #{mobilePhone},</if>
<if test="defaultPatient != null">default_patient = #{defaultPatient},</if>
<if test="relationShip != null">relation_ship = #{relationShip},</if>
<if test="familyRelationship != null">family_relationship = #{familyRelationship},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="bindStatus != null">bind_status = #{bindStatus},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deletePatientListById" parameterType="Long">
delete from bend_patient_list where id = #{id}
</delete>
<delete id="deletePatientListByIds" parameterType="String">
delete from bend_patient_list where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,159 @@
<?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.ruoyi.bend.mapper.WechatMemberMapper">
<resultMap type="WechatMember" id="WechatMemberResult">
<result property="id" column="id" />
<result property="memberId" column="member_id" />
<result property="mobilePhone" column="mobile_phone" />
<result property="appId" column="app_id" />
<result property="openId" column="open_id" />
<result property="nickname" column="nickname" />
<result property="realName" column="real_name" />
<result property="sex" column="sex" />
<result property="sexDesc" column="sex_desc" />
<result property="followStatus" column="follow_status" />
<result property="subscribe" column="subscribe" />
<result property="city" column="city" />
<result property="province" column="province" />
<result property="country" column="country" />
<result property="language" column="language" />
<result property="headImgUrl" column="head_img_url" />
<result property="subscribeTime" column="subscribe_time" />
<result property="unionid" column="unionid" />
<result property="remark" column="remark" />
<result property="groupId" column="group_id" />
<result property="tagIds" column="tag_ids" />
<result property="subscribeScene" column="subscribe_scene" />
<result property="qrScene" column="qr_scene" />
<result property="qrSceneStr" column="qr_scene_str" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="selectWechatMemberVo">
select id, member_id, mobile_phone, app_id, open_id, nickname, real_name, sex, sex_desc, follow_status, subscribe, city, province, country, language, head_img_url, subscribe_time, unionid, remark, group_id, tag_ids, subscribe_scene, qr_scene, qr_scene_str, create_time, update_time, deleted from bend_wechat_member
</sql>
<select id="selectWechatMemberList" parameterType="WechatMember" resultMap="WechatMemberResult">
<include refid="selectWechatMemberVo"/>
<where>
<if test="mobilePhone != null and mobilePhone != ''"> and mobile_phone = #{mobilePhone}</if>
<if test="realName != null and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
</select>
<select id="selectWechatMemberById" parameterType="Long" resultMap="WechatMemberResult">
<include refid="selectWechatMemberVo"/>
where id = #{id}
</select>
<insert id="insertWechatMember" parameterType="WechatMember" useGeneratedKeys="true" keyProperty="id">
insert into bend_wechat_member
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberId != null">member_id,</if>
<if test="mobilePhone != null">mobile_phone,</if>
<if test="appId != null">app_id,</if>
<if test="openId != null">open_id,</if>
<if test="nickname != null">nickname,</if>
<if test="realName != null">real_name,</if>
<if test="sex != null">sex,</if>
<if test="sexDesc != null">sex_desc,</if>
<if test="followStatus != null">follow_status,</if>
<if test="subscribe != null">subscribe,</if>
<if test="city != null">city,</if>
<if test="province != null">province,</if>
<if test="country != null">country,</if>
<if test="language != null">language,</if>
<if test="headImgUrl != null">head_img_url,</if>
<if test="subscribeTime != null">subscribe_time,</if>
<if test="unionid != null">unionid,</if>
<if test="remark != null">remark,</if>
<if test="groupId != null">group_id,</if>
<if test="tagIds != null">tag_ids,</if>
<if test="subscribeScene != null">subscribe_scene,</if>
<if test="qrScene != null">qr_scene,</if>
<if test="qrSceneStr != null">qr_scene_str,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="deleted != null">deleted,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberId != null">#{memberId},</if>
<if test="mobilePhone != null">#{mobilePhone},</if>
<if test="appId != null">#{appId},</if>
<if test="openId != null">#{openId},</if>
<if test="nickname != null">#{nickname},</if>
<if test="realName != null">#{realName},</if>
<if test="sex != null">#{sex},</if>
<if test="sexDesc != null">#{sexDesc},</if>
<if test="followStatus != null">#{followStatus},</if>
<if test="subscribe != null">#{subscribe},</if>
<if test="city != null">#{city},</if>
<if test="province != null">#{province},</if>
<if test="country != null">#{country},</if>
<if test="language != null">#{language},</if>
<if test="headImgUrl != null">#{headImgUrl},</if>
<if test="subscribeTime != null">#{subscribeTime},</if>
<if test="unionid != null">#{unionid},</if>
<if test="remark != null">#{remark},</if>
<if test="groupId != null">#{groupId},</if>
<if test="tagIds != null">#{tagIds},</if>
<if test="subscribeScene != null">#{subscribeScene},</if>
<if test="qrScene != null">#{qrScene},</if>
<if test="qrSceneStr != null">#{qrSceneStr},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deleted != null">#{deleted},</if>
</trim>
</insert>
<update id="updateWechatMember" parameterType="WechatMember">
update bend_wechat_member
<trim prefix="SET" suffixOverrides=",">
<if test="memberId != null">member_id = #{memberId},</if>
<if test="mobilePhone != null">mobile_phone = #{mobilePhone},</if>
<if test="appId != null">app_id = #{appId},</if>
<if test="openId != null">open_id = #{openId},</if>
<if test="nickname != null">nickname = #{nickname},</if>
<if test="realName != null">real_name = #{realName},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="sexDesc != null">sex_desc = #{sexDesc},</if>
<if test="followStatus != null">follow_status = #{followStatus},</if>
<if test="subscribe != null">subscribe = #{subscribe},</if>
<if test="city != null">city = #{city},</if>
<if test="province != null">province = #{province},</if>
<if test="country != null">country = #{country},</if>
<if test="language != null">language = #{language},</if>
<if test="headImgUrl != null">head_img_url = #{headImgUrl},</if>
<if test="subscribeTime != null">subscribe_time = #{subscribeTime},</if>
<if test="unionid != null">unionid = #{unionid},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="groupId != null">group_id = #{groupId},</if>
<if test="tagIds != null">tag_ids = #{tagIds},</if>
<if test="subscribeScene != null">subscribe_scene = #{subscribeScene},</if>
<if test="qrScene != null">qr_scene = #{qrScene},</if>
<if test="qrSceneStr != null">qr_scene_str = #{qrSceneStr},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="deleted != null">deleted = #{deleted},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteWechatMemberById" parameterType="Long">
delete from bend_wechat_member where id = #{id}
</delete>
<delete id="deleteWechatMemberByIds" parameterType="String">
delete from bend_wechat_member where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增协议管理')" />
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-agreement-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">协议标题:</label>
<div class="col-sm-8">
<input name="agreementTitle" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">协议类型:</label>
<div class="col-sm-8">
<select name="agreementType" class="form-control m-b" th:with="type=${@dict.getType('biz_agreement_type')}" required>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8">
<select name="status" class="form-control m-b" th:with="type=${@dict.getType('sys_normal_disable')}" required>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">协议内容:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" name="agreementContent">
<div class="summernote" id="agreementContent"></div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "bend/agreement"
$("#form-agreement-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-agreement-add').serialize());
}
}
$(function() {
$('.summernote').summernote({
placeholder: '请输入协议内容',
height : 192,
lang: 'zh-CN',
followingToolbar: false,
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('协议管理列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>协议标题:</label>
<input type="text" name="agreementTitle"/>
</li>
<li>
<label>协议类型:</label>
<select name="agreementType" th:with="type=${@dict.getType('biz_agreement_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>状态:</label>
<select name="status" th:with="type=${@dict.getType('sys_normal_disable')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="bend:agreement:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.editFull()" shiro:hasPermission="bend:agreement:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:agreement:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:agreement:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:agreement:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:agreement:remove')}]];
var agreementTypeDatas = [[${@dict.getType('biz_agreement_type')}]];
var statusDatas = [[${@dict.getType('sys_normal_disable')}]];
var prefix = ctx + "bend/agreement";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "协议管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'agreementTitle',
title: '协议标题'
},
{
field: 'agreementType',
title: '协议类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(agreementTypeDatas, value);
}
},
{
field: 'status',
title: '状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(statusDatas, value);
}
},
{
field: 'createBy',
title: '创建者'
},
{
field: 'createTime',
title: '创建时间'
},
{
field: 'updateTime',
title: '更新时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editFull(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改协议管理')" />
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-agreement-edit" th:object="${agreement}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">协议标题:</label>
<div class="col-sm-8">
<input name="agreementTitle" th:field="*{agreementTitle}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">协议类型:</label>
<div class="col-sm-8">
<select name="agreementType" class="form-control m-b" th:with="type=${@dict.getType('biz_agreement_type')}" required>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{agreementType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">状态:</label>
<div class="col-sm-8">
<select name="status" class="form-control m-b" th:with="type=${@dict.getType('sys_normal_disable')}" required>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{status}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">协议内容:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" th:field="*{agreementContent}">
<div class="summernote" id="agreementContent"></div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "bend/agreement";
$("#form-agreement-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-agreement-edit').serialize());
}
}
$(function() {
$('.summernote').each(function(i) {
$('#' + this.id).summernote({
placeholder: '请输入协议内容',
height : 192,
lang: 'zh-CN',
followingToolbar: false,
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
var content = $("input[name='" + this.id + "']").val();
$('#' + this.id).summernote('code', content);
})
});
</script>
</body>
</html>

View File

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增内容管理')" />
<th:block th:include="include :: bootstrap-fileinput-css"/>
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-article-add">
<div class="form-group">
<label class="col-sm-2 control-label is-required">文章标题:</label>
<div class="col-sm-6">
<input name="title" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">副标题:</label>
<div class="col-sm-6">
<input name="subTitle" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">微信公众号:</label>
<div class="col-sm-2">
<input name="wechatAccount" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">署名名称:</label>
<div class="col-sm-2">
<input name="signatureName" class="form-control" type="text" required placeholder="医生名称或医院名称">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章类型:</label>
<div class="col-sm-2">
<select name="articleType" class="form-control m-b" th:with="type=${@dict.getType('biz_article_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章类别:</label>
<div class="col-sm-2">
<select name="articleClassify" class="form-control m-b" th:with="type=${@dict.getType('biz_article_classify')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章分类:</label>
<div class="col-sm-2">
<select name="articleCategory" class="form-control m-b" th:with="type=${@dict.getType('biz_article_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">排序号:</label>
<div class="col-sm-2">
<input name="sortNo" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章封面:</label>
<div class="col-sm-4">
<input type="hidden" name="articleCover">
<div class="file-loading">
<input class="form-control file-upload" id="articleCover" name="file" type="file">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章内容:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" name="content">
<div class="summernote" id="content"></div>
</div>
</div>
</form>
</div>
<div class="row">
<div class="col-sm-offset-5 col-sm-10">
<button type="button" class="btn btn-sm btn-info" onclick="submitHandler(0)"><i class="fa fa-trash-o fa-fw"></i>保 存</button>&nbsp;
<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler(1)"><i class="fa fa-check"></i>发 布</button>&nbsp;
<button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "bend/article"
$("#form-article-add").validate({
focusCleanup: true
});
function submitHandler(status) {
if ($.validate.form()) {
var data = $('#form-article-add').serializeArray();
/*文章状态,草稿或正常*/
if (status === 0){
data.push({"name": "articleStatus", "value": status});
} else {
data.push({"name": "articleStatus", "value": status});
}
$.operate.save(prefix + "/add", data);
//$.operate.save(prefix + "/add", $('#form-article-add').serialize());
}
}
$(".file-upload").fileinput({
uploadUrl: '/common/upload',
maxFileCount: 1,
autoReplace: true
}).on('fileuploaded', function (event, data, previewId, index) {
$("input[name='" + event.currentTarget.id + "']").val(data.response.url)
}).on('fileremoved', function (event, id, index) {
$("input[name='" + event.currentTarget.id + "']").val('')
})
$(function() {
$('.summernote').summernote({
placeholder: '请输入文章内容',
height : 256,
lang : 'zh-CN',
followingToolbar: false,
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,252 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('内容管理列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>文章标题:</label>
<input type="text" name="title"/>
</li>
<li>
<label>文章类型:</label>
<select name="articleType" th:with="type=${@dict.getType('biz_article_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>文章类别:</label>
<select name="articleClassify" th:with="type=${@dict.getType('biz_article_classify')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>文章分类:</label>
<select name="articleCategory" th:with="type=${@dict.getType('biz_article_category')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>文章状态:</label>
<select name="articleStatus" th:with="type=${@dict.getType('biz_article_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>审核状态:</label>
<select name="approveStatus" th:with="type=${@dict.getType('biz_approve_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>发布时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginReleaseTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endReleaseTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="bend:article:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="bend:article:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:article:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-info" onclick="draftArticle()" shiro:hasPermission="bend:article:draft">
<i class="fa fa-trash-o fa-fw"></i> 草稿
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:article:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table" style="width: 2000px;"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:article:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:article:remove')}]];
var articleTypeDatas = [[${@dict.getType('biz_article_type')}]];
var articleClassifyDatas = [[${@dict.getType('biz_article_classify')}]];
var articleCategoryDatas = [[${@dict.getType('biz_article_category')}]];
var articleStatusDatas = [[${@dict.getType('biz_article_status')}]];
var approveStatusDatas = [[${@dict.getType('biz_approve_status')}]];
var prefix = ctx + "bend/article";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "内容管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'title',
title: '文章标题',
align: "center",
formatter: function (value, row, index) {
return $.table.tooltip(value, 10, "open");
}
},
{
field: 'subTitle',
title: '副标题',
align: "center",
formatter: function (value, row, index) {
return $.table.tooltip(value, 10, "open");
}
},
{
field: 'articleCover',
title: '文章封面',
align: "center",
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{
field: 'pvCount',
title: '浏览量',
align: "center"
},
{
field: 'commentCount',
title: '评论数',
align: "center"
},
{
field: 'quoteCount',
title: '转载量',
align: "center"
},
{
field: 'wechatAccount',
title: '微信公众号',
align: "center",
formatter: function (value, row, index) {
return $.table.tooltip(value, 10, "open");
}
},
{
field: 'signatureName',
title: '署名名称',
align: "center",
formatter: function (value, row, index) {
return $.table.tooltip(value, 10, "open");
}
},
{
field: 'articleType',
title: '文章类型',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleTypeDatas, value);
}
},
{
field: 'articleClassify',
title: '文章类别',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleClassifyDatas, value);
}
},
{
field: 'articleCategory',
title: '文章分类',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleCategoryDatas, value);
}
},
{
field: 'articleStatus',
title: '文章状态',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleStatusDatas, value);
}
},
{
field: 'approveStatus',
title: '审核状态',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(approveStatusDatas, value);
}
},
{
field: 'sortNo',
title: '排序号',
align: "center"
},
{
field: 'createBy',
title: '操作员',
align: "center"
},
{
field: 'releaseTime',
title: '发布时间',
align: "center"
},
{
field: 'createTime',
title: '创建时间',
align: "center"
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
/* 草稿箱 */
function draftArticle() {
var url = prefix + '/draft?articleStatus=0';
$.modal.openTab("草稿箱", url);
}
</script>
</body>
</html>

View File

@ -0,0 +1,205 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('草稿内容')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<input name="articleStatus" th:value="${articleStatus}" type="hidden">
<div class="select-list">
<ul>
<li>
<label>文章标题:</label>
<input type="text" name="title"/>
</li>
<li>
<label>文章类型:</label>
<select name="articleType" th:with="type=${@dict.getType('biz_article_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>文章类别:</label>
<select name="articleClassify" th:with="type=${@dict.getType('biz_article_classify')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>文章分类:</label>
<select name="articleCategory" th:with="type=${@dict.getType('biz_article_category')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:article:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-danger" onclick="$.operate.clean()" shiro:hasPermission="bend:article:remove">
<i class="fa fa-trash"></i> 清空
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:article:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table" style="width: 2000px"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:article:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:article:remove')}]];
var articleTypeDatas = [[${@dict.getType('biz_article_type')}]];
var articleClassifyDatas = [[${@dict.getType('biz_article_classify')}]];
var articleCategoryDatas = [[${@dict.getType('biz_article_category')}]];
var articleStatusDatas = [[${@dict.getType('biz_article_status')}]];
var prefix = ctx + "bend/article";
$(function() {
var options = {
url: prefix + "/draft/list",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "内容管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'title',
title: '文章标题',
align: "center",
formatter: function (value, row, index) {
return $.table.tooltip(value, 10, "open");
}
},
{
field: 'subTitle',
title: '副标题',
align: "center",
formatter: function (value, row, index) {
return $.table.tooltip(value, 10, "open");
}
},
{
field: 'articleCover',
title: '文章封面',
align: "center",
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{
field: 'wechatAccount',
title: '微信公众号',
align: "center",
},
{
field: 'signatureName',
title: '署名名称',
align: "center"
},
{
field: 'articleType',
title: '文章类型',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleTypeDatas, value);
}
},
{
field: 'articleClassify',
title: '文章类别',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleClassifyDatas, value);
}
},
{
field: 'articleCategory',
title: '文章分类',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleCategoryDatas, value);
}
},
{
field: 'articleStatus',
title: '文章状态',
align: "center",
formatter: function(value, row, index) {
return $.table.selectDictLabel(articleStatusDatas, value);
}
},
{
field: 'pvCount',
title: '浏览量',
align: "center"
},
{
field: 'commentCount',
title: '评论数',
align: "center"
},
{
field: 'quoteCount',
title: '转载量',
align: "center"
},
{
field: 'sortNo',
title: '排序号',
align: "center"
},
{
field: 'createBy',
title: '操作员',
align: "center"
},
{
field: 'releaseTime',
title: '发布时间',
align: "center"
},
{
field: 'createTime',
title: '创建时间',
align: "center"
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改内容管理')" />
<th:block th:include="include :: bootstrap-fileinput-css"/>
<th:block th:include="include :: summernote-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-article-edit" th:object="${article}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-2 control-label is-required">文章标题:</label>
<div class="col-sm-6">
<input name="title" th:field="*{title}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">副标题:</label>
<div class="col-sm-6">
<input name="subTitle" th:field="*{subTitle}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">微信公众号:</label>
<div class="col-sm-2">
<input name="wechatAccount" th:field="*{wechatAccount}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">署名名称:</label>
<div class="col-sm-2">
<input name="signatureName" th:field="*{signatureName}" class="form-control" type="text" required placeholder="医生名称或医院名称">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章类型:</label>
<div class="col-sm-2">
<select name="articleType" class="form-control m-b" th:with="type=${@dict.getType('biz_article_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{articleType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章类别:</label>
<div class="col-sm-2">
<select name="articleClassify" class="form-control m-b" th:with="type=${@dict.getType('biz_article_classify')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{articleClassify}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章分类:</label>
<div class="col-sm-2">
<select name="articleCategory" class="form-control m-b" th:with="type=${@dict.getType('biz_article_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{articleCategory}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">排序号:</label>
<div class="col-sm-2">
<input name="sortNo" th:field="*{sortNo}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章封面:</label>
<div class="col-sm-4">
<input type="hidden" name="articleCover" th:field="*{articleCover}">
<div class="file-loading">
<input class="form-control file-upload" id="articleCover" name="file" type="file">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">文章内容:</label>
<div class="col-sm-8">
<input type="hidden" class="form-control" th:field="*{content}">
<div class="summernote" id="content"></div>
</div>
</div>
</form>
</div>
<div class="row">
<div class="col-sm-offset-5 col-sm-10">
<button type="button" class="btn btn-sm btn-info" onclick="submitHandler(0)"><i class="fa fa-trash-o fa-fw"></i>保 存</button>&nbsp;
<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler(1)"><i class="fa fa-check"></i>发 布</button>&nbsp;
<button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: summernote-js" />
<script th:inline="javascript">
var prefix = ctx + "bend/article";
$("#form-article-edit").validate({
focusCleanup: true
});
function submitHandler(status) {
if ($.validate.form()) {
var data = $('#form-article-add').serializeArray();
/*文章状态,草稿或正常*/
if (status === 0){
data.push({"name": "articleStatus", "value": status});
} else {
data.push({"name": "articleStatus", "value": status});
}
$.operate.save(prefix + "/add", data);
//$.operate.save(prefix + "/edit", $('#form-article-edit').serialize());
}
}
$(".file-upload").each(function (i) {
var val = $("input[name='" + this.id + "']").val()
$(this).fileinput({
'uploadUrl': '/common/upload',
initialPreviewAsData: true,
initialPreview: [val],
maxFileCount: 1,
autoReplace: true
}).on('fileuploaded', function (event, data, previewId, index) {
$("input[name='" + event.currentTarget.id + "']").val(data.response.url)
}).on('fileremoved', function (event, id, index) {
$("input[name='" + event.currentTarget.id + "']").val('')
})
$(this).fileinput('_initFileActions');
});
$(function() {
$('.summernote').each(function(i) {
$('#' + this.id).summernote({
placeholder: '请输入文章内容',
height : 256,
lang : 'zh-CN',
followingToolbar: false,
callbacks: {
onChange: function(contents, $edittable) {
$("input[name='" + this.id + "']").val(contents);
},
onImageUpload: function(files) {
var obj = this;
var data = new FormData();
data.append("file", files[0]);
$.ajax({
type: "post",
url: ctx + "common/upload",
data: data,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function(result) {
if (result.code == web_status.SUCCESS) {
$('#' + obj.id).summernote('insertImage', result.url);
} else {
$.modal.alertError(result.msg);
}
},
error: function(error) {
$.modal.alertWarning("图片上传失败。");
}
});
}
}
});
var content = $("input[name='" + this.id + "']").val();
$('#' + this.id).summernote('code', content);
})
});
</script>
</body>
</html>

View File

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增首页管理')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-banner-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">广告标题:</label>
<div class="col-sm-8">
<input name="adTitle" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">图片地址:</label>
<div class="col-sm-8">
<input name="adUrl" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">活动详情:</label>
<div class="col-sm-8">
<input name="adDetailUrl" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">广告类型:</label>
<div class="col-sm-8">
<select name="adType" class="form-control m-b" th:with="type=${@dict.getType('biz_ad_type')}" required>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/banner"
$("#form-banner-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-banner-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,109 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('首页管理列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>广告类型:</label>
<select name="adType" th:with="type=${@dict.getType('biz_ad_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="bend:banner:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="bend:banner:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:banner:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:banner:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:banner:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:banner:remove')}]];
var adTypeDatas = [[${@dict.getType('biz_ad_type')}]];
var prefix = ctx + "bend/banner";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "首页管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'adTitle',
title: '广告标题'
},
{
field: 'adUrl',
title: '图片地址'
},
{
field: 'adDetailUrl',
title: '活动详情'
},
{
field: 'adType',
title: '广告类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(adTypeDatas, value);
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改首页管理')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-banner-edit" th:object="${banner}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">广告标题:</label>
<div class="col-sm-8">
<input name="adTitle" th:field="*{adTitle}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">图片地址:</label>
<div class="col-sm-8">
<input name="adUrl" th:field="*{adUrl}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">活动详情:</label>
<div class="col-sm-8">
<input name="adDetailUrl" th:field="*{adDetailUrl}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">广告类型:</label>
<div class="col-sm-8">
<select name="adType" class="form-control m-b" th:with="type=${@dict.getType('biz_ad_type')}" required>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{adType}"></option>
</select>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/banner";
$("#form-banner-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-banner-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增会员列表')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-member-add">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/member"
$("#form-member-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-member-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改会员列表')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-member-edit" th:object="${member}">
<input name="id" th:field="*{id}" type="hidden">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/member";
$("#form-member-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-member-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('会员列表列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>手机号:</label>
<input type="text" name="mobilePhone"/>
</li>
<li>
<label>真实姓名:</label>
<input type="text" name="realName"/>
</li>
<li>
<label>身份证号:</label>
<input type="text" name="idCardNo"/>
</li>
<li>
<label>用户状态:</label>
<select name="memberStatus" th:with="type=${@dict.getType('biz_member_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>会员类型:</label>
<select name="memberType" th:with="type=${@dict.getType('biz_member_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>创建时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="bend:member:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="bend:member:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:member:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:member:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:member:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:member:remove')}]];
var memberStatusDatas = [[${@dict.getType('biz_member_status')}]];
var memberTypeDatas = [[${@dict.getType('biz_member_type')}]];
var prefix = ctx + "bend/member";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "会员列表",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'mobilePhone',
title: '手机号'
},
{
field: 'realName',
title: '真实姓名'
},
{
field: 'idCardNo',
title: '身份证号'
},
{
field: 'memberStatus',
title: '用户状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(memberStatusDatas, value);
}
},
{
field: 'memberType',
title: '会员类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(memberTypeDatas, value);
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增短信管理')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-messageCode-add">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/messageCode"
$("#form-messageCode-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-messageCode-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改短信管理')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-messageCode-edit" th:object="${messageCode}">
<input name="id" th:field="*{id}" type="hidden">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/messageCode";
$("#form-messageCode-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-messageCode-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,131 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('短信管理列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>手机号:</label>
<input type="text" name="mobilePhone"/>
</li>
<li>
<label>状态:</label>
<select name="smsStatus" th:with="type=${@dict.getType('biz_sms_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>创建时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="bend:messageCode:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="bend:messageCode:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:messageCode:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:messageCode:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:messageCode:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:messageCode:remove')}]];
var smsStatusDatas = [[${@dict.getType('biz_sms_status')}]];
var prefix = ctx + "bend/messageCode";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "短信管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'mobilePhone',
title: '手机号'
},
{
field: 'signName',
title: '短信签名'
},
{
field: 'smsCode',
title: '验证码'
},
{
field: 'messageText',
title: '短信内容'
},
{
field: 'templateCode',
title: '模板编号'
},
{
field: 'templateParam',
title: '模板参数'
},
{
field: 'smsStatus',
title: '状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(smsStatusDatas, value);
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增就诊人列表')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-patientList-add">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/patientList"
$("#form-patientList-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-patientList-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改就诊人列表')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-patientList-edit" th:object="${patientList}">
<input name="id" th:field="*{id}" type="hidden">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/patientList";
$("#form-patientList-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-patientList-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,159 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('就诊人列表列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>真实姓名:</label>
<input type="text" name="realName"/>
</li>
<li>
<label>身份证号:</label>
<input type="text" name="idCardNo"/>
</li>
<li>
<label>手机号:</label>
<input type="text" name="mobilePhone"/>
</li>
<li>
<label>绑定状态:</label>
<select name="bindStatus" th:with="type=${@dict.getType('biz_bind_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>创建时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="bend:patientList:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="bend:patientList:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:patientList:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:patientList:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:patientList:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:patientList:remove')}]];
var defaultPatientDatas = [[${@dict.getType('biz_default_patient')}]];
var relationShipDatas = [[${@dict.getType('biz_relation_ship')}]];
var familyRelationshipDatas = [[${@dict.getType('biz_family_ship')}]];
var sexDatas = [[${@dict.getType('sys_user_sex')}]];
var bindStatusDatas = [[${@dict.getType('biz_bind_status')}]];
var prefix = ctx + "bend/patientList";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "就诊人列表",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'realName',
title: '真实姓名'
},
{
field: 'idCardNo',
title: '身份证号'
},
{
field: 'mobilePhone',
title: '手机号'
},
{
field: 'defaultPatient',
title: '是否默认',
formatter: function(value, row, index) {
return $.table.selectDictLabel(defaultPatientDatas, value);
}
},
{
field: 'relationShip',
title: '就诊人关系',
formatter: function(value, row, index) {
return $.table.selectDictLabel(relationShipDatas, value);
}
},
{
field: 'familyRelationship',
title: '家庭关系',
formatter: function(value, row, index) {
return $.table.selectDictLabel(familyRelationshipDatas, value);
}
},
{
field: 'sex',
title: '性别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(sexDatas, value);
}
},
{
field: 'bindStatus',
title: '绑定状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(bindStatusDatas, value);
}
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增微信用户')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-wechatMember-add">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/wechatMember"
$("#form-wechatMember-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-wechatMember-add').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改微信用户')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-wechatMember-edit" th:object="${wechatMember}">
<input name="id" th:field="*{id}" type="hidden">
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "bend/wechatMember";
$("#form-wechatMember-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-wechatMember-edit').serialize());
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,153 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('微信用户列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>手机号:</label>
<input type="text" name="mobilePhone"/>
</li>
<li>
<label>真实姓名:</label>
<input type="text" name="realName"/>
</li>
<li class="select-time">
<label>创建时间:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="bend:wechatMember:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="bend:wechatMember:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="bend:wechatMember:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="bend:wechatMember:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('bend:wechatMember:edit')}]];
var removeFlag = [[${@permission.hasPermi('bend:wechatMember:remove')}]];
var sexDatas = [[${@dict.getType('sys_user_sex')}]];
var followStatusDatas = [[${@dict.getType('wx_follow_status')}]];
var subscribeDatas = [[${@dict.getType('wx_subscribe_status')}]];
var prefix = ctx + "bend/wechatMember";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "微信用户",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键ID',
visible: false
},
{
field: 'mobilePhone',
title: '手机号'
},
{
field: 'appId',
title: 'AppId'
},
{
field: 'openId',
title: 'OpenId'
},
{
field: 'nickname',
title: '微信昵称'
},
{
field: 'realName',
title: '真实姓名'
},
{
field: 'sexDesc',
title: '性别描述'
},
{
field: 'followStatus',
title: '关注状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(followStatusDatas, value);
}
},
{
field: 'subscribe',
title: '订阅标识',
formatter: function(value, row, index) {
return $.table.selectDictLabel(subscribeDatas, value);
}
},
{
field: 'city',
title: '所在城市'
},
{
field: 'province',
title: '所在省份'
},
{
field: 'headImgUrl',
title: '用户头像'
},
{
field: 'subscribeTime',
title: '关注时间'
},
{
field: 'createTime',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>