diff --git a/admin/.env.development.example b/admin/.env.development.example deleted file mode 100644 index c89d65a1..00000000 --- a/admin/.env.development.example +++ /dev/null @@ -1,4 +0,0 @@ -NODE_ENV = 'development' - -# Base API -VITE_APP_BASE_URL='' \ No newline at end of file diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java index 9a96e634..19c82fef 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateDataController.java @@ -15,7 +15,7 @@ import javax.annotation.Resource; import java.util.List; @RestController -@RequestMapping("api/decorate/data") +@RequestMapping("/adminapi/decorate/data") @Api(tags = "装修数据管理") public class DecorateDataController { diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java index 25b5a84b..e292f18e 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecoratePagesController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController -@RequestMapping("api/decorate/pages") +@RequestMapping("/adminapi/decorate/page") @Api(tags = "装修页面管理") public class DecoratePagesController { diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateTabbarController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateTabbarController.java index dfd13082..e528a32e 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateTabbarController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/decorate/DecorateTabbarController.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @RestController -@RequestMapping("api/decorate/tabbar") +@RequestMapping("/adminapi/decorate/tabbar") @Api(tags = "装修导航管理") public class DecorateTabbarController { diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingNoticeController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingNoticeController.java index b02a3e5d..15a42b36 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingNoticeController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingNoticeController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller.setting; +import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.aop.Log; import com.mdd.admin.service.ISettingNoticeService; import com.mdd.admin.vo.setting.SettingNoticeDetailVo; @@ -16,18 +17,20 @@ import java.util.List; import java.util.Map; @RestController -@RequestMapping("api/setting/notice") +@RequestMapping("/adminapi/notice/notice") @Api(tags = "配置消息通知") public class SettingNoticeController { @Resource ISettingNoticeService iSettingNoticeService; - @GetMapping("/list") + @GetMapping("/settingLists") @ApiOperation(value="通知设置列表") - public AjaxResult> list(@RequestParam Integer recipient) { + public AjaxResult list(@RequestParam Integer recipient) { List list = iSettingNoticeService.list(recipient); - return AjaxResult.success(list); + JSONObject result = new JSONObject(); + result.put("lists", list); + return AjaxResult.success(result); } @GetMapping("/detail") @@ -38,9 +41,9 @@ public class SettingNoticeController { } @Log(title = "通知设置编辑") - @PostMapping("/save") + @PostMapping("/set") @ApiOperation(value="通知设置编辑") - public AjaxResult save(@RequestBody Map params) { + public AjaxResult save(@RequestBody JSONObject params) { iSettingNoticeService.save(params); return AjaxResult.success(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java index f12f327d..6d9e95ed 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/setting/SettingSmsController.java @@ -1,5 +1,6 @@ package com.mdd.admin.controller.setting; +import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.aop.Log; import com.mdd.admin.service.ISettingSmsService; import com.mdd.common.core.AjaxResult; @@ -15,32 +16,32 @@ import java.util.Map; * 短信设置管理 */ @RestController -@RequestMapping("api/setting/sms") +@RequestMapping("/adminapi/notice/sms_config") @Api(tags = "配置短信引擎") public class SettingSmsController { @Resource ISettingSmsService iSettingSmsService; - @GetMapping("/list") + @GetMapping("/getConfig") @ApiOperation(value="短信引擎列表") - public AjaxResult>> list() { - List> list = iSettingSmsService.list(); + public AjaxResult>> getConfig() { + List> list = iSettingSmsService.getConfig(); return AjaxResult.success(list); } @GetMapping("/detail") @ApiOperation(value="短信引擎详情") - public AjaxResult> detail(String alias) { - Map map = iSettingSmsService.detail(alias); + public AjaxResult> detail(String type) { + Map map = iSettingSmsService.detail(type); return AjaxResult.success(map); } @Log(title = "短信引擎编辑") - @PostMapping("/save") + @PostMapping("/setConfig") @ApiOperation(value="短信引擎编辑") - public AjaxResult save(@RequestBody Map params) { - iSettingSmsService.save(params); + public AjaxResult setConfig(@RequestBody JSONObject params) { + iSettingSmsService.setConfig(params); return AjaxResult.success(); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/DeptController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/DeptController.java new file mode 100644 index 00000000..6eb85076 --- /dev/null +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/DeptController.java @@ -0,0 +1,72 @@ +package com.mdd.admin.controller.system; + +import com.alibaba.fastjson2.JSONArray; +import com.mdd.admin.service.system.IDeptService; +import com.mdd.common.aop.NotPower; +import com.mdd.admin.validate.commons.IdValidate; +import com.mdd.admin.validate.system.DeptCreateValidate; +import com.mdd.admin.validate.system.DeptSearchValidate; +import com.mdd.admin.validate.system.DeptUpdateValidate; +import com.mdd.admin.vo.system.DeptVo; +import com.mdd.common.core.AjaxResult; +import com.mdd.common.validator.annotation.IDMust; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@RequestMapping("/adminapi/dept/dept") +@Api(tags = "系统部门管理") +public class DeptController { + + @Resource + IDeptService deptService; + + @NotPower + @GetMapping("/all") + @ApiOperation(value="部门所有") + public AjaxResult all() { + JSONArray list = deptService.all(); + return AjaxResult.success(list); + } + + @GetMapping("/lists") + @ApiOperation(value="部门列表") + public AjaxResult list(@Validated DeptSearchValidate searchValidate) { + JSONArray list = deptService.list(searchValidate); + return AjaxResult.success(list); + } + + @GetMapping("/detail") + @ApiOperation(value="部门详情") + public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) { + DeptVo vo = deptService.detail(id); + return AjaxResult.success(vo); + } + + @PostMapping("/add") + @ApiOperation(value="部门新增") + public AjaxResult add(@Validated @RequestBody DeptCreateValidate createValidate) { + deptService.add(createValidate); + return AjaxResult.success(); + } + + @PostMapping("/edit") + @ApiOperation(value="部门编辑") + public AjaxResult edit(@Validated @RequestBody DeptUpdateValidate updateValidate) { + deptService.edit(updateValidate); + return AjaxResult.success(); + } + + @PostMapping("/delete") + @ApiOperation(value="部门删除") + public AjaxResult del(@Validated @RequestBody IdValidate idValidate) { + deptService.del(idValidate.getId()); + return AjaxResult.success(); + } + +} diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISettingNoticeService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISettingNoticeService.java index 8956e2c3..8b27eb9f 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISettingNoticeService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISettingNoticeService.java @@ -1,5 +1,6 @@ package com.mdd.admin.service; +import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.vo.setting.SettingNoticeDetailVo; import com.mdd.admin.vo.setting.SettingNoticeListedVo; @@ -35,6 +36,6 @@ public interface ISettingNoticeService { * @author fzr * @param params 参数 */ - void save(Map params); + void save(JSONObject params); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISettingSmsService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISettingSmsService.java index 007aa9f0..899af37b 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISettingSmsService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISettingSmsService.java @@ -1,5 +1,7 @@ package com.mdd.admin.service; +import com.alibaba.fastjson2.JSONObject; + import java.util.List; import java.util.Map; @@ -14,7 +16,7 @@ public interface ISettingSmsService { * @author fzr * @return List> */ - List> list(); + List> getConfig(); /** * 短信引擎详情 @@ -23,7 +25,7 @@ public interface ISettingSmsService { * @param alias 别名 * @return Map */ - Map detail(String alias); + Map detail(String type); /** * 短信引擎保存 @@ -31,6 +33,6 @@ public interface ISettingSmsService { * @author fzr * @param params 参数 */ - void save(Map params); + void setConfig(JSONObject params); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java index 61b61e91..5efb4f0c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateDataServiceImpl.java @@ -35,7 +35,6 @@ public class DecorateDataServiceImpl implements IDecorateDataService { List
articles = articleMapper.selectList(new QueryWrapper
() .eq("is_show", 1) - .eq("is_delete", 0) .orderByDesc("id") .last("limit " + limit)); @@ -43,8 +42,17 @@ public class DecorateDataServiceImpl implements IDecorateDataService { for (Article article : articles) { DecorateDataArticleVo vo = new DecorateDataArticleVo(); BeanUtils.copyProperties(article, vo); - vo.setImage(UrlUtils.toAbsoluteUrl(article.getImage())); - vo.setCreateTime(TimeUtils.timestampToDate(article.getCreateTime())); + vo.setImage(UrlUtils.toAbsoluteUrl(vo.getImage())); + + Integer clickActual = vo.getClickActual() != null ? vo.getClickActual() : 0; + + Integer clickVirtual = vo.getClickVirtual() != null ? vo.getClickVirtual() : 0; + + Integer click = clickActual + clickVirtual; + + vo.setClick(click); + + vo.setCreateTime(TimeUtils.timestampToDate(vo.getCreateTime())); list.add(vo); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecoratePageServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecoratePageServiceImpl.java index c988214b..fded6d6f 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecoratePageServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecoratePageServiceImpl.java @@ -6,6 +6,7 @@ import com.mdd.admin.validate.decorate.DecoratePageValidate; import com.mdd.admin.vo.decorate.DecoratePageVo; import com.mdd.common.entity.decorate.DecoratePage; import com.mdd.common.mapper.decorate.DecoratePageMapper; +import com.mdd.common.util.TimeUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -27,11 +28,15 @@ public class DecoratePageServiceImpl implements IDecoratePageService { public DecoratePageVo detail(Integer id) { DecoratePage decoratePage = decoratePageMapper.selectById(id); Assert.notNull(decoratePage, "数据不存在!"); - DecoratePageVo vo = new DecoratePageVo(); vo.setId(decoratePage.getId()); - vo.setPageType(decoratePage.getType()); - vo.setPageData(decoratePage.getData()); + vo.setName(decoratePage.getName()); + vo.setType(decoratePage.getType()); + vo.setData(decoratePage.getData()); + vo.setMeta(decoratePage.getMeta()); + + vo.setCreateTime(TimeUtils.timestampToDate(decoratePage.getCreateTime())); + vo.setUpdateTime(TimeUtils.timestampToDate(decoratePage.getUpdateTime())); return vo; } @@ -46,7 +51,10 @@ public class DecoratePageServiceImpl implements IDecoratePageService { DecoratePage decoratePage = decoratePageMapper.selectById(decoratePageValidate.getId()); Assert.notNull(decoratePage, "数据不存在!"); - decoratePage.setData(decoratePageValidate.getPageData()); + decoratePage.setName(decoratePageValidate.getName()); + decoratePage.setType(decoratePageValidate.getType()); + decoratePage.setMeta(decoratePageValidate.getMeta()); + decoratePage.setData(decoratePageValidate.getData()); decoratePage.setUpdateTime(System.currentTimeMillis() / 1000); decoratePageMapper.updateById(decoratePage); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateTabbarServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateTabbarServiceImpl.java index 7952c9dd..27499d50 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateTabbarServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/DecorateTabbarServiceImpl.java @@ -6,6 +6,7 @@ import com.mdd.admin.service.IDecorateTabbarService; import com.mdd.admin.validate.decorate.DecorateTabsValidate; import com.mdd.admin.vo.decorate.DecorateTabsListsVo; import com.mdd.admin.vo.decorate.DecorateTabbarVo; +import com.mdd.admin.vo.decorate.DecorateTabsStyleVo; import com.mdd.common.entity.decorate.DecorateTabbar; import com.mdd.common.mapper.decorate.DecorateTabbarMapper; import com.mdd.common.util.*; @@ -15,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.LinkedList; import java.util.List; +import java.util.Map; /** * 底部导航服务实现类 @@ -43,9 +45,10 @@ public class DecorateTabbarServiceImpl implements IDecorateTabbarService { DecorateTabsListsVo vo = new DecorateTabsListsVo(); vo.setId(tab.getId()); vo.setName(tab.getName()); - vo.setSelected(UrlUtils.toAbsoluteUrl(tab.getSelected())); - vo.setUnselected(UrlUtils.toAbsoluteUrl(tab.getUnselected())); + vo.setSelected(tab.getSelected()); + vo.setUnselected(tab.getUnselected()); vo.setLink(JSON.parse(tab.getLink())); + vo.setIsShow(tab.getIsShow()); vo.setCreateTime(TimeUtils.timestampToDate(tab.getCreateTime())); vo.setUpdateTime(TimeUtils.timestampToDate(tab.getUpdateTime())); tabList.add(vo); @@ -54,7 +57,11 @@ public class DecorateTabbarServiceImpl implements IDecorateTabbarService { String tabbar = ConfigUtils.get("tabbar", "style", "{}"); DecorateTabbarVo response = new DecorateTabbarVo(); - response.setStyle(MapUtils.jsonToMap(tabbar)); + DecorateTabsStyleVo styleVo = new DecorateTabsStyleVo(); + Map styleMap = MapUtils.jsonToMap(tabbar); + styleVo.setDefaultColor(styleMap.get("defaultColor")); + styleVo.setSelectedColor(styleMap.get("selectedColor")); + response.setStyle(styleVo); response.setList(tabList); return response; } @@ -74,8 +81,8 @@ public class DecorateTabbarServiceImpl implements IDecorateTabbarService { DecorateTabbar model = new DecorateTabbar(); model.setName(obj.getName()); model.setLink(JSON.toJSONString(obj.getLink())); - model.setSelected(UrlUtils.toRelativeUrl(obj.getSelected())); - model.setUnselected(UrlUtils.toRelativeUrl(obj.getUnselected())); + model.setSelected(obj.getSelected()); + model.setUnselected(obj.getUnselected()); model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); decorateTabbarMapper.insert(model); diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FileServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FileServiceImpl.java index c67d06e0..673f9d0c 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/FileServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/FileServiceImpl.java @@ -12,6 +12,7 @@ import com.mdd.admin.validate.file.FileSearchValidate; import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.vo.album.FileCateVo; import com.mdd.admin.vo.album.FileVo; +import com.mdd.common.config.GlobalConfig; import com.mdd.common.core.PageResult; import com.mdd.common.entity.file.File; import com.mdd.common.entity.file.FileCate; @@ -73,15 +74,21 @@ public class FileServiceImpl implements IFileService { IPage iPage = fileMapper.selectPage(new Page<>(page, limit), queryWrapper); -// String engine = ConfigUtils.get("storage", "default", "local"); -// engine = engine.equals("") ? "local" : engine; + String engine = ConfigUtils.get("storage", "default", "local"); + engine = engine.equals("") ? "local" : engine; List list = new ArrayList<>(); for (File file : iPage.getRecords()) { FileVo vo = new FileVo(); BeanUtils.copyProperties(file, vo); vo.setUrl(UrlUtils.toAbsoluteUrl(file.getUri())); - vo.setUri(file.getUri()); + + if (engine.equals("local")) { + vo.setUri(GlobalConfig.publicPrefix + "/" + file.getUri()); + } else { + vo.setUri(file.getUri()); + } + vo.setCreateTime(TimeUtils.timestampToDate(file.getCreateTime())); vo.setUpdateTime(TimeUtils.timestampToDate(file.getUpdateTime())); list.add(vo); diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingNoticeServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingNoticeServiceImpl.java index cb17bf8c..db08cc69 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingNoticeServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingNoticeServiceImpl.java @@ -1,6 +1,7 @@ package com.mdd.admin.service.impl; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mdd.admin.service.ISettingNoticeService; import com.mdd.admin.vo.setting.SettingNoticeDetailVo; @@ -38,7 +39,6 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService { public List list(Integer recipient) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("recipient", recipient); - queryWrapper.eq("is_delete", 0); queryWrapper.orderByAsc("id"); List noticeSettings = noticeSettingMapper.selectList(queryWrapper); @@ -47,18 +47,28 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService { SettingNoticeListedVo vo = new SettingNoticeListedVo(); BeanUtils.copyProperties(n, vo); - Map systemMap = MapUtils.jsonToMap(n.getSystemNotice()); - Map smsMap = MapUtils.jsonToMap(n.getSmsNotice()); - Map oaMap = MapUtils.jsonToMap(n.getOaNotice()); - Map mnpMap = MapUtils.jsonToMap(n.getMnpNotice()); + JSONObject systemNotice = JSONObject.parse(n.getSystemNotice()); + JSONObject smsNotice = JSONObject.parse(n.getSmsNotice()); + JSONObject oaNotice = JSONObject.parse(n.getOaNotice()); + JSONObject mnpNotice = JSONObject.parse(n.getMnpNotice()); + + if (systemNotice != null && "1".equals(systemNotice.getString("status"))) { + vo.setSmsNotice(systemNotice); + } + + if (smsNotice != null && "1".equals(smsNotice.getString("status"))) { + vo.setSmsNotice(smsNotice); + } + + if (oaNotice != null && "1".equals(oaNotice.getString("status"))) { + vo.setSmsNotice(oaNotice); + } + + if (mnpNotice != null && "1".equals(mnpNotice.getString("status"))) { + vo.setSmsNotice(mnpNotice); + } vo.setType(n.getType()==1?"业务通知":"验证码"); - vo.setSystemStatus(Integer.parseInt(systemMap.getOrDefault("status", "0"))); - vo.setSmsStatus(Integer.parseInt(smsMap.getOrDefault("status", "0"))); - vo.setOaStatus(Integer.parseInt(oaMap.getOrDefault("status", "0"))); - vo.setMnpStatus(Integer.parseInt(mnpMap.getOrDefault("status", "0"))); - vo.setCreateTime(TimeUtils.timestampToDate(n.getCreateTime())); - vo.setUpdateTime(TimeUtils.timestampToDate(n.getUpdateTime())); list.add(vo); } @@ -77,29 +87,19 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService { public SettingNoticeDetailVo detail(Integer id) { NoticeSetting noticeSetting = noticeSettingMapper.selectOne(new QueryWrapper() .select(NoticeSetting.class, info -> - !info.getColumn().equals("is_delete") && - !info.getColumn().equals("delete_time") && - !info.getColumn().equals("create_time") && !info.getColumn().equals("update_time") ) .eq("id", id) - .eq("is_delete", 0) .last("limit 1")); - Map systemMap = MapUtils.jsonToMapAsObj(noticeSetting.getSystemNotice()); - Map oaMap = MapUtils.jsonToMapAsObj(noticeSetting.getOaNotice()); - Map mnpMap = MapUtils.jsonToMapAsObj(noticeSetting.getMnpNotice()); - Map smsMap = MapUtils.jsonToMapAsObj(noticeSetting.getSmsNotice()); - - smsMap.put("tips", JSON.parseArray(smsMap.get("tips").toString())); SettingNoticeDetailVo vo = new SettingNoticeDetailVo(); BeanUtils.copyProperties(noticeSetting, vo); vo.setType(noticeSetting.getType().equals(1)?"业务通知":"验证码"); - vo.setSystemNotice(systemMap); - vo.setOaNotice(oaMap); - vo.setMnpNotice(mnpMap); - vo.setSmsNotice(smsMap); + vo.setSystemNotice(JSONObject.parse(noticeSetting.getSystemNotice())); + vo.setOaNotice(JSONObject.parse(noticeSetting.getOaNotice())); + vo.setMnpNotice(JSONObject.parse(noticeSetting.getMnpNotice())); + vo.setSmsNotice(JSONObject.parse(noticeSetting.getSmsNotice())); return vo; } @@ -110,58 +110,22 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService { * @param params 参数 */ @Override - public void save(Map params) { + public void save(JSONObject params) { Integer id = Integer.parseInt(params.get("id").toString()); NoticeSetting noticeSetting = noticeSettingMapper.selectOne(new QueryWrapper() .eq("id", id) - .eq("is_delete", 0) .last("limit 1")); - Map systemParam = MapUtils.objectToMap(params.get("systemNotice")); - Map systemMap = MapUtils.jsonToMap(noticeSetting.getSystemNotice()); - if (StringUtils.isNotEmpty(systemMap)) { - systemMap.put("title", systemParam.getOrDefault("title", "")); - systemMap.put("content", systemParam.getOrDefault("content", "")); - systemMap.put("tips", systemParam.getOrDefault("tips", "")); - systemMap.put("status", systemParam.getOrDefault("status", "0")); - } + JSONObject template = params.getJSONObject("template"); + JSONObject mnp_notice = template.getJSONObject("mnp_notice"); + JSONObject oa_notice = template.getJSONObject("oa_notice"); + JSONObject sms_notice = template.getJSONObject("sms_notice"); + JSONObject system_notice = template.getJSONObject("system_notice"); - Map smsParam = MapUtils.objectToMap(params.get("smsNotice")); - Map smsMap = MapUtils.jsonToMap(noticeSetting.getSmsNotice()); - if (StringUtils.isNotEmpty(smsMap)) { - smsMap.put("templateId", smsParam.getOrDefault("templateId", "")); - smsMap.put("content", smsParam.getOrDefault("content", "")); - smsMap.put("tips", smsParam.getOrDefault("tips", "")); - smsMap.put("status", smsParam.getOrDefault("status", "0")); - } - - Map oaParam = MapUtils.objectToMap(params.get("oaNotice")); - Map oaMap = MapUtils.jsonToMap(noticeSetting.getOaNotice()); - if (StringUtils.isNotEmpty(oaMap)) { - oaMap.put("name", oaParam.getOrDefault("name", "")); - oaMap.put("first", oaParam.getOrDefault("first", "")); - oaMap.put("remark", oaParam.getOrDefault("remark", "")); - oaMap.put("templateId", oaParam.getOrDefault("templateId", "")); - oaMap.put("templateSn", oaParam.getOrDefault("templateSn", "")); - oaMap.put("tpl", oaParam.getOrDefault("tpl", "")); - oaMap.put("tips", oaParam.getOrDefault("tips", "")); - oaMap.put("status", oaParam.getOrDefault("status", "0")); - } - - Map mnpParam = MapUtils.objectToMap(params.get("mnpNotice")); - Map mnpMap = MapUtils.jsonToMap(noticeSetting.getMnpNotice()); - if (StringUtils.isNotEmpty(mnpParam)) { - mnpMap.put("templateId", mnpParam.get("templateId")); - mnpMap.put("templateSn", mnpParam.get("templateSn")); - mnpMap.put("tpl", mnpParam.get("tpl")); - mnpMap.put("tips", mnpParam.get("tips")); - mnpMap.put("status", mnpParam.getOrDefault("status", "0")); - } - - noticeSetting.setSystemNotice(JSON.toJSONString(systemMap)); - noticeSetting.setSmsNotice(JSON.toJSONString(smsMap)); - noticeSetting.setOaNotice(JSON.toJSONString(oaMap)); - noticeSetting.setMnpNotice(JSON.toJSONString(mnpMap)); + noticeSetting.setSystemNotice(system_notice.toJSONString()); + noticeSetting.setSmsNotice(sms_notice.toJSONString()); + noticeSetting.setOaNotice(oa_notice.toJSONString()); + noticeSetting.setMnpNotice(mnp_notice.toJSONString()); noticeSetting.setUpdateTime(System.currentTimeMillis() / 1000); noticeSettingMapper.updateById(noticeSetting); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingSmsServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingSmsServiceImpl.java index 4a9517e1..844ab396 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingSmsServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SettingSmsServiceImpl.java @@ -1,6 +1,7 @@ package com.mdd.admin.service.impl; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONObject; import com.mdd.admin.service.ISettingSmsService; import com.mdd.common.util.ConfigUtils; import com.mdd.common.util.StringUtils; @@ -22,20 +23,20 @@ public class SettingSmsServiceImpl implements ISettingSmsService { * @return List> */ @Override - public List> list() { - String engine = ConfigUtils.get("sms", "default", "aliyun"); + public List> getConfig() { + String engine = ConfigUtils.get("sms", "engine", "ali"); List> list = new LinkedList<>(); Map aliyun = new LinkedHashMap<>(); aliyun.put("name", "阿里云短信"); - aliyun.put("alias", "aliyun"); - aliyun.put("status", engine.equals("aliyun") ? 1 : 0); + aliyun.put("type", "ali"); + aliyun.put("status", engine.equalsIgnoreCase("ali") ? 1 : 0); list.add(aliyun); Map tencent = new LinkedHashMap<>(); tencent.put("name", "腾讯云短信"); - tencent.put("alias", "tencent"); - tencent.put("status", engine.equals("tencent") ? 1 : 0); + tencent.put("type", "tencent"); + tencent.put("status", engine.equalsIgnoreCase("tencent") ? 1 : 0); list.add(tencent); return list; } @@ -48,29 +49,29 @@ public class SettingSmsServiceImpl implements ISettingSmsService { * @return Map */ @Override - public Map detail(String alias) { + public Map detail(String type) { String env = YmlUtils.get("like.production"); boolean envStatus = StringUtils.isNotNull(env) && env.equals("true"); - String engine = ConfigUtils.get("sms", "default", "local"); - Map config = ConfigUtils.getMap("sms", alias); + String engine = ConfigUtils.get("sms", "engine", "ali"); + Map config = ConfigUtils.getMap("sms", type); config = StringUtils.isNotNull(config) ? config : Collections.emptyMap(); Map map = new LinkedHashMap<>(); map.put("name", config.getOrDefault("name", "")); - map.put("status", engine.equals(alias) ? 1 : 0); - map.put("alias", alias); + map.put("status", engine.equalsIgnoreCase(type) ? 1 : 0); + map.put("type", type); map.put("sign", config.getOrDefault("sign", "")); - switch (alias) { - case "aliyun": - map.put("appKey", envStatus ? "******" : config.getOrDefault("appKey", "")); - map.put("secretKey", envStatus ? "******" : config.getOrDefault("secretKey", "")); + switch (type) { + case "ali": + map.put("app_key", envStatus ? "******" : config.getOrDefault("app_key", "")); + map.put("secret_key", envStatus ? "******" : config.getOrDefault("secret_key", "")); break; case "tencent": - map.put("appId", envStatus ? "******" : config.getOrDefault("appId", "")); - map.put("secretId", envStatus ? "******" : config.getOrDefault("secretId", "")); - map.put("secretKey", envStatus ? "******" : config.getOrDefault("secretKey", "")); + map.put("app_id", envStatus ? "******" : config.getOrDefault("app_id", "")); + map.put("secret_id", envStatus ? "******" : config.getOrDefault("secret_id", "")); + map.put("secret_key", envStatus ? "******" : config.getOrDefault("secret_key", "")); break; case "huawei": break; @@ -86,36 +87,16 @@ public class SettingSmsServiceImpl implements ISettingSmsService { * @param params 参数 */ @Override - public void save(Map params) { - Map map = new LinkedHashMap<>(); + public void setConfig(JSONObject params) { + String type = params.getString("type"); - switch (params.get("alias")) { - case "aliyun": - map.put("name", "阿里云短信"); - map.put("alias", "aliyun"); - map.put("sign", params.getOrDefault("sign", "")); - map.put("appKey", params.getOrDefault("appKey", "")); - map.put("secretKey", params.getOrDefault("secretKey", "")); - break; - case "tencent": - map.put("name", "腾讯云短信"); - map.put("alias", "aliyun"); - map.put("sign", params.getOrDefault("sign", "")); - map.put("appId", params.getOrDefault("appId", "")); - map.put("secretId", params.getOrDefault("secretId", "")); - map.put("secretKey", params.getOrDefault("secretKey", "")); - break; - case "huawei": - break; - } + ConfigUtils.set("sms", type, params.toJSONString()); - ConfigUtils.set("sms", params.get("alias"), JSON.toJSONString(map)); - - String engine = ConfigUtils.get("sms", "default", ""); - if (Integer.parseInt(params.get("status")) == 1) { - ConfigUtils.set("sms", "default", params.get("alias")); - } else if (engine.equals(params.get("alias")) && Integer.parseInt(params.get("status")) == 0) { - ConfigUtils.set("sms", "default", ""); + String engine = ConfigUtils.get("sms", "engine", ""); + if (Integer.parseInt(params.getString("status")) == 1) { + ConfigUtils.set("sms", "engine", type); + } else if (engine.equals(type) && Integer.parseInt(params.getString("status")) == 0) { + ConfigUtils.set("sms", "engine", ""); } } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/DeptServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/DeptServiceImpl.java new file mode 100644 index 00000000..6efe7400 --- /dev/null +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/system/DeptServiceImpl.java @@ -0,0 +1,225 @@ +package com.mdd.admin.service.impl.system; + +import com.alibaba.fastjson2.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Assert; +import com.mdd.admin.service.system.IDeptService; +import com.mdd.admin.validate.system.DeptCreateValidate; +import com.mdd.admin.validate.system.DeptSearchValidate; +import com.mdd.admin.validate.system.DeptUpdateValidate; +import com.mdd.admin.vo.system.DeptVo; +import com.mdd.common.entity.admin.Admin; +import com.mdd.common.entity.admin.Dept; +import com.mdd.common.mapper.admin.AdminMapper; +import com.mdd.common.mapper.admin.DeptMapper; +import com.mdd.common.util.ListUtils; +import com.mdd.common.util.TimeUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +/** + * 系统部门服务实现类 + */ +@Service +public class DeptServiceImpl implements IDeptService { + + @Resource + DeptMapper deptMapper; + + @Resource + AdminMapper adminMapper; + + /** + * 岗位所有 + * + * @author fzr + * @return List + */ + @Override + public JSONArray all() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.isNull("delete_time"); + queryWrapper.orderByDesc(Arrays.asList("sort", "id")); + queryWrapper.select(Dept.class, info -> + !info.getColumn().equals("delete_time")); + + + List systemAuthDeptList = deptMapper.selectList(queryWrapper); + + List list = new LinkedList<>(); + for (Dept systemAuthDept : systemAuthDeptList) { + DeptVo vo = new DeptVo(); + BeanUtils.copyProperties(systemAuthDept, vo); + vo.setStatusDesc(systemAuthDept.getStatus() != null && systemAuthDept.getStatus().intValue() == 1 ? "正常" : "禁用"); + vo.setCreateTime(TimeUtils.timestampToDate(systemAuthDept.getCreateTime())); + vo.setUpdateTime(TimeUtils.timestampToDate(systemAuthDept.getUpdateTime())); + list.add(vo); + } + + JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list)); + return ListUtils.listToTree(jsonArray, "id", "pid", "children"); + } + + /** + * 部门列表 + * + * @author fzr + * @param searchValidate 搜索参数 + * @return JSONArray + */ + @Override + public JSONArray list(DeptSearchValidate searchValidate) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.isNull("delete_time"); + queryWrapper.orderByDesc(Arrays.asList("sort", "id")); + queryWrapper.select(Dept.class, info -> + !info.getColumn().equals("delete_time")); + + deptMapper.setSearch(queryWrapper, searchValidate, new String[]{ + "like:name:str", + "=:status@status:int" + }); + + List systemAuthDeptList = deptMapper.selectList(queryWrapper); + + List list = new LinkedList<>(); + for (Dept systemAuthDept : systemAuthDeptList) { + DeptVo vo = new DeptVo(); + BeanUtils.copyProperties(systemAuthDept, vo); + vo.setStatusDesc(systemAuthDept.getStatus() != null && systemAuthDept.getStatus().intValue() == 1 ? "正常" : "禁用"); + vo.setCreateTime(TimeUtils.timestampToDate(systemAuthDept.getCreateTime())); + vo.setUpdateTime(TimeUtils.timestampToDate(systemAuthDept.getUpdateTime())); + list.add(vo); + } + + JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list)); + return ListUtils.listToTree(jsonArray, "id", "pid", "children"); + } + + /** + * 部门详情 + * + * @author fzr + * @param id 主键 + * @return SystemDeptVo + */ + @Override + public DeptVo detail(Integer id) { + Dept systemAuthDept = deptMapper.selectOne( + new QueryWrapper() + .select(Dept.class, info -> + !info.getColumn().equals("delete_time")) + .eq("id", id) + .isNull("delete_time") + .last("limit 1")); + + Assert.notNull(systemAuthDept, "部门已不存在!"); + + DeptVo vo = new DeptVo(); + BeanUtils.copyProperties(systemAuthDept, vo); + vo.setCreateTime(TimeUtils.timestampToDate(systemAuthDept.getCreateTime())); + vo.setUpdateTime(TimeUtils.timestampToDate(systemAuthDept.getUpdateTime())); + + return vo; + } + + /** + * 部门新增 + * + * @author fzr + * @param createValidate 参数 + */ + @Override + public void add(DeptCreateValidate createValidate) { + if (createValidate.getPid().equals(0)) { + Dept systemAuthDept = deptMapper.selectOne( + new QueryWrapper() + .select("id,pid,name") + .eq("pid", 0) + .isNull("delete_time") + .last("limit 1")); + + Assert.isNull(systemAuthDept, "顶级部门只允许有一个"); + } + + Dept model = new Dept(); + model.setPid(createValidate.getPid()); + model.setName(createValidate.getName()); + model.setLeader(createValidate.getLeader()); + model.setMobile(createValidate.getMobile()); + model.setSort(createValidate.getSort()); + model.setStatus(createValidate.getStatus()); + model.setCreateTime(System.currentTimeMillis() / 1000); + model.setUpdateTime(System.currentTimeMillis() / 1000); + deptMapper.insert(model); + } + + /** + * 部门编辑 + * + * @author fzr + * @param updateValidate 参数 + */ + @Override + public void edit(DeptUpdateValidate updateValidate) { + Dept model = deptMapper.selectOne( + new QueryWrapper() + .select(Dept.class, info -> + !info.getColumn().equals("delete_time")) + .eq("id", updateValidate.getId()) + .isNull("delete_time") + .last("limit 1")); + + Assert.notNull(model, "部门不存在"); + Assert.isFalse((model.getPid().equals(0) && updateValidate.getPid()>0), "顶级部门不能修改上级"); + Assert.isFalse(updateValidate.getId().equals(updateValidate.getPid()), "上级部门不能是自己"); + + model.setPid(updateValidate.getPid()); + model.setName(updateValidate.getName()); + model.setLeader(updateValidate.getLeader()); + model.setMobile(updateValidate.getMobile()); + model.setSort(updateValidate.getSort()); + model.setStatus(updateValidate.getStatus()); + model.setUpdateTime(System.currentTimeMillis() / 1000); + deptMapper.updateById(model); + } + + /** + * 部门删除 + * + * @author fzr + * @param id 主键 + */ + @Override + public void del(Integer id) { + Dept model = deptMapper.selectOne( + new QueryWrapper() + .select("id,pid,name") + .eq("id", id) + .isNull("delete_time") + .last("limit 1")); + + Assert.notNull(model, "部门不存在"); + Assert.isFalse((model.getPid() == 0), "顶级部门不能删除"); + + Dept pModel = deptMapper.selectOne( + new QueryWrapper() + .select("id,pid,name") + .eq("pid", id) + .isNull("delete_time") + .last("limit 1")); + + Assert.isNull(pModel, "请先删除子级部门"); + + List admins = adminMapper.getByDept(id); + + Assert.isTrue(admins.isEmpty(), "该部门已被管理员使用,请先移除"); + + model.setDeleteTime(System.currentTimeMillis() / 1000); + deptMapper.updateById(model); + } + +} \ No newline at end of file diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/system/IDeptService.java b/server/like-admin/src/main/java/com/mdd/admin/service/system/IDeptService.java new file mode 100644 index 00000000..d2d56f99 --- /dev/null +++ b/server/like-admin/src/main/java/com/mdd/admin/service/system/IDeptService.java @@ -0,0 +1,66 @@ +package com.mdd.admin.service.system; + +import com.alibaba.fastjson2.JSONArray; +import com.mdd.admin.validate.system.DeptCreateValidate; +import com.mdd.admin.validate.system.DeptSearchValidate; +import com.mdd.admin.validate.system.DeptUpdateValidate; +import com.mdd.admin.vo.system.DeptVo; + +import java.util.List; + +/** + * 系统部门服务接口类 + */ +public interface IDeptService { + + /** + * 部门列表 + * + * @author fzr + * @param searchValidate 搜索参数 + * @return JSONArray + */ + JSONArray list(DeptSearchValidate searchValidate); + + /** + * 部门所有 + * + * @author fzr + * @return JSONArray + */ + JSONArray all(); + + /** + * 部门详情 + * + * @author fzr + * @param id 主键 + * @return SysMenu + */ + DeptVo detail(Integer id); + + /** + * 部门新增 + * + * @author fzr + * @param createValidate 参数 + */ + void add(DeptCreateValidate createValidate); + + /** + * 部门编辑 + * + * @author fzr + * @param updateValidate 参数 + */ + void edit(DeptUpdateValidate updateValidate); + + /** + * 部门删除 + * + * @author fzr + * @param id 主键 + */ + void del(Integer id); + +} diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/decorate/DecoratePageValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/decorate/DecoratePageValidate.java index ce1d0f44..fea05b76 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/decorate/DecoratePageValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/decorate/DecoratePageValidate.java @@ -1,5 +1,7 @@ package com.mdd.admin.validate.decorate; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.mdd.common.validator.annotation.IDMust; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -18,8 +20,16 @@ public class DecoratePageValidate implements Serializable { @ApiModelProperty(value = "id", required = true) private Integer id; + private String name; + + private Integer type; + @NotNull(message = "pageData参数缺失") @ApiModelProperty(value = "装修数据", required = true) - private String pageData; + private String data; + + @NotNull(message = "pageMeta") + @ApiModelProperty(value = "装修数据", required = true) + private String meta; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptCreateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptCreateValidate.java similarity index 93% rename from server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptCreateValidate.java rename to server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptCreateValidate.java index 2c72be01..4b889644 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptCreateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptCreateValidate.java @@ -14,7 +14,7 @@ import java.io.Serializable; @Data @ApiModel("系统部门创建参数") -public class SystemDeptCreateValidate implements Serializable { +public class DeptCreateValidate implements Serializable { private static final long serialVersionUID = 1L; @@ -29,7 +29,7 @@ public class SystemDeptCreateValidate implements Serializable { private String name; @Length(min = 1, max = 30, message = "负责人名称必须在1~30个字符内") - private String duty = ""; + private String leader = ""; @Length(min = 11, max = 11, message = "手机号只能为11位") @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误") @@ -39,7 +39,7 @@ public class SystemDeptCreateValidate implements Serializable { @NotNull(message = "请选择状态") @IntegerContains(values = {0, 1}) @ApiModelProperty(value = "状态", required = true) - private Integer isStop; + private Integer status; @NotNull(message = "排序号不能为空") @DecimalMin(value = "0", message = "排序号值不能少于0") diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptSearchValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptSearchValidate.java similarity index 81% rename from server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptSearchValidate.java rename to server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptSearchValidate.java index 9e045195..85c7361e 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptSearchValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptSearchValidate.java @@ -8,7 +8,7 @@ import java.io.Serializable; @Data @ApiModel("系统部门搜索参数") -public class SystemDeptSearchValidate implements Serializable { +public class DeptSearchValidate implements Serializable { private static final long serialVersionUID = 1L; @@ -16,6 +16,6 @@ public class SystemDeptSearchValidate implements Serializable { private String name; @ApiModelProperty(value = "是否停用") - private Integer isStop; + private Integer status; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptUpdateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptUpdateValidate.java similarity index 93% rename from server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptUpdateValidate.java rename to server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptUpdateValidate.java index cad03dc9..be68916a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemDeptUpdateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/DeptUpdateValidate.java @@ -15,7 +15,7 @@ import java.io.Serializable; @Data @ApiModel("系统部门更新参数") -public class SystemDeptUpdateValidate implements Serializable { +public class DeptUpdateValidate implements Serializable { private static final long serialVersionUID = 1L; @@ -34,7 +34,7 @@ public class SystemDeptUpdateValidate implements Serializable { private String name; @Length(min = 1, max = 30, message = "负责人名称必须在1~30个字符内") - private String duty = ""; + private String leader = ""; @Length(min = 11, max = 11, message = "手机号只能为11位") @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误") @@ -44,7 +44,7 @@ public class SystemDeptUpdateValidate implements Serializable { @NotNull(message = "请选择状态") @IntegerContains(values = {0, 1}) @ApiModelProperty(value = "状态") - private Integer isStop; + private Integer status; @DecimalMin(value = "0", message = "排序号值不能少于0") @DecimalMax(value = "9999", message = "排序号值不能大于9999") diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateDataArticleVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateDataArticleVo.java index 63b7c1de..da9b6a64 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateDataArticleVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateDataArticleVo.java @@ -1,5 +1,7 @@ package com.mdd.admin.vo.decorate; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,26 +14,46 @@ public class DecorateDataArticleVo implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "id") + @ApiModelProperty(value = "主键") private Integer id; - @ApiModelProperty(value = "文章标题") + @ApiModelProperty(value = "分类") + private String cateName; + + @ApiModelProperty(value = "标题") private String title; - @ApiModelProperty(value = "文章简介") - private String intro; - - @ApiModelProperty(value = "文章描述") - private String summary; - - @ApiModelProperty(value = "文章图片") + @ApiModelProperty(value = "图片") private String image; - @ApiModelProperty(value = "文章作者") + @ApiModelProperty(value = "作者") private String author; - @ApiModelProperty(value = "浏览数量") - private Integer visit; + @ApiModelProperty("简介") + @TableField(value = "`desc`") + private String desc; + + @ApiModelProperty("摘要") + @JsonProperty("abstract") + private String abstractField; + + @ApiModelProperty(value = "访问") + private Integer click; + + @ApiModelProperty("内容") + private String content; + + @ApiModelProperty(value = "排序") + private Integer sort; + + @ApiModelProperty("虚拟浏览量") + private Integer clickVirtual; + + @ApiModelProperty("实际浏览量") + private Integer clickActual; + + @ApiModelProperty(value = "是否显示") + private Integer isShow; @ApiModelProperty(value = "创建时间") private String createTime; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecoratePageVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecoratePageVo.java index 7610cdbd..578ce7fb 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecoratePageVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecoratePageVo.java @@ -16,9 +16,19 @@ public class DecoratePageVo implements Serializable { private Integer id; @ApiModelProperty(value = "页面类型") - private Integer pageType; + private Integer type; + + @ApiModelProperty(value = "名称") + private String name; @ApiModelProperty(value = "页面数据") - private String pageData; + private String data; + + @ApiModelProperty(value = "页面数据") + private String meta; + + private String createTime; + + private String updateTime; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabbarVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabbarVo.java index db7b2a70..de174f69 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabbarVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabbarVo.java @@ -15,7 +15,7 @@ public class DecorateTabbarVo implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "样式") - private Map style; + private DecorateTabsStyleVo style; @ApiModelProperty(value = "列表") private List list; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabsListsVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabsListsVo.java index 44d62f00..91a28b60 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabsListsVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/decorate/DecorateTabsListsVo.java @@ -29,6 +29,9 @@ public class DecorateTabsListsVo implements Serializable { @ApiModelProperty(value = "id") private Object link; + @ApiModelProperty(value = "是否显示") + private Integer isShow; + @ApiModelProperty(value = "创建时间") private String createTime; diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeDetailVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeDetailVo.java index 02b40fb5..5a95b030 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeDetailVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeDetailVo.java @@ -1,5 +1,6 @@ package com.mdd.admin.vo.setting; +import com.alibaba.fastjson2.JSONObject; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,25 +16,28 @@ public class SettingNoticeDetailVo implements Serializable { @ApiModelProperty(value = "id") private Integer id; + @ApiModelProperty(value = "senceId") + private Integer senceId; + @ApiModelProperty(value = "场景名称") - private String name; + private String sceneName; @ApiModelProperty(value = "通知类型: [1=业务, 2=验证]") private String type; @ApiModelProperty(value = "场景描述") - private String remarks; + private String sceneDesc; @ApiModelProperty(value = "系统的通知设置") - private Object systemNotice; + private JSONObject systemNotice; @ApiModelProperty(value = "公众号通知设置") - private Object oaNotice; + private JSONObject oaNotice; @ApiModelProperty(value = "小程序通知设置") - private Object mnpNotice; + private JSONObject mnpNotice; @ApiModelProperty(value = "短信的通知设置") - private Object smsNotice; + private JSONObject smsNotice; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeListedVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeListedVo.java index 09667eab..802248e8 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeListedVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/setting/SettingNoticeListedVo.java @@ -1,5 +1,6 @@ package com.mdd.admin.vo.setting; +import com.alibaba.fastjson2.JSONObject; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,27 +17,18 @@ public class SettingNoticeListedVo implements Serializable { private Integer id; @ApiModelProperty(value = "通知名称") - private String name; + private String sceneName; @ApiModelProperty(value = "通知类型") private String type; - @ApiModelProperty(value = "通知状态") - private Integer systemStatus; + @ApiModelProperty(value = "通知类型") + private String typeDesc; @ApiModelProperty(value = "通知状态") - private Integer smsStatus; + private String smsStatusDesc; - @ApiModelProperty(value = "公众号状态") - private Integer oaStatus; - - @ApiModelProperty(value = "小程序状态") - private Integer mnpStatus; - - @ApiModelProperty(value = "创建时间") - private String createTime; - - @ApiModelProperty(value = "更新时间") - private String updateTime; + @ApiModelProperty(value = "通知对象") + private JSONObject smsNotice; } diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthDeptVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/system/DeptVo.java similarity index 75% rename from server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthDeptVo.java rename to server/like-admin/src/main/java/com/mdd/admin/vo/system/DeptVo.java index 24fdc8d0..6c5a9b43 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthDeptVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/system/DeptVo.java @@ -1,5 +1,6 @@ package com.mdd.admin.vo.system; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,7 +9,7 @@ import java.io.Serializable; @Data @ApiModel("部门Vo") -public class SystemAuthDeptVo implements Serializable { +public class DeptVo implements Serializable { private static final long serialVersionUID = 1L; @@ -22,7 +23,7 @@ public class SystemAuthDeptVo implements Serializable { private String name; @ApiModelProperty(value = "负责人") - private String duty; + private String leader; @ApiModelProperty(value = "联系电话") private String mobile; @@ -31,12 +32,17 @@ public class SystemAuthDeptVo implements Serializable { private Integer sort; @ApiModelProperty(value = "是否停用: [0=否, 1=是]") - private Integer isStop; + private Integer status; + + @JsonProperty("status_desc") + private String statusDesc; @ApiModelProperty(value = "创建时间") + @JsonProperty("create_time") private String createTime; @ApiModelProperty(value = "更新时间") + @JsonProperty("update_time") private String updateTime; } diff --git a/server/like-common/src/main/java/com/mdd/common/entity/admin/Dept.java b/server/like-common/src/main/java/com/mdd/common/entity/admin/Dept.java new file mode 100644 index 00000000..5f33945d --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/entity/admin/Dept.java @@ -0,0 +1,48 @@ +package com.mdd.common.entity.admin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("系统岗位实体") +public class Dept implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + @ApiModelProperty("ID") + private Integer id; + + @ApiModelProperty("上级部门") + private Integer pid; + + @ApiModelProperty("部门名称") + private String name; + + @ApiModelProperty("负责人名") + private String leader; + + @ApiModelProperty("联系电话") + private String mobile; + + @ApiModelProperty("排序编号") + private Integer sort; + + @ApiModelProperty("是否禁用: [0=否, 1=是]") + private Integer status; + + @ApiModelProperty("创建时间") + private Long createTime; + + @ApiModelProperty("更新时间") + private Long updateTime; + + @ApiModelProperty("删除时间") + private Long deleteTime; + +} diff --git a/server/like-common/src/main/java/com/mdd/common/entity/decorate/DecorateTabbar.java b/server/like-common/src/main/java/com/mdd/common/entity/decorate/DecorateTabbar.java index 61394b4d..4dcc2d7d 100644 --- a/server/like-common/src/main/java/com/mdd/common/entity/decorate/DecorateTabbar.java +++ b/server/like-common/src/main/java/com/mdd/common/entity/decorate/DecorateTabbar.java @@ -30,6 +30,9 @@ public class DecorateTabbar implements Serializable { @ApiModelProperty("链接地址") private String link; + @ApiModelProperty("是否显示") + private Integer isShow; + @ApiModelProperty("创建时间") private Long createTime; diff --git a/server/like-common/src/main/java/com/mdd/common/entity/notice/NoticeSetting.java b/server/like-common/src/main/java/com/mdd/common/entity/notice/NoticeSetting.java index e72d8f4d..2fdaa7d2 100644 --- a/server/like-common/src/main/java/com/mdd/common/entity/notice/NoticeSetting.java +++ b/server/like-common/src/main/java/com/mdd/common/entity/notice/NoticeSetting.java @@ -19,13 +19,13 @@ public class NoticeSetting implements Serializable { private Integer id; @ApiModelProperty("场景编号") - private Integer scene; + private Integer sceneId; @ApiModelProperty("场景名称") - private String name; + private String sceneName; @ApiModelProperty("场景描述") - private String remarks; + private String sceneDesc; @ApiModelProperty("接收人员: [1=用户, 2=平台]") private Integer recipient; @@ -45,16 +45,7 @@ public class NoticeSetting implements Serializable { @ApiModelProperty("小程序通知设置") private String mnpNotice; - @ApiModelProperty("是否删除: [0=否, 1=是]") - private Integer isDelete; - - @ApiModelProperty("创建时间") - private Long createTime; - @ApiModelProperty("更新时间") private Long updateTime; - @ApiModelProperty("删除时间") - private Long deleteTime; - } diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/admin/AdminMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/admin/AdminMapper.java index 7f8f63ba..7c93684d 100644 --- a/server/like-common/src/main/java/com/mdd/common/mapper/admin/AdminMapper.java +++ b/server/like-common/src/main/java/com/mdd/common/mapper/admin/AdminMapper.java @@ -3,6 +3,7 @@ package com.mdd.common.mapper.admin; import com.mdd.common.core.basics.IBaseMapper; import com.mdd.common.entity.admin.Admin; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -13,4 +14,9 @@ import java.util.List; @Mapper public interface AdminMapper extends IBaseMapper { + + @Select("SELECT * FROM la_admin admin INNER JOIN la_admin_dept lad ON admin.id = lad.admin_id WHERE lad.dept_id = #{deptId} AND admin.delete_time IS NULL") + List getByDept(@Param("deptId") Integer deptId); + + } diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/admin/DeptMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/admin/DeptMapper.java new file mode 100644 index 00000000..6ea31ffd --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/mapper/admin/DeptMapper.java @@ -0,0 +1,13 @@ +package com.mdd.common.mapper.admin; + +import com.mdd.common.core.basics.IBaseMapper; +import com.mdd.common.entity.admin.Dept; +import org.apache.ibatis.annotations.Mapper; + +/** + * 部门表Mapper + */ +@Mapper +public interface DeptMapper extends IBaseMapper { + +} diff --git a/server/like-common/src/main/java/com/mdd/common/plugin/notice/NoticeDriver.java b/server/like-common/src/main/java/com/mdd/common/plugin/notice/NoticeDriver.java index 0943f7c6..eda51572 100644 --- a/server/like-common/src/main/java/com/mdd/common/plugin/notice/NoticeDriver.java +++ b/server/like-common/src/main/java/com/mdd/common/plugin/notice/NoticeDriver.java @@ -20,8 +20,7 @@ public class NoticeDriver { NoticeSettingMapper noticeSettingMapper = SpringUtils.getBean(NoticeSettingMapper.class); NoticeSetting noticeSetting = noticeSettingMapper.selectOne( new QueryWrapper() - .eq("scene", noticeSmsVo.getScene()) - .eq("is_delete", 0) + .eq("scene_id", noticeSmsVo.getScene()) .last("limit 1")); if (StringUtils.isNull(noticeSetting)) { @@ -30,7 +29,7 @@ public class NoticeDriver { // 短信通知 SmsTemplate smsTemplate = new SmsTemplate(); - smsTemplate.setName(noticeSetting.getName()); + smsTemplate.setName(noticeSetting.getSceneName()); smsTemplate.setType(noticeSetting.getType()); smsTemplate.setParams(noticeSetting.getSmsNotice()); if (StringUtils.isNotNull(smsTemplate.getStatus()) && smsTemplate.getStatus().equals(1)) {