From 29e91842549f06d9192283acc53b02246552f596 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Fri, 30 Jul 2021 00:06:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=A1=86=E5=8A=9F=E8=83=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login/base/consts/IUserCenterConst.java | 4 + .../api/config/ConfigController.java | 2 +- .../api/login/LoginFormController.java | 124 ++++ .../route/OAuthRouteController.java | 14 +- .../route/login/LoginFormRouteController.java | 37 ++ .../login/base/dao/login/ILoginFormDao.java | 77 +++ .../base/pojo/dtos/login/LoginFormDTO.java | 114 ++++ .../base/pojo/vos/{ => config}/ConfigVO.java | 13 +- .../base/pojo/vos/login/LoginFormVO.java | 136 +++++ .../base/service/config/IConfigService.java | 2 +- .../config/impl/ConfigServiceImpl.java | 2 +- .../base/service/login/ILoginFormService.java | 95 +++ .../login/impl/LoginFormServiceImpl.java | 123 ++++ .../mapper/login/login-form-mapper.xml | 185 ++++++ .../resources/templates/config/update.html | 11 +- .../resources/templates/default-main.html | 1 - .../templates/{login2.html => login-old.html} | 0 .../src/main/resources/templates/login.html | 23 +- .../resources/templates/login/form/list.html | 281 +++++++++ .../resources/templates/login/form/save.html | 514 +++++++++++++++++ .../templates/login/form/update.html | 542 ++++++++++++++++++ 21 files changed, 2262 insertions(+), 38 deletions(-) create mode 100644 login-base/src/main/java/ink/wgink/login/base/controller/api/login/LoginFormController.java create mode 100644 login-base/src/main/java/ink/wgink/login/base/controller/route/login/LoginFormRouteController.java create mode 100644 login-base/src/main/java/ink/wgink/login/base/dao/login/ILoginFormDao.java create mode 100644 login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java rename login-base/src/main/java/ink/wgink/login/base/pojo/vos/{ => config}/ConfigVO.java (95%) create mode 100644 login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java create mode 100644 login-base/src/main/java/ink/wgink/login/base/service/login/ILoginFormService.java create mode 100644 login-base/src/main/java/ink/wgink/login/base/service/login/impl/LoginFormServiceImpl.java create mode 100644 login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml rename login-base/src/main/resources/templates/{login2.html => login-old.html} (100%) create mode 100644 login-base/src/main/resources/templates/login/form/list.html create mode 100644 login-base/src/main/resources/templates/login/form/save.html create mode 100644 login-base/src/main/resources/templates/login/form/update.html diff --git a/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java b/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java index da6f6768..d6323057 100644 --- a/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java +++ b/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java @@ -81,6 +81,10 @@ public interface IUserCenterConst { * 登录框位置 */ String LOGIN_BOX_POSITION = "loginBoxPosition"; + /** + * 登录表单action + */ + String LOGIN_FORM_ACTION = "loginFormAction"; /** * 菜单模式 */ diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/api/config/ConfigController.java b/login-base/src/main/java/ink/wgink/login/base/controller/api/config/ConfigController.java index 33d70271..b0959bb9 100644 --- a/login-base/src/main/java/ink/wgink/login/base/controller/api/config/ConfigController.java +++ b/login-base/src/main/java/ink/wgink/login/base/controller/api/config/ConfigController.java @@ -4,7 +4,7 @@ import ink.wgink.annotation.CheckRequestBodyAnnotation; import ink.wgink.exceptions.ParamsException; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.login.base.consts.IUserCenterConst; -import ink.wgink.login.base.pojo.vos.ConfigVO; +import ink.wgink.login.base.pojo.vos.config.ConfigVO; import ink.wgink.login.base.service.config.IConfigService; import ink.wgink.pojo.result.ErrorResult; import ink.wgink.pojo.result.SuccessResult; diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/api/login/LoginFormController.java b/login-base/src/main/java/ink/wgink/login/base/controller/api/login/LoginFormController.java new file mode 100644 index 00000000..28a06f29 --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/controller/api/login/LoginFormController.java @@ -0,0 +1,124 @@ +package ink.wgink.login.base.controller.api.login; + +import ink.wgink.annotation.CheckRequestBodyAnnotation; +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.login.base.pojo.dtos.login.LoginFormDTO; +import ink.wgink.login.base.pojo.vos.login.LoginFormVO; +import ink.wgink.login.base.service.login.ILoginFormService; +import ink.wgink.pojo.ListPage; +import ink.wgink.pojo.result.ErrorResult; +import ink.wgink.pojo.result.SuccessResult; +import ink.wgink.pojo.result.SuccessResultList; +import io.swagger.annotations.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * @ClassName: LoginFormController + * @Description: 登录表单 + * @Author: wanggeng + * @Date: 2021/7/29 4:06 下午 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "登录表单") +@RestController +@RequestMapping(ISystemConstant.API_PREFIX + "/login-form") +public class LoginFormController extends DefaultBaseController { + + @Autowired + private ILoginFormService loginFormService; + + @ApiOperation(value = "新增登录Form", notes = "新增登录Form接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("save") + @CheckRequestBodyAnnotation + public SuccessResult save(@RequestBody LoginFormVO loginFormVO) { + loginFormService.save(loginFormVO); + return new SuccessResult(); + } + + @ApiOperation(value = "删除登录Form", notes = "删除登录Form接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "登录FormID列表,用下划线分隔", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @DeleteMapping("remove/{ids}") + public SuccessResult remove(@PathVariable("ids") String ids) { + loginFormService.remove(Arrays.asList(ids.split("\\_"))); + return new SuccessResult(); + } + + @ApiOperation(value = "修改登录Form", notes = "修改登录Form接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "loginFormId", value = "登录FormID", paramType = "path"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PutMapping("update/{loginFormId}") + @CheckRequestBodyAnnotation + public SuccessResult update(@PathVariable("loginFormId") String loginFormId, @RequestBody LoginFormVO loginFormVO) { + loginFormService.update(loginFormId, loginFormVO); + return new SuccessResult(); + } + + @ApiOperation(value = "激活登录Form", notes = "激活登录Form接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "loginFormId", value = "登录FormID", paramType = "path"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PutMapping("update-active/{loginFormId}") + public SuccessResult updateActive(@PathVariable("loginFormId") String loginFormId) { + loginFormService.updateActive(loginFormId); + return new SuccessResult(); + } + + @ApiOperation(value = "取消激活登录Form", notes = "取消激活登录Form接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "loginFormId", value = "登录FormID", paramType = "path"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PutMapping("update-un-active/{loginFormId}") + public SuccessResult updateUnActive(@PathVariable("loginFormId") String loginFormId) { + loginFormService.updateUnActive(loginFormId); + return new SuccessResult(); + } + + @ApiOperation(value = "登录Form列表", notes = "登录Form列表接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list") + public List list() { + Map params = requestParams(); + return loginFormService.list(params); + } + + @ApiOperation(value = "登录Form分页列表", notes = "登录Form分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), + @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage") + public SuccessResultList> listPage(ListPage page) { + Map params = requestParams(); + page.setParams(params); + return loginFormService.listPage(page); + } + + @ApiOperation(value = "登录Form详情", notes = "登录Form详情接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "loginFormId", value = "登录FormID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("get/{loginFormId}") + public LoginFormDTO getUser(@PathVariable("loginFormId") String loginFormId) { + return loginFormService.get(loginFormId); + } + +} diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java b/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java index 88cdc254..965a3dcd 100644 --- a/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java +++ b/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java @@ -3,6 +3,8 @@ package ink.wgink.login.base.controller.route; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.login.base.consts.IUserCenterConst; import ink.wgink.login.base.manager.ConfigManager; +import ink.wgink.login.base.service.login.ILoginFormService; +import ink.wgink.properties.BaseProperties; import ink.wgink.properties.ServerProperties; import ink.wgink.util.verification.code.Captcha; import ink.wgink.util.verification.code.GifCaptcha; @@ -22,7 +24,6 @@ import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.HashMap; import java.util.Map; -import java.util.Objects; /** * When you feel like quitting. Think about why you started @@ -40,6 +41,10 @@ public class OAuthRouteController { @Autowired private ServerProperties serverProperties; + @Autowired + private BaseProperties baseProperties; + @Autowired + private ILoginFormService loginFormService; /** * 登录 @@ -52,7 +57,6 @@ public class OAuthRouteController { Map config = ConfigManager.getInstance().getConfig(); Map pageParams = new HashMap<>(16); - pageParams.put(IUserCenterConst.SERVER_URL, serverProperties.getUrl()); pageParams.put(IUserCenterConst.ERROR_MESSAGE, request.getSession().getAttribute(IUserCenterConst.ERROR_MESSAGE)); // 服务地址 pageParams.put(IUserCenterConst.SERVER_URL, serverProperties.getUrl()); @@ -63,7 +67,7 @@ public class OAuthRouteController { // 系统标题 pageParams.put(IUserCenterConst.SYSTEM_TITLE, config.get(IUserCenterConst.SYSTEM_TITLE).toString()); // 系统标题大小,默认26 - pageParams.put(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE, Integer.parseInt(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE).toString())); + pageParams.put(IUserCenterConst.SYSTEM_TITLE_SIZE, Integer.parseInt(config.get(IUserCenterConst.SYSTEM_TITLE_SIZE).toString())); // 系统子标题 pageParams.put(IUserCenterConst.SYSTEM_SUB_TITLE, config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString()); // 系统子标题大小,默认16 @@ -78,8 +82,10 @@ public class OAuthRouteController { pageParams.put(ISystemConstant.VERIFICATION_CODE, config.get(ISystemConstant.VERIFICATION_CODE).toString()); // 登录框位置 pageParams.put(IUserCenterConst.LOGIN_BOX_POSITION, config.get(IUserCenterConst.LOGIN_BOX_POSITION).toString()); + // 登录表单action + pageParams.put(IUserCenterConst.LOGIN_FORM_ACTION, baseProperties.getLoginProcess().startsWith("/") ? baseProperties.getLoginProcess().substring(1) : baseProperties.getLoginProcess()); mv.addObject("pageParams", pageParams); - mv.addObject("customLoginForm", "
"); + mv.addObject("customLoginForm", loginFormService.getActive()); mv.setViewName("login"); return mv; } diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/route/login/LoginFormRouteController.java b/login-base/src/main/java/ink/wgink/login/base/controller/route/login/LoginFormRouteController.java new file mode 100644 index 00000000..100fbaa5 --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/controller/route/login/LoginFormRouteController.java @@ -0,0 +1,37 @@ +package ink.wgink.login.base.controller.route.login; + +import ink.wgink.interfaces.consts.ISystemConstant; +import io.swagger.annotations.Api; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +/** + * @ClassName: LoginFormRouteController + * @Description: 登录form + * @Author: wanggeng + * @Date: 2021/7/29 4:25 下午 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "登录form") +@Controller +@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/login-form") +public class LoginFormRouteController { + + @GetMapping("save") + public ModelAndView save() { + return new ModelAndView("login/form/save"); + } + + @GetMapping("update") + public ModelAndView update() { + return new ModelAndView("login/form/update"); + } + + @GetMapping("list") + public ModelAndView list() { + return new ModelAndView("login/form/list"); + } + +} diff --git a/login-base/src/main/java/ink/wgink/login/base/dao/login/ILoginFormDao.java b/login-base/src/main/java/ink/wgink/login/base/dao/login/ILoginFormDao.java new file mode 100644 index 00000000..b2f6435b --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/dao/login/ILoginFormDao.java @@ -0,0 +1,77 @@ +package ink.wgink.login.base.dao.login; + +import ink.wgink.exceptions.RemoveException; +import ink.wgink.exceptions.SaveException; +import ink.wgink.exceptions.SearchException; +import ink.wgink.exceptions.UpdateException; +import ink.wgink.interfaces.init.IInitBaseTable; +import ink.wgink.login.base.pojo.dtos.login.LoginFormDTO; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: ILoginFormDao + * @Description: 登录form表单 + * @Author: wanggeng + * @Date: 2021/2/28 10:50 上午 + * @Version: 1.0 + */ +@Repository +public interface ILoginFormDao extends IInitBaseTable { + + /** + * 保存登录form表单 + * + * @param params + * @throws SaveException + */ + void save(Map params) throws SaveException; + + /** + * 删除登录form表单 + * + * @param params + * @throws RemoveException + */ + void remove(Map params) throws RemoveException; + + /** + * 更新登录form表单 + * + * @param params + * @throws UpdateException + */ + void update(Map params) throws UpdateException; + + /** + * 修改激活状态 + * + * @param params + * @throws UpdateException + */ + void updateActive(Map params) throws UpdateException; + + /** + * 登录form表单列表 + * + * @param params + * @return + * @throws SearchException + */ + List list(Map params) throws SearchException; + + /** + * 登录form表单详情 + * + * @param params + * @return + * @throws SearchException + */ + LoginFormDTO get(Map params) throws SearchException; + +} diff --git a/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java b/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java new file mode 100644 index 00000000..1994c3e6 --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/pojo/dtos/login/LoginFormDTO.java @@ -0,0 +1,114 @@ +package ink.wgink.login.base.pojo.dtos.login; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; + +/** + * @ClassName: LoginFormDTO + * @Description: 登录form表单 + * @Author: wanggeng + * @Date: 2021/7/29 3:22 下午 + * @Version: 1.0 + */ +@ApiModel +public class LoginFormDTO implements Serializable { + + private static final long serialVersionUID = 4369803953073409199L; + @ApiModelProperty(name = "loginFormId", value = "主键") + private String loginFormId; + @ApiModelProperty(name = "name", value = "名称") + private String name; + @ApiModelProperty(name = "summary", value = "说明") + private String summary; + @ApiModelProperty(name = "isActive", value = "是否激活") + private Integer isActive; + @ApiModelProperty(name = "preview", value = "预览") + private String preview; + @ApiModelProperty(name = "formHtml", value = "form代码") + private String formHtml; + @ApiModelProperty(name = "formCss", value = "form样式") + private String formCss; + @ApiModelProperty(name = "formLeftCss", value = "form左样式") + private String formLeftCss; + @ApiModelProperty(name = "formCenterCss", value = "form中样式") + private String formCenterCss; + @ApiModelProperty(name = "formRightCss", value = "form右样式") + private String formRightCss; + @ApiModelProperty(name = "gmtCreat", value = "创建时间") + private String gmtCreat; + + public String getLoginFormId() { + return loginFormId == null ? "" : loginFormId.trim(); + } + + public String getName() { + return name == null ? "" : name.trim(); + } + + public String getSummary() { + return summary == null ? "" : summary.trim(); + } + + public Integer getIsActive() { + return isActive == null ? 0 : isActive; + } + + public String getPreview() { + return preview == null ? "" : preview.trim(); + } + + public String getFormHtml() { + return formHtml == null ? "" : formHtml.trim(); + } + + public String getFormCss() { + return formCss == null ? "" : formCss.trim(); + } + + public String getFormLeftCss() { + return formLeftCss == null ? "" : formLeftCss.trim(); + } + + public String getFormCenterCss() { + return formCenterCss == null ? "" : formCenterCss.trim(); + } + + public String getFormRightCss() { + return formRightCss == null ? "" : formRightCss.trim(); + } + + public String getGmtCreat() { + return gmtCreat == null ? "" : gmtCreat.trim(); + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("{"); + sb.append("\"loginFormId\":\"") + .append(loginFormId).append('\"'); + sb.append(",\"name\":\"") + .append(name).append('\"'); + sb.append(",\"summary\":\"") + .append(summary).append('\"'); + sb.append(",\"isActive\":") + .append(isActive); + sb.append(",\"preview\":\"") + .append(preview).append('\"'); + sb.append(",\"formHtml\":\"") + .append(formHtml).append('\"'); + sb.append(",\"formCss\":\"") + .append(formCss).append('\"'); + sb.append(",\"formLeftCss\":\"") + .append(formLeftCss).append('\"'); + sb.append(",\"formCenterCss\":\"") + .append(formCenterCss).append('\"'); + sb.append(",\"formRightCss\":\"") + .append(formRightCss).append('\"'); + sb.append(",\"gmtCreat\":\"") + .append(gmtCreat).append('\"'); + sb.append('}'); + return sb.toString(); + } +} diff --git a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/config/ConfigVO.java similarity index 95% rename from login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java rename to login-base/src/main/java/ink/wgink/login/base/pojo/vos/config/ConfigVO.java index 61f6b310..2b7e9e48 100644 --- a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java +++ b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/config/ConfigVO.java @@ -1,4 +1,4 @@ -package ink.wgink.login.base.pojo.vos; +package ink.wgink.login.base.pojo.vos.config; import ink.wgink.annotation.CheckEmptyAnnotation; @@ -69,9 +69,6 @@ public class ConfigVO { @ApiModelProperty(name = "menuMode", value = "菜单模式") @CheckEmptyAnnotation(name = "菜单模式", types = {"fixedLeft", "floatLeft"}) private String menuMode; - @ApiModelProperty(name = "loginPage", value = "登录页面") - @CheckEmptyAnnotation(name = "登录页面", types = {"login", "login2"}) - private String loginPage; public String getPasswordValidity() { return passwordValidity == null ? "" : passwordValidity.trim(); @@ -232,12 +229,4 @@ public class ConfigVO { public void setMenuMode(String menuMode) { this.menuMode = menuMode; } - - public String getLoginPage() { - return loginPage == null ? "" : loginPage.trim(); - } - - public void setLoginPage(String loginPage) { - this.loginPage = loginPage; - } } diff --git a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java new file mode 100644 index 00000000..77534023 --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/login/LoginFormVO.java @@ -0,0 +1,136 @@ +package ink.wgink.login.base.pojo.vos.login; + +import ink.wgink.annotation.CheckEmptyAnnotation; +import ink.wgink.annotation.CheckNumberAnnotation; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * @ClassName: LoginFormVO + * @Description: 登录form表单 + * @Author: wanggeng + * @Date: 2021/7/29 3:47 下午 + * @Version: 1.0 + */ +@ApiModel +public class LoginFormVO { + + @ApiModelProperty(name = "name", value = "名称") + @CheckEmptyAnnotation(name = "名称") + private String name; + @ApiModelProperty(name = "summary", value = "说明") + private String summary; + @ApiModelProperty(name = "isActive", value = "是否激活") + @CheckNumberAnnotation(name = "是否激活", types = {"0", "1"}) + private Integer isActive; + @ApiModelProperty(name = "preview", value = "预览") + private String preview; + @ApiModelProperty(name = "formHtml", value = "form代码") + @CheckEmptyAnnotation(name = "form代码") + private String formHtml; + @ApiModelProperty(name = "formCss", value = "form样式") + private String formCss; + @ApiModelProperty(name = "formLeftCss", value = "form左样式") + private String formLeftCss; + @ApiModelProperty(name = "formCenterCss", value = "form中样式") + private String formCenterCss; + @ApiModelProperty(name = "formRightCss", value = "form右样式") + private String formRightCss; + + public String getName() { + return name == null ? "" : name.trim(); + } + + public void setName(String name) { + this.name = name; + } + + public String getSummary() { + return summary == null ? "" : summary.trim(); + } + + public void setSummary(String summary) { + this.summary = summary; + } + + public Integer getIsActive() { + return isActive == null ? 0 : isActive; + } + + public void setIsActive(Integer isActive) { + this.isActive = isActive; + } + + public String getPreview() { + return preview == null ? "" : preview.trim(); + } + + public void setPreview(String preview) { + this.preview = preview; + } + + public String getFormHtml() { + return formHtml == null ? "" : formHtml.trim(); + } + + public void setFormHtml(String formHtml) { + this.formHtml = formHtml; + } + + public String getFormCss() { + return formCss == null ? "" : formCss.trim(); + } + + public void setFormCss(String formCss) { + this.formCss = formCss; + } + + public String getFormLeftCss() { + return formLeftCss == null ? "" : formLeftCss.trim(); + } + + public void setFormLeftCss(String formLeftCss) { + this.formLeftCss = formLeftCss; + } + + public String getFormCenterCss() { + return formCenterCss == null ? "" : formCenterCss.trim(); + } + + public void setFormCenterCss(String formCenterCss) { + this.formCenterCss = formCenterCss; + } + + public String getFormRightCss() { + return formRightCss == null ? "" : formRightCss.trim(); + } + + public void setFormRightCss(String formRightCss) { + this.formRightCss = formRightCss; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("{"); + sb.append("\"name\":\"") + .append(name).append('\"'); + sb.append(",\"summary\":\"") + .append(summary).append('\"'); + sb.append(",\"isActive\":") + .append(isActive); + sb.append(",\"preview\":\"") + .append(preview).append('\"'); + sb.append(",\"formHtml\":\"") + .append(formHtml).append('\"'); + sb.append(",\"formCss\":\"") + .append(formCss).append('\"'); + sb.append(",\"formLeftCss\":\"") + .append(formLeftCss).append('\"'); + sb.append(",\"formCenterCss\":\"") + .append(formCenterCss).append('\"'); + sb.append(",\"formRightCss\":\"") + .append(formRightCss).append('\"'); + sb.append('}'); + return sb.toString(); + } +} diff --git a/login-base/src/main/java/ink/wgink/login/base/service/config/IConfigService.java b/login-base/src/main/java/ink/wgink/login/base/service/config/IConfigService.java index 558d56a2..6e29c636 100644 --- a/login-base/src/main/java/ink/wgink/login/base/service/config/IConfigService.java +++ b/login-base/src/main/java/ink/wgink/login/base/service/config/IConfigService.java @@ -1,7 +1,7 @@ package ink.wgink.login.base.service.config; import ink.wgink.interfaces.config.ISystemConfigCheckService; -import ink.wgink.login.base.pojo.vos.ConfigVO; +import ink.wgink.login.base.pojo.vos.config.ConfigVO; import java.util.Map; diff --git a/login-base/src/main/java/ink/wgink/login/base/service/config/impl/ConfigServiceImpl.java b/login-base/src/main/java/ink/wgink/login/base/service/config/impl/ConfigServiceImpl.java index 3f072039..d45b26a7 100644 --- a/login-base/src/main/java/ink/wgink/login/base/service/config/impl/ConfigServiceImpl.java +++ b/login-base/src/main/java/ink/wgink/login/base/service/config/impl/ConfigServiceImpl.java @@ -5,7 +5,7 @@ import ink.wgink.common.base.DefaultBaseService; import ink.wgink.login.base.dao.config.IConfigDao; import ink.wgink.login.base.manager.ConfigManager; import ink.wgink.login.base.pojo.dtos.config.ConfigDTO; -import ink.wgink.login.base.pojo.vos.ConfigVO; +import ink.wgink.login.base.pojo.vos.config.ConfigVO; import ink.wgink.login.base.service.config.IConfigService; import ink.wgink.util.map.HashMapUtil; import org.apache.commons.lang3.StringUtils; diff --git a/login-base/src/main/java/ink/wgink/login/base/service/login/ILoginFormService.java b/login-base/src/main/java/ink/wgink/login/base/service/login/ILoginFormService.java new file mode 100644 index 00000000..a1ff4784 --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/service/login/ILoginFormService.java @@ -0,0 +1,95 @@ +package ink.wgink.login.base.service.login; + +import ink.wgink.login.base.pojo.dtos.login.LoginFormDTO; +import ink.wgink.login.base.pojo.vos.login.LoginFormVO; +import ink.wgink.pojo.ListPage; +import ink.wgink.pojo.result.SuccessResultList; + +import java.util.List; +import java.util.Map; + +/** + * @ClassName: ILoginFormService + * @Description: 登录form表单 + * @Author: wanggeng + * @Date: 2021/7/29 3:44 下午 + * @Version: 1.0 + */ +public interface ILoginFormService { + + /** + * 新增登录Form + * + * @param loginFormVO + */ + void save(LoginFormVO loginFormVO); + + /** + * 删除登录Form + * + * @param loginFormIds + */ + void remove(List loginFormIds); + + /** + * 修改登录Form + * + * @param loginFormId + * @param loginFormVO + */ + void update(String loginFormId, LoginFormVO loginFormVO); + + /** + * 激活登录Form + * + * @param loginFormId + */ + void updateActive(String loginFormId); + + /** + * 取消激活登录Form + * + * @param loginFormId + */ + void updateUnActive(String loginFormId); + + /** + * 登录Form列表 + * + * @param params + * @return + */ + List list(Map params); + + /** + * 登录Form分页列表 + * + * @param page + * @return + */ + SuccessResultList> listPage(ListPage page); + + /** + * 登录Form详情 + * + * @param params + * @return + */ + LoginFormDTO get(Map params); + + /** + * 登录Form详情 + * + * @param loginFormId + * @return + */ + LoginFormDTO get(String loginFormId); + + /** + * 激活的登录Form详情 + * + * @return + */ + LoginFormDTO getActive(); + +} diff --git a/login-base/src/main/java/ink/wgink/login/base/service/login/impl/LoginFormServiceImpl.java b/login-base/src/main/java/ink/wgink/login/base/service/login/impl/LoginFormServiceImpl.java new file mode 100644 index 00000000..1d40a808 --- /dev/null +++ b/login-base/src/main/java/ink/wgink/login/base/service/login/impl/LoginFormServiceImpl.java @@ -0,0 +1,123 @@ +package ink.wgink.login.base.service.login.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import ink.wgink.common.base.DefaultBaseService; +import ink.wgink.login.base.dao.login.ILoginFormDao; +import ink.wgink.login.base.pojo.dtos.login.LoginFormDTO; +import ink.wgink.login.base.pojo.vos.login.LoginFormVO; +import ink.wgink.login.base.service.login.ILoginFormService; +import ink.wgink.pojo.ListPage; +import ink.wgink.pojo.result.SuccessResultList; +import ink.wgink.util.UUIDUtil; +import ink.wgink.util.map.HashMapUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * @ClassName: LoginFormServiceImpl + * @Description: 登录form表单 + * @Author: wanggeng + * @Date: 2021/7/29 3:45 下午 + * @Version: 1.0 + */ +@Service +public class LoginFormServiceImpl extends DefaultBaseService implements ILoginFormService { + + @Autowired + private ILoginFormDao loginFormDao; + + @Override + public void save(LoginFormVO loginFormVO) { + if (loginFormVO.getIsActive() == 1) { + updateUnActiveAll(); + } + String loginFormId = UUIDUtil.getUUID(); + Map params = HashMapUtil.beanToMap(loginFormVO); + params.put("loginFormId", loginFormId); + setSaveInfo(params); + loginFormDao.save(params); + } + + @Override + public void remove(List loginFormIds) { + Map params = getHashMap(2); + params.put("loginFormIds", loginFormIds); + loginFormDao.remove(params); + } + + @Override + public void update(String loginFormId, LoginFormVO loginFormVO) { + if (loginFormVO.getIsActive() == 1) { + updateUnActiveAll(); + } + Map params = HashMapUtil.beanToMap(loginFormVO); + params.put("loginFormId", loginFormId); + setUpdateInfo(params); + loginFormDao.update(params); + } + + @Override + public void updateActive(String loginFormId) { + updateUnActiveAll(); + Map params = getHashMap(4); + // 激活当前 + params.put("isActive", 1); + params.put("loginFormId", loginFormId); + loginFormDao.updateActive(params); + } + + @Override + public void updateUnActive(String loginFormId) { + Map params = getHashMap(4); + params.put("isActive", 0); + params.put("loginFormId", loginFormId); + loginFormDao.updateActive(params); + } + + /** + * 取消全部激活 + */ + private void updateUnActiveAll() { + Map params = getHashMap(4); + params.put("isActive", 0); + loginFormDao.updateActive(params); + } + + @Override + public List list(Map params) { + return loginFormDao.list(params); + } + + @Override + public SuccessResultList> listPage(ListPage page) { + PageHelper.startPage(page.getPage(), page.getRows()); + List loginFormDTOs = list(page.getParams()); + PageInfo pageInfo = new PageInfo<>(loginFormDTOs); + return new SuccessResultList<>(loginFormDTOs, pageInfo.getPageNum(), pageInfo.getTotal()); + } + + @Override + public LoginFormDTO get(Map params) { + return loginFormDao.get(params); + } + + @Override + public LoginFormDTO get(String loginFormId) { + Map params = getHashMap(2); + params.put("loginFormId", loginFormId); + return get(params); + } + + @Override + public LoginFormDTO getActive() { + Map params = getHashMap(2); + params.put("isActive", 1); + return get(params); + } + + +} diff --git a/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml b/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml new file mode 100644 index 00000000..e8b5e2a6 --- /dev/null +++ b/login-base/src/main/resources/mybatis/mapper/login/login-form-mapper.xml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + CREATE TABLE IF NOT EXISTS `sys_login_form` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `loginform_id` char(36) NOT NULL COMMENT '主键', + `name` varchar(255) NOT NULL COMMENT '名称', + `summary` varchar(255) DEFAULT NULL COMMENT '说明', + `is_active` int(1) DEFAULT '1' COMMENT '是否激活', + `preview` char(36) DEFAULT NULL COMMENT '预览', + `form_html` longtext COMMENT 'form代码', + `form_css` longtext COMMENT 'form样式', + `form_left_css` text COMMENT 'form左样式', + `form_center_css` text COMMENT 'form中样式', + `form_right_css` text COMMENT 'form右样式', + `gmt_create` datetime DEFAULT NULL, + `creator` char(36) DEFAULT NULL, + `gmt_modified` datetime DEFAULT NULL, + `modifier` char(36) DEFAULT NULL, + `is_delete` int(1) DEFAULT '1', + PRIMARY KEY (`id`,`loginform_id`) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + + + + INSERT INTO sys_login_form( + loginform_id, + name, + summary, + is_active, + preview, + form_html, + form_css, + form_left_css, + form_center_css, + form_right_css, + gmt_create, + creator, + gmt_modified, + modifier, + is_delete + ) VALUES( + #{loginFormId}, + #{name}, + #{summary}, + #{isActive}, + #{preview}, + #{formHtml}, + #{formCss}, + #{formLeftCss}, + #{formCenterCss}, + #{formRightCss}, + #{gmtCreate}, + #{creator}, + #{gmtModified}, + #{modifier}, + #{isDelete} + ) + + + + + UPDATE + sys_login_form + SET + is_delete = 1, + modifier = #{modifier}, + gmt_modified = #{gmtModified} + WHERE + loginform_id IN + + #{loginFormIds[${index}]} + + + + + + UPDATE + sys_login_form + SET + + name = #{name}, + + + summary = #{summary}, + + + is_active = #{isActive}, + + + preview = #{preview}, + + + form_html = #{formHtml}, + + + form_css = #{formCss}, + + + form_left_css = #{formLeftCss}, + + + form_center_css = #{formCenterCss}, + + + form_right_css = #{formRightCss}, + + modifier = #{modifier}, + gmt_modified = #{gmtModified} + WHERE + loginform_id = #{loginFormId} + + + + + UPDATE + sys_login_form + SET + is_active = #{isActive} + + + loginform_id = #{loginFormId} + + + + + + + + + + + \ No newline at end of file diff --git a/login-base/src/main/resources/templates/config/update.html b/login-base/src/main/resources/templates/config/update.html index 34afdd17..01088f72 100644 --- a/login-base/src/main/resources/templates/config/update.html +++ b/login-base/src/main/resources/templates/config/update.html @@ -192,9 +192,9 @@
登录框位置
- - + +
@@ -225,13 +225,6 @@
-
-
登录页面
-
- - -
-
diff --git a/login-base/src/main/resources/templates/default-main.html b/login-base/src/main/resources/templates/default-main.html index 76b861a9..eb39e82f 100644 --- a/login-base/src/main/resources/templates/default-main.html +++ b/login-base/src/main/resources/templates/default-main.html @@ -224,7 +224,6 @@ /** 左浮动菜单 start **/ var hideSideMenuTimeout = null; $('.layui-side-menu-show').on('mouseover', function(event) { - console.log(1) $('#sideMenu').removeClass('layui-side-menu-hidden'); }); $('#sideMenu').on('mouseout', function(event) { diff --git a/login-base/src/main/resources/templates/login2.html b/login-base/src/main/resources/templates/login-old.html similarity index 100% rename from login-base/src/main/resources/templates/login2.html rename to login-base/src/main/resources/templates/login-old.html diff --git a/login-base/src/main/resources/templates/login.html b/login-base/src/main/resources/templates/login.html index a032a725..cb7a2de8 100644 --- a/login-base/src/main/resources/templates/login.html +++ b/login-base/src/main/resources/templates/login.html @@ -12,13 +12,8 @@ - - + + + + +
-
+
+