修改登录

用户列表
全局配置
用户修改
同步用户表结构
This commit is contained in:
pan.wl.2
2024-10-17 00:53:27 +08:00
parent 442fff21e0
commit 769baae2b7
69 changed files with 993 additions and 1386 deletions

View File

@@ -81,13 +81,13 @@ const { pager, getLists } = usePaging({
const handleAdd = async () => {
showEdit.value = true
await nextTick()
editRef.value?.open('add', 1)
editRef.value?.open('add', 3)
}
const handleEdit = async (data: any) => {
showEdit.value = true
await nextTick()
editRef.value?.open('edit', 1)
editRef.value?.open('edit', 3)
editRef.value?.getDetail(data)
}

View File

@@ -13,25 +13,25 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("api/channel/h5")
@RequestMapping("/adminapi/channel/web_page_setting")
@Api(tags = "移动渠道设置")
public class ChannelH5Controller {
@Resource
IChannelH5ConfigService iChannelH5ConfigService;
@GetMapping("/detail")
@GetMapping("/getConfig")
@ApiOperation(value="H5渠道设置详情")
public AjaxResult<ChannelH5Vo> detail() {
ChannelH5Vo vo = iChannelH5ConfigService.detail();
public AjaxResult<ChannelH5Vo> getConfig() {
ChannelH5Vo vo = iChannelH5ConfigService.getConfig();
return AjaxResult.success(vo);
}
@Log(title = "H5渠道设置保存")
@PostMapping("/save")
@PostMapping("/setConfig")
@ApiOperation(value="H5渠道设置保存")
public AjaxResult<Object> save(@Validated @RequestBody ChannelH5Validate channelH5Validate) {
iChannelH5ConfigService.save(channelH5Validate);
public AjaxResult<Object> setConfig(@Validated @RequestBody ChannelH5Validate channelH5Validate) {
iChannelH5ConfigService.setConfig(channelH5Validate);
return AjaxResult.success();
}

View File

@@ -13,25 +13,25 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("api/channel/mp")
@RequestMapping("/adminapi/channel/mnp_settings")
@Api(tags = "微信程序渠道")
public class ChannelMpController {
@Resource
IChannelMpConfigService iChannelMpConfigService;
@GetMapping("/detail")
@GetMapping("/getConfig")
@ApiOperation(value="微信程序渠道设置详情")
public AjaxResult<ChannelMpVo> detail() {
ChannelMpVo vo = iChannelMpConfigService.detail();
public AjaxResult<ChannelMpVo> getConfig() {
ChannelMpVo vo = iChannelMpConfigService.getConfig();
return AjaxResult.success(vo);
}
@Log(title = "微信小程序渠道设置保存")
@PostMapping("/save")
@PostMapping("/setConfig")
@ApiOperation(value="微信程序渠道设置保存")
public AjaxResult<Object> save(@Validated @RequestBody ChannelMpValidate channelMpValidate) {
iChannelMpConfigService.save(channelMpValidate);
public AjaxResult<Object> setConfig(@Validated @RequestBody ChannelMpValidate channelMpValidate) {
iChannelMpConfigService.setConfig(channelMpValidate);
return AjaxResult.success();
}

View File

@@ -10,7 +10,7 @@ import javax.annotation.Resource;
@RestController
@RequestMapping("api/channel/oa/callback")
@RequestMapping("/adminapi/channel/oa/callback")
@Api(tags = "公众号服务器验证及消息回复")
public class ChannelOaCallBackController {

View File

@@ -13,25 +13,25 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("api/channel/oa")
@RequestMapping("/adminapi/channel/official_account_setting")
@Api(tags = "公众号渠道设置")
public class ChannelOaController {
@Resource
IChannelOaConfigService iChannelOaConfigService;
@GetMapping("/detail")
@GetMapping("/getConfig")
@ApiOperation(value="公众号渠道设置详情")
public AjaxResult<ChannelOaVo> detail() {
ChannelOaVo vo = iChannelOaConfigService.detail();
public AjaxResult<ChannelOaVo> getConfig() {
ChannelOaVo vo = iChannelOaConfigService.getConfig();
return AjaxResult.success(vo);
}
@Log(title = "公众号渠道设置保存")
@PostMapping("/save")
@PostMapping("/setConfig")
@ApiOperation(value="公众号渠道设置保存")
public AjaxResult<Object> save(@Validated @RequestBody ChannelOaValidate channelOaValidate) {
iChannelOaConfigService.save(channelOaValidate);
public AjaxResult<Object> setConfig(@Validated @RequestBody ChannelOaValidate channelOaValidate) {
iChannelOaConfigService.setConfig(channelOaValidate);
return AjaxResult.success();
}

View File

@@ -11,7 +11,7 @@ import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("api/channel/oaMenu")
@RequestMapping("/adminapi/channel/official_account_menu")
@Api(tags = "公众号菜单管理")
public class ChannelOaMenuController {

View File

@@ -1,10 +1,10 @@
package com.mdd.admin.controller.channel;
import com.mdd.admin.service.IChannelOaReplyDefaultService;
import com.mdd.admin.validate.channel.ChannelRpDefaultValidate;
import com.mdd.admin.service.IChannelOaReplyService;
import com.mdd.admin.validate.channel.ChannelRpValidate;
import com.mdd.admin.validate.commons.IdValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpDefaultVo;
import com.mdd.admin.vo.channel.ChannelRpVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
import com.mdd.common.validator.annotation.IDMust;
@@ -16,52 +16,52 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("api/channel/oaReplyDefault")
@Api(tags = "公众号默认回复")
public class ChannelOaReplyDefaultController {
@RequestMapping("/adminapi/channel/official_account_reply")
@Api(tags = "公众号回复")
public class ChannelOaReplyController {
@Resource
IChannelOaReplyDefaultService iChannelOaReplyDefaultService;
IChannelOaReplyService iChannelOaReplyService;
@GetMapping("/list")
@GetMapping("/lists")
@ApiOperation(value="默认回复列表")
public AjaxResult<PageResult<ChannelRpDefaultVo>> list(@Validated PageValidate pageValidate) {
PageResult<ChannelRpDefaultVo> list = iChannelOaReplyDefaultService.list(pageValidate);
public AjaxResult<PageResult<ChannelRpVo>> list(@Validated PageValidate pageValidate, @RequestParam("reply_type") Integer replyType) {
PageResult<ChannelRpVo> list = iChannelOaReplyService.list(pageValidate, replyType);
return AjaxResult.success(list);
}
@GetMapping("/detail")
@ApiOperation(value="默认回复详情")
public AjaxResult<ChannelRpDefaultVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ChannelRpDefaultVo vo = iChannelOaReplyDefaultService.detail(id);
public AjaxResult<ChannelRpVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ChannelRpVo vo = iChannelOaReplyService.detail(id);
return AjaxResult.success(vo);
}
@PostMapping("/add")
@ApiOperation(value="默认回复新增")
public AjaxResult<Object> add(@Validated @RequestBody ChannelRpDefaultValidate defaultValidate) {
iChannelOaReplyDefaultService.add(defaultValidate);
public AjaxResult<Object> add(@Validated @RequestBody ChannelRpValidate defaultValidate) {
iChannelOaReplyService.add(defaultValidate);
return AjaxResult.success();
}
@PostMapping("/edit")
@ApiOperation(value="默认回复编辑")
public AjaxResult<Object> edit(@Validated @RequestBody ChannelRpDefaultValidate defaultValidate) {
iChannelOaReplyDefaultService.edit(defaultValidate);
public AjaxResult<Object> edit(@Validated @RequestBody ChannelRpValidate defaultValidate) {
iChannelOaReplyService.edit(defaultValidate);
return AjaxResult.success();
}
@PostMapping("/del")
@PostMapping("/delete")
@ApiOperation(value="默认回复删除")
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
iChannelOaReplyDefaultService.del(idValidate.getId());
iChannelOaReplyService.del(idValidate.getId());
return AjaxResult.success();
}
@PostMapping("/status")
@ApiOperation(value="默认回复状态")
public AjaxResult<Object> status(@Validated @RequestBody IdValidate idValidate) {
iChannelOaReplyDefaultService.status(idValidate.getId());
iChannelOaReplyService.status(idValidate.getId());
return AjaxResult.success();
}

View File

@@ -1,68 +0,0 @@
package com.mdd.admin.controller.channel;
import com.mdd.admin.service.IChannelOaReplyFollowService;
import com.mdd.admin.validate.channel.ChannelRpFollowsValidate;
import com.mdd.admin.validate.commons.IdValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpFollowsVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
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;
@RestController
@RequestMapping("api/channel/oaReplyFollow")
@Api(tags = "公众号关注回复")
public class ChannelOaReplyFollowController {
@Resource
IChannelOaReplyFollowService iChannelOaReplyFollowService;
@GetMapping("/list")
@ApiOperation(value="关注回复列表")
public AjaxResult<PageResult<ChannelRpFollowsVo>> list(@Validated PageValidate pageValidate) {
PageResult<ChannelRpFollowsVo> list = iChannelOaReplyFollowService.list(pageValidate);
return AjaxResult.success(list);
}
@GetMapping("/detail")
@ApiOperation(value="关注回复详情")
public AjaxResult<ChannelRpFollowsVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ChannelRpFollowsVo vo = iChannelOaReplyFollowService.detail(id);
return AjaxResult.success(vo);
}
@PostMapping("/add")
@ApiOperation(value="关注回复新增")
public AjaxResult<Object> add(@Validated @RequestBody ChannelRpFollowsValidate followsValidate) {
iChannelOaReplyFollowService.add(followsValidate);
return AjaxResult.success();
}
@PostMapping("/edit")
@ApiOperation(value="关注回复编辑")
public AjaxResult<Object> edit(@Validated @RequestBody ChannelRpFollowsValidate followsValidate) {
iChannelOaReplyFollowService.edit(followsValidate);
return AjaxResult.success();
}
@PostMapping("/del")
@ApiOperation(value="关注回复删除")
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
iChannelOaReplyFollowService.del(idValidate.getId());
return AjaxResult.success();
}
@PostMapping("/status")
@ApiOperation(value="关注回复状态")
public AjaxResult<Object> status(@Validated @RequestBody IdValidate idValidate) {
iChannelOaReplyFollowService.status(idValidate.getId());
return AjaxResult.success();
}
}

View File

@@ -1,68 +0,0 @@
package com.mdd.admin.controller.channel;
import com.mdd.admin.service.IChannelOaReplyKeywordService;
import com.mdd.admin.validate.channel.ChannelRpKeywordValidate;
import com.mdd.admin.validate.commons.IdValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpKeywordVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
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;
@RestController
@RequestMapping("api/channel/oaReplyKeyword")
@Api(tags = "公众号关键回复")
public class ChannelOaReplyKeywordController {
@Resource
IChannelOaReplyKeywordService iChannelOaReplyKeywordService;
@GetMapping("/list")
@ApiOperation(value="关键词回复列表")
public AjaxResult<PageResult<ChannelRpKeywordVo>> list(@Validated PageValidate pageValidate) {
PageResult<ChannelRpKeywordVo> list = iChannelOaReplyKeywordService.list(pageValidate);
return AjaxResult.success(list);
}
@GetMapping("/detail")
@ApiOperation(value="关键词回复详情")
public AjaxResult<ChannelRpKeywordVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
ChannelRpKeywordVo vo = iChannelOaReplyKeywordService.detail(id);
return AjaxResult.success(vo);
}
@PostMapping("/add")
@ApiOperation(value="关键词回复新增")
public AjaxResult<Object> add(@Validated @RequestBody ChannelRpKeywordValidate keywordValidate) {
iChannelOaReplyKeywordService.add(keywordValidate);
return AjaxResult.success();
}
@PostMapping("/edit")
@ApiOperation(value="关键词回复编辑")
public AjaxResult<Object> edit(@Validated @RequestBody ChannelRpKeywordValidate keywordValidate) {
iChannelOaReplyKeywordService.edit(keywordValidate);
return AjaxResult.success();
}
@PostMapping("/del")
@ApiOperation(value="关键词回复删除")
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
iChannelOaReplyKeywordService.del(idValidate.getId());
return AjaxResult.success();
}
@PostMapping("/status")
@ApiOperation(value="关键词回复状态")
public AjaxResult<Object> status(@Validated @RequestBody IdValidate idValidate) {
iChannelOaReplyKeywordService.status(idValidate.getId());
return AjaxResult.success();
}
}

View File

@@ -12,24 +12,24 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("api/channel/op")
@RequestMapping("/adminapi/channel/open_setting/")
@Api(tags = "微信开放渠道")
public class ChannelOpController {
@Resource
IChannelOpService iChannelOpService;
@GetMapping("/detail")
@GetMapping("/getConfig")
@ApiOperation(value="开放平台设置详情")
public AjaxResult<Object> detail() {
ChannelOpVo vo = iChannelOpService.detail();
public AjaxResult<Object> getConfig() {
ChannelOpVo vo = iChannelOpService.getConfig();
return AjaxResult.success(vo);
}
@PostMapping("/save")
@PostMapping("/setConfig")
@ApiOperation(value="开放平台设置保存")
public AjaxResult<Object> save(@Validated @RequestBody ChannelOpValidate opValidate) {
iChannelOpService.save(opValidate);
iChannelOpService.setConfig(opValidate);
return AjaxResult.success();
}

View File

@@ -1,39 +0,0 @@
package com.mdd.admin.controller.setting;
import com.mdd.admin.aop.Log;
import com.mdd.admin.service.ISettingCopyrightService;
import com.mdd.admin.validate.setting.SettingCopyrightValidate;
import com.mdd.admin.vo.setting.SettingCopyrightVo;
import com.mdd.common.core.AjaxResult;
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("api/setting/copyright")
@Api(tags = "配置网站版权")
public class SettingCopyrightController {
@Resource
ISettingCopyrightService iSettingCopyrightService;
@GetMapping("/detail")
@ApiOperation(value="网站版权信息")
public AjaxResult<List<SettingCopyrightVo>> detail() {
List<SettingCopyrightVo> list = iSettingCopyrightService.detail();
return AjaxResult.success(list);
}
@Log(title = "网站版权编辑")
@PostMapping("/save")
@ApiOperation(value="网站版权编辑")
public AjaxResult<Object> save(@Validated @RequestBody SettingCopyrightValidate copyrightValidate) {
iSettingCopyrightService.save(copyrightValidate);
return AjaxResult.success();
}
}

View File

@@ -1,38 +0,0 @@
package com.mdd.admin.controller.setting;
import com.mdd.admin.aop.Log;
import com.mdd.admin.service.ISettingProtocolService;
import com.mdd.admin.validate.setting.SettingProtocolValidate;
import com.mdd.admin.vo.setting.SettingProtocolDetailVo;
import com.mdd.common.core.AjaxResult;
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;
@RestController
@RequestMapping("api/setting/protocol")
@Api(tags = "配置政策协议")
public class SettingProtocolController {
@Resource
ISettingProtocolService iSettingProtocolService;
@GetMapping("/detail")
@ApiOperation(value="政策协议信息")
public AjaxResult<SettingProtocolDetailVo> detail() {
SettingProtocolDetailVo detail = iSettingProtocolService.detail();
return AjaxResult.success(detail);
}
@Log(title = "政策协议编辑")
@PostMapping("/save")
@ApiOperation(value="政策协议编辑")
public AjaxResult<Object> save(@Validated @RequestBody SettingProtocolValidate protocolValidate) {
iSettingProtocolService.save(protocolValidate);
return AjaxResult.success();
}
}

View File

@@ -1,8 +1,14 @@
package com.mdd.admin.controller.setting;
import com.mdd.admin.aop.Log;
import com.mdd.admin.service.ISettingCopyrightService;
import com.mdd.admin.service.ISettingProtocolService;
import com.mdd.admin.service.ISettingWebsiteService;
import com.mdd.admin.validate.setting.SettingCopyrightValidate;
import com.mdd.admin.validate.setting.SettingAgreementValidate;
import com.mdd.admin.validate.setting.SettingWebsiteValidate;
import com.mdd.admin.vo.setting.SettingCopyrightVo;
import com.mdd.admin.vo.setting.SettingAgreementVo;
import com.mdd.admin.vo.setting.SettingWebsiteVo;
import com.mdd.common.core.AjaxResult;
import io.swagger.annotations.Api;
@@ -11,28 +17,66 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
import java.util.List;
@RestController
@RequestMapping("api/setting/website")
@RequestMapping("adminapi/setting/web.web_setting")
@Api(tags = "配置网站信息")
public class SettingWebsiteController {
@Resource
ISettingWebsiteService iSettingWebsiteService;
@GetMapping("/detail")
@Resource
ISettingCopyrightService iSettingCopyrightService;
@Resource
ISettingProtocolService iSettingProtocolService;
@GetMapping("/getWebsite")
@ApiOperation(value="网站配置信息")
public AjaxResult<SettingWebsiteVo> detail() {
SettingWebsiteVo detail = iSettingWebsiteService.detail();
public AjaxResult<SettingWebsiteVo> getWebsite() {
SettingWebsiteVo detail = iSettingWebsiteService.getWebsite();
return AjaxResult.success(detail);
}
@Log(title = "网站配置编辑")
@PostMapping("/save")
@PostMapping("/setWebsite")
@ApiOperation(value="网站配置编辑")
public AjaxResult<Object> save(@Validated @RequestBody SettingWebsiteValidate websiteValidate) {
iSettingWebsiteService.save(websiteValidate);
public AjaxResult<Object> setWebsite(@Validated @RequestBody SettingWebsiteValidate websiteValidate) {
iSettingWebsiteService.setWebsite(websiteValidate);
return AjaxResult.success();
}
@GetMapping("/getCopyright")
@ApiOperation(value="网站版权信息")
public AjaxResult<List<SettingCopyrightVo>> getCopyright() {
List<SettingCopyrightVo> list = iSettingCopyrightService.getCopyright();
return AjaxResult.success(list);
}
@Log(title = "网站版权编辑")
@PostMapping("/setCopyright")
@ApiOperation(value="网站版权编辑")
public AjaxResult<Object> setCopyright(@Validated @RequestBody SettingCopyrightValidate copyrightValidate) {
iSettingCopyrightService.setCopyright(copyrightValidate);
return AjaxResult.success();
}
@GetMapping("/getAgreement")
@ApiOperation(value="政策协议信息")
public AjaxResult<SettingAgreementVo> getAgreement() {
SettingAgreementVo detail = iSettingProtocolService.getAgreement();
return AjaxResult.success(detail);
}
@Log(title = "政策协议编辑")
@PostMapping("/setAgreement")
@ApiOperation(value="政策协议编辑")
public AjaxResult<Object> setAgreement(@Validated @RequestBody SettingAgreementValidate protocolValidate) {
iSettingProtocolService.setAgreement(protocolValidate);
return AjaxResult.success();
}

View File

@@ -0,0 +1,74 @@
package com.mdd.admin.controller.system;
import com.mdd.admin.service.system.IJobsService;
import com.mdd.common.aop.NotPower;
import com.mdd.admin.validate.commons.IdValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.system.JobsCreateValidate;
import com.mdd.admin.validate.system.JobsSearchValidate;
import com.mdd.admin.validate.system.JobsUpdateValidate;
import com.mdd.admin.vo.system.JobsVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
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/jobs")
@Api(tags = "系统岗位管理")
public class JobsController {
@Resource
IJobsService iJobsService;
@NotPower
@GetMapping("/all")
@ApiOperation(value="所有岗位")
public AjaxResult<List<JobsVo>> all() {
List<JobsVo> list = iJobsService.all();
return AjaxResult.success(list);
}
@GetMapping("/lists")
@ApiOperation(value="岗位列表")
public AjaxResult<PageResult<JobsVo>> list(@Validated PageValidate pageValidate,
@Validated JobsSearchValidate searchValidate) {
PageResult<JobsVo> list = iJobsService.list(pageValidate, searchValidate);
return AjaxResult.success(list);
}
@GetMapping("/detail")
@ApiOperation(value="岗位详情")
public AjaxResult<JobsVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
JobsVo vo = iJobsService.detail(id);
return AjaxResult.success(vo);
}
@PostMapping("/add")
@ApiOperation(value="岗位新增")
public AjaxResult<Object> add(@Validated @RequestBody JobsCreateValidate createValidate) {
iJobsService.add(createValidate);
return AjaxResult.success();
}
@PostMapping("/edit")
@ApiOperation(value="岗位编辑")
public AjaxResult<Object> edit(@Validated @RequestBody JobsUpdateValidate updateValidate) {
iJobsService.edit(updateValidate);
return AjaxResult.success();
}
@PostMapping("/delete")
@ApiOperation(value="岗位删除")
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
iJobsService.del(idValidate.getId());
return AjaxResult.success();
}
}

View File

@@ -14,7 +14,7 @@ public interface IChannelH5ConfigService {
* @author fzr
* @return ChannelH5Vo
*/
ChannelH5Vo detail();
ChannelH5Vo getConfig();
/**
* H5设置保存
@@ -22,6 +22,6 @@ public interface IChannelH5ConfigService {
* @author fzr
* @param channelH5Validate 参数
*/
void save(ChannelH5Validate channelH5Validate);
void setConfig(ChannelH5Validate channelH5Validate);
}

View File

@@ -14,7 +14,7 @@ public interface IChannelMpConfigService {
* @author fzr
* @return ChannelMpVo
*/
ChannelMpVo detail();
ChannelMpVo getConfig();
/**
* 微信小程序设置保存
@@ -22,6 +22,6 @@ public interface IChannelMpConfigService {
* @author fzr
* @param channelMpValidate 参数
*/
void save(ChannelMpValidate channelMpValidate);
void setConfig(ChannelMpValidate channelMpValidate);
}

View File

@@ -15,7 +15,7 @@ public interface IChannelOaConfigService {
* @author fzr
* @return ChannelOaVo
*/
ChannelOaVo detail();
ChannelOaVo getConfig();
/**
* 公众号设置保存
@@ -23,6 +23,6 @@ public interface IChannelOaConfigService {
* @author fzr
* @param channelOaValidate 参数
*/
void save(ChannelOaValidate channelOaValidate);
void setConfig(ChannelOaValidate channelOaValidate);
}

View File

@@ -1,63 +0,0 @@
package com.mdd.admin.service;
import com.mdd.admin.validate.channel.ChannelRpFollowsValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpFollowsVo;
import com.mdd.common.core.PageResult;
/**
* 公众号关注回复服务接口类
*/
public interface IChannelOaReplyFollowService {
/**
* 关注回复列表
*
* @author fzr
* @param pageValidate 分页参数
* @return PageResult<ChannelRpFollowsVo>
*/
PageResult<ChannelRpFollowsVo> list(PageValidate pageValidate);
/**
* 关注回复详情
*
* @author fzr
* @param id 主键
* @return ChannelRpFollowsVo
*/
ChannelRpFollowsVo detail(Integer id);
/**
* 关注回复新增
*
* @author fzr
* @param followsValidate 参数
*/
void add(ChannelRpFollowsValidate followsValidate);
/**
* 关注回复编辑
*
* @author fzr
* @param followsValidate 参数
*/
void edit(ChannelRpFollowsValidate followsValidate);
/**
* 关注回复删除
*
* @author fzr
* @param id 主键
*/
void del(Integer id);
/**
* 关注回复状态
*
* @author fzr
* @param id 主键
*/
void status(Integer id);
}

View File

@@ -1,64 +0,0 @@
package com.mdd.admin.service;
import com.mdd.admin.validate.channel.ChannelRpKeywordValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpKeywordVo;
import com.mdd.common.core.PageResult;
/**
* 公众号关键词回复服务接口类
*/
public interface IChannelOaReplyKeywordService {
/**
* 关键词回复列表
*
* @author fzr
* @param pageValidate 分页参数
* @return PageResult<ChannelRpKeywordVo>
*/
PageResult<ChannelRpKeywordVo> list(PageValidate pageValidate);
/**
* 关键词回复详情
*
* @author fzr
* @param id 主键
* @return ChannelRpKeywordVo
*/
ChannelRpKeywordVo detail(Integer id);
/**
* 关键词回复新增
*
* @author fzr
* @param keywordValidate 参数
*/
void add(ChannelRpKeywordValidate keywordValidate);
/**
* 关键词回复编辑
*
* @author fzr
* @param keywordValidate 参数
*/
void edit(ChannelRpKeywordValidate keywordValidate);
/**
* 关键词回复删除
*
* @author fzr
* @param id 主键
*/
void del(Integer id);
/**
* 关键词回复状态
*
* @author fzr
* @param id 主键
*/
void status(Integer id);
}

View File

@@ -1,14 +1,14 @@
package com.mdd.admin.service;
import com.mdd.admin.validate.channel.ChannelRpDefaultValidate;
import com.mdd.admin.validate.channel.ChannelRpValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpDefaultVo;
import com.mdd.admin.vo.channel.ChannelRpVo;
import com.mdd.common.core.PageResult;
/**
* 公众号默认回复服务接口类
*/
public interface IChannelOaReplyDefaultService {
public interface IChannelOaReplyService {
/**
* 默认回复列表
@@ -17,7 +17,7 @@ public interface IChannelOaReplyDefaultService {
* @param pageValidate 分页参数
* @return PageResult<ChannelRpDefaultVo>
*/
PageResult<ChannelRpDefaultVo> list(PageValidate pageValidate);
PageResult<ChannelRpVo> list(PageValidate pageValidate, Integer replyType);
/**
* 默认回复详情
@@ -26,7 +26,7 @@ public interface IChannelOaReplyDefaultService {
* @param id 主键
* @return ChannelRpDefaultVo
*/
ChannelRpDefaultVo detail(Integer id);
ChannelRpVo detail(Integer id);
/**
* 默认回复新增
@@ -34,7 +34,7 @@ public interface IChannelOaReplyDefaultService {
* @author fzr
* @param defaultValidate 参数
*/
void add(ChannelRpDefaultValidate defaultValidate);
void add(ChannelRpValidate defaultValidate);
/**
* 默认回复编辑
@@ -42,7 +42,7 @@ public interface IChannelOaReplyDefaultService {
* @author fzr
* @param defaultValidate 参数
*/
void edit(ChannelRpDefaultValidate defaultValidate);
void edit(ChannelRpValidate defaultValidate);
/**
* 默认回复删除

View File

@@ -14,7 +14,7 @@ public interface IChannelOpService {
* @author fzr
* @return ChannelOpVo
*/
ChannelOpVo detail();
ChannelOpVo getConfig();
/**
* 开放平台设置保存
@@ -22,6 +22,6 @@ public interface IChannelOpService {
* @author fzr
* @param opValidate 参数
*/
void save(ChannelOpValidate opValidate);
void setConfig(ChannelOpValidate opValidate);
}

View File

@@ -16,7 +16,7 @@ public interface ISettingCopyrightService {
* @author fzr
* @return List<SettingCopyrightVo>
*/
List<SettingCopyrightVo> detail();
List<SettingCopyrightVo> getCopyright();
/**
* 保存网站备案信息
@@ -24,6 +24,6 @@ public interface ISettingCopyrightService {
* @author fzr
* @param copyrightValidate 参数
*/
void save(SettingCopyrightValidate copyrightValidate);
void setCopyright(SettingCopyrightValidate copyrightValidate);
}

View File

@@ -1,9 +1,7 @@
package com.mdd.admin.service;
import com.mdd.admin.validate.setting.SettingProtocolValidate;
import com.mdd.admin.vo.setting.SettingProtocolDetailVo;
import java.util.Map;
import com.mdd.admin.validate.setting.SettingAgreementValidate;
import com.mdd.admin.vo.setting.SettingAgreementVo;
/**
* 政策协议服务接口类
@@ -16,7 +14,7 @@ public interface ISettingProtocolService {
* @author fzr
* @return SettingProtocolDetailVo
*/
SettingProtocolDetailVo detail();
SettingAgreementVo getAgreement();
/**
* 保存政策协议信息
@@ -24,6 +22,6 @@ public interface ISettingProtocolService {
* @author fzr
* @param protocolValidate 参数
*/
void save(SettingProtocolValidate protocolValidate);
void setAgreement(SettingAgreementValidate protocolValidate);
}

View File

@@ -16,7 +16,7 @@ public interface ISettingWebsiteService {
* @author fzr
* @return SettingWebsiteVo
*/
SettingWebsiteVo detail();
SettingWebsiteVo getWebsite();
/**
* 保存网站信息
@@ -24,6 +24,6 @@ public interface ISettingWebsiteService {
* @author fzr
* @param websiteValidate 参数
*/
void save(SettingWebsiteValidate websiteValidate);
void setWebsite(SettingWebsiteValidate websiteValidate);
}

View File

@@ -4,6 +4,7 @@ import com.mdd.admin.service.IChannelH5ConfigService;
import com.mdd.admin.validate.channel.ChannelH5Validate;
import com.mdd.admin.vo.channel.ChannelH5Vo;
import com.mdd.common.util.ConfigUtils;
import com.mdd.common.util.YmlUtils;
import org.springframework.stereotype.Service;
import java.util.Map;
@@ -21,12 +22,13 @@ public class ChannelH5ConfigServiceImpl implements IChannelH5ConfigService {
* @return ChannelH5Vo
*/
@Override
public ChannelH5Vo detail() {
Map<String, String> config = ConfigUtils.get("h5_channel");
public ChannelH5Vo getConfig() {
Map<String, String> config = ConfigUtils.get("web_page");
ChannelH5Vo vo = new ChannelH5Vo();
vo.setStatus(Integer.parseInt(config.getOrDefault("status", "0")));
vo.setClose(Integer.parseInt(config.getOrDefault("close", "0")));
vo.setUrl(config.getOrDefault("url", ""));
vo.setStatus(Integer.parseInt(config.getOrDefault("status", "1")));
vo.setPageStatus(Integer.parseInt(config.getOrDefault("page_status", "1")));
vo.setUrl(config.getOrDefault("url", YmlUtils.get("like.front-url")));
vo.setPageUrl(config.getOrDefault("page_url", ""));
return vo;
}
@@ -37,10 +39,11 @@ public class ChannelH5ConfigServiceImpl implements IChannelH5ConfigService {
* @param channelH5Validate 参数
*/
@Override
public void save(ChannelH5Validate channelH5Validate) {
ConfigUtils.set("h5_channel", "status", String.valueOf(channelH5Validate.getStatus()));
ConfigUtils.set("h5_channel", "close", String.valueOf(channelH5Validate.getClose()));
ConfigUtils.set("h5_channel", "url", channelH5Validate.getUrl());
public void setConfig(ChannelH5Validate channelH5Validate) {
ConfigUtils.set("web_page", "status", String.valueOf(channelH5Validate.getStatus()));
ConfigUtils.set("web_page", "page_status", String.valueOf(channelH5Validate.getPageStatus()));
ConfigUtils.set("web_page", "url", channelH5Validate.getUrl());
ConfigUtils.set("web_page", "page_url", channelH5Validate.getPageUrl());
}
}

View File

@@ -21,25 +21,25 @@ public class ChannelMpConfigServiceImpl implements IChannelMpConfigService {
* @return ChannelMpVo
*/
@Override
public ChannelMpVo detail() {
Map<String, String> config = ConfigUtils.get("mp_channel");
public ChannelMpVo getConfig() {
Map<String, String> config = ConfigUtils.get("mnp_setting");
String env = YmlUtils.get("like.production");
boolean envStatus = StringUtils.isNotNull(env) && env.equals("true");
ChannelMpVo vo = new ChannelMpVo();
vo.setName(config.getOrDefault("name", ""));
vo.setPrimaryId(config.getOrDefault("primaryId", ""));
vo.setAppId(envStatus ? "******" : config.getOrDefault("appId", ""));
vo.setAppSecret(envStatus ? "******" : config.getOrDefault("appSecret", ""));
vo.setQrCode(UrlUtils.toAbsoluteUrl(config.getOrDefault("qrCode", "")));
vo.setOriginalId(config.getOrDefault("original_id", ""));
vo.setAppId(envStatus ? "******" : config.getOrDefault("app_id", ""));
vo.setAppSecret(envStatus ? "******" : config.getOrDefault("app_secret", ""));
vo.setQrCode(UrlUtils.toAbsoluteUrl(config.getOrDefault("qr_code", "")));
String domain = RequestUtils.domain();
vo.setRequestDomain(domain);
vo.setSocketDomain(domain);
vo.setSocketDomain(domain.replace("https://", "wss://").replace("http://", "wss://"));
vo.setUploadFileDomain(domain);
vo.setDownloadFileDomain(domain);
vo.setUdpDomain(domain);
vo.setUdpDomain(domain.replace("https://", "udp://").replace("http://", "udp://"));
vo.setTcpDomain(domain);
vo.setBusinessDomain(domain);
@@ -53,12 +53,12 @@ public class ChannelMpConfigServiceImpl implements IChannelMpConfigService {
* @param channelMpValidate 参数
*/
@Override
public void save(ChannelMpValidate channelMpValidate) {
ConfigUtils.set("mp_channel", "name", channelMpValidate.getName());
ConfigUtils.set("mp_channel", "primaryId", channelMpValidate.getPrimaryId());
ConfigUtils.set("mp_channel", "appId", channelMpValidate.getAppId());
ConfigUtils.set("mp_channel", "appSecret", channelMpValidate.getAppSecret());
ConfigUtils.set("mp_channel", "qrCode", UrlUtils.toRelativeUrl(channelMpValidate.getQrCode()));
public void setConfig(ChannelMpValidate channelMpValidate) {
ConfigUtils.set("mnp_setting", "name", channelMpValidate.getName());
ConfigUtils.set("mnp_setting", "original_id", channelMpValidate.getOriginalId());
ConfigUtils.set("mnp_setting", "app_id", channelMpValidate.getAppId());
ConfigUtils.set("mnp_setting", "app_secret", channelMpValidate.getAppSecret());
ConfigUtils.set("mnp_setting", "qr_code", UrlUtils.toRelativeUrl(channelMpValidate.getQrCode()));
}
}

View File

@@ -2,9 +2,9 @@ package com.mdd.admin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mdd.admin.service.IChannelOaCallBackService;
import com.mdd.common.entity.OfficialReply;
import com.mdd.common.entity.OfficialAccountReply;
import com.mdd.common.exception.OperateException;
import com.mdd.common.mapper.OfficialReplyMapper;
import com.mdd.common.mapper.OfficialAccountReplyMapper;
import com.mdd.common.plugin.wechat.WxMnpDriver;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.mp.api.WxMpService;
@@ -22,7 +22,7 @@ public class ChannelOaCallBackServiceImpl implements IChannelOaCallBackService {
@Resource
private OfficialReplyMapper officialReplyMapper;
private OfficialAccountReplyMapper officialAccountReplyMapper;
/**
@@ -140,15 +140,15 @@ public class ChannelOaCallBackServiceImpl implements IChannelOaCallBackService {
* @return String
*/
private String keyMsg(WxMpXmlMessage wxMessage) {
List<OfficialReply> oaReplyList = officialReplyMapper.selectList(
new QueryWrapper<OfficialReply>()
List<OfficialAccountReply> oaReplyList = officialAccountReplyMapper.selectList(
new QueryWrapper<OfficialAccountReply>()
.eq("reply_type", 2)
.eq("is_delete", 0)
.eq("status", 1)
.orderByAsc("id"));
String msg = null;
for (OfficialReply oaReply : oaReplyList) {
for (OfficialAccountReply oaReply : oaReplyList) {
// 全匹配
if (oaReply.getMatchingType() == 1 && oaReply.getKeyword().equals(wxMessage.getContent())) {
msg = oaReply.getContent();
@@ -168,15 +168,15 @@ public class ChannelOaCallBackServiceImpl implements IChannelOaCallBackService {
* @return String
*/
private String defaultMsg() {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
OfficialAccountReply officialAccountReply = officialAccountReplyMapper.selectOne(new QueryWrapper<OfficialAccountReply>()
.eq("reply_type", 3)
.eq("is_delete", 0)
.eq("status", 1)
.last("limit 1"));
if (officialReply == null) {
if (officialAccountReply == null) {
return null;
}
return officialReply.getContent();
return officialAccountReply.getContent();
}
/**
@@ -185,15 +185,15 @@ public class ChannelOaCallBackServiceImpl implements IChannelOaCallBackService {
* @return String
*/
private String subMsg() {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
OfficialAccountReply officialAccountReply = officialAccountReplyMapper.selectOne(new QueryWrapper<OfficialAccountReply>()
.eq("reply_type", 1)
.eq("is_delete", 0)
.eq("status", 1)
.last("limit 1"));
if (officialReply == null) {
if (officialAccountReply == null) {
return defaultMsg();
}
return officialReply.getContent();
return officialAccountReply.getContent();
}
}

View File

@@ -21,27 +21,27 @@ public class ChannelOaConfigServiceImpl implements IChannelOaConfigService {
* @return ChannelOaVo
*/
@Override
public ChannelOaVo detail() {
Map<String, String> config = ConfigUtils.get("oa_channel");
public ChannelOaVo getConfig() {
Map<String, String> config = ConfigUtils.get("oa_setting");
ChannelOaVo vo = new ChannelOaVo();
String env = YmlUtils.get("like.production");
boolean envStatus = StringUtils.isNotNull(env) && env.equals("true");
vo.setQrCode(UrlUtils.toAbsoluteUrl(config.getOrDefault("qrCode", "")));
vo.setName(config.getOrDefault("name", ""));
vo.setPrimaryId(config.getOrDefault("primaryId", ""));
vo.setAppId(envStatus ? "******" : config.getOrDefault("appId", ""));
vo.setAppSecret(envStatus ? "******" : config.getOrDefault("appSecret", ""));
vo.setUrl(config.getOrDefault("url", ""));
vo.setToken(config.getOrDefault("token", ""));
vo.setEncodingAesKey(config.getOrDefault("encodingAesKey", ""));
vo.setEncryptionType(Integer.parseInt(config.getOrDefault("encryptionType", "1")));
String domain = RequestUtils.domain();
vo.setQrCode(UrlUtils.toAbsoluteUrl(config.getOrDefault("qr_code", "")));
vo.setName(config.getOrDefault("name", ""));
vo.setOriginalId(config.getOrDefault("original_id", ""));
vo.setAppId(envStatus ? "******" : config.getOrDefault("app_id", ""));
vo.setAppSecret(envStatus ? "******" : config.getOrDefault("app_secret", ""));
vo.setUrl(domain + (StringUtils.isNotEmpty(config.getOrDefault("url", "")) ? config.getOrDefault("url", "") : "/adminapi/channel/oa/callback"));
vo.setToken(config.getOrDefault("token", ""));
vo.setEncodingAesKey(config.getOrDefault("encoding_aes_key", ""));
vo.setEncryptionType(Integer.parseInt(config.getOrDefault("encryption_type", "1")));
vo.setBusinessDomain(domain);
vo.setJsDomain(domain);
vo.setWebDomain(domain);
vo.setJsSecureDomain(domain);
vo.setWebAuthDomain(domain);
return vo;
}
@@ -53,16 +53,16 @@ public class ChannelOaConfigServiceImpl implements IChannelOaConfigService {
* @param channelOaValidate 参数
*/
@Override
public void save(ChannelOaValidate channelOaValidate) {
ConfigUtils.set("oa_channel", "name", channelOaValidate.getName());
ConfigUtils.set("oa_channel", "primaryId", channelOaValidate.getPrimaryId());
ConfigUtils.set("oa_channel", "qrCode", UrlUtils.toRelativeUrl(channelOaValidate.getQrCode()));
ConfigUtils.set("oa_channel", "appId", channelOaValidate.getAppId());
ConfigUtils.set("oa_channel", "appSecret", channelOaValidate.getAppSecret());
ConfigUtils.set("oa_channel", "url", channelOaValidate.getUrl());
ConfigUtils.set("oa_channel", "token", channelOaValidate.getToken());
ConfigUtils.set("oa_channel", "encodingAesKey", channelOaValidate.getEncodingAesKey());
ConfigUtils.set("oa_channel", "encryptionType", String.valueOf(channelOaValidate.getEncryptionType()));
public void setConfig(ChannelOaValidate channelOaValidate) {
ConfigUtils.set("oa_setting", "name", channelOaValidate.getName());
ConfigUtils.set("oa_setting", "original_id", channelOaValidate.getOriginalId());
ConfigUtils.set("oa_setting", "qr_code", UrlUtils.toRelativeUrl(channelOaValidate.getQrCode()));
ConfigUtils.set("oa_setting", "app_id", channelOaValidate.getAppId());
ConfigUtils.set("oa_setting", "app_secret", channelOaValidate.getAppSecret());
// ConfigUtils.set("oa_setting", "url", channelOaValidate.getUrl());
ConfigUtils.set("oa_setting", "token", channelOaValidate.getToken());
ConfigUtils.set("oa_setting", "encoding_aes_key", channelOaValidate.getEncodingAesKey());
ConfigUtils.set("oa_setting", "encryption_type", String.valueOf(channelOaValidate.getEncryptionType()));
}
}

View File

@@ -30,7 +30,7 @@ public class ChannelOaMenusServiceImpl implements IChannelOaMenusService {
*/
@Override
public JSONArray detail() {
String json = ConfigUtils.get("oa_channel", "menus", "[]");
String json = ConfigUtils.get("oa_setting", "menus", "[]");
return JSONArray.parseArray(json);
}
@@ -106,7 +106,7 @@ public class ChannelOaMenusServiceImpl implements IChannelOaMenusService {
}
}
ConfigUtils.set("oa_channel", "menus", JSON.toJSONString(objs));
ConfigUtils.set("oa_setting", "menus", JSON.toJSONString(objs));
if (isPublish) {
try {

View File

@@ -1,189 +0,0 @@
package com.mdd.admin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.service.IChannelOaReplyDefaultService;
import com.mdd.admin.validate.channel.ChannelRpDefaultValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpDefaultVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.OfficialReply;
import com.mdd.common.mapper.OfficialReplyMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
/**
* 公众号默认回复服务实现类
*/
@Service
public class ChannelOaReplyDefaultServiceImpl implements IChannelOaReplyDefaultService {
@Resource
OfficialReplyMapper officialReplyMapper;
/**
* 默认回复列表
*
* @author fzr
* @param pageValidate 分页参数
* @return PageResult<ChannelOaReplyVo>
*/
@Override
public PageResult<ChannelRpDefaultVo> list(PageValidate pageValidate) {
Integer pageNo = pageValidate.getPage_no();
Integer pageSize = pageValidate.getPage_size();
IPage<OfficialReply> iPage = officialReplyMapper.selectPage(new Page<>(pageNo, pageSize),
new QueryWrapper<OfficialReply>()
.eq("reply_type", 3)
.eq("is_delete", 0)
.orderByDesc(Arrays.asList("sort", "id")));
List<ChannelRpDefaultVo> list = new LinkedList<>();
for (OfficialReply officialReply : iPage.getRecords()) {
ChannelRpDefaultVo vo = new ChannelRpDefaultVo();
BeanUtils.copyProperties(officialReply, vo);
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 默认回复详情
*
* @author fzr
* @param id 主键
* @return ChannelOaReplyDefaultVo
*/
@Override
public ChannelRpDefaultVo detail(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "默认数据不存在!");
ChannelRpDefaultVo vo = new ChannelRpDefaultVo();
BeanUtils.copyProperties(officialReply, vo);
return vo;
}
/**
* 默认回复新
*
* @author fzr
* @param defaultValidate 参数
*/
@Override
public void add(ChannelRpDefaultValidate defaultValidate) {
if (defaultValidate.getStatus().equals(1)) {
OfficialReply reply = new OfficialReply();
reply.setStatus(0);
officialReplyMapper.update(reply, new QueryWrapper<OfficialReply>().eq("reply_type", 3));
}
OfficialReply officialReply = new OfficialReply();
officialReply.setReplyType(3);
officialReply.setContent(defaultValidate.getContent());
officialReply.setName(defaultValidate.getName());
officialReply.setContentType(defaultValidate.getContentType());
officialReply.setStatus(defaultValidate.getStatus());
officialReply.setSort(defaultValidate.getSort());
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReply.setCreateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.insert(officialReply);
}
/**
* 默认回复编辑
*
* @author fzr
* @param defaultValidate 参数
*/
@Transactional
@Override
public void edit(ChannelRpDefaultValidate defaultValidate) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", defaultValidate.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "默认回复数据不存在!");
if (defaultValidate.getStatus().equals(1)) {
OfficialReply reply = new OfficialReply();
reply.setStatus(0);
officialReplyMapper.update(reply, new QueryWrapper<OfficialReply>().eq("reply_type", officialReply.getReplyType()));
}
officialReply.setReplyType(3);
officialReply.setId(defaultValidate.getId());
officialReply.setName(defaultValidate.getName());
officialReply.setContent(defaultValidate.getContent());
officialReply.setContentType(defaultValidate.getContentType());
officialReply.setStatus(defaultValidate.getStatus());
officialReply.setSort(defaultValidate.getSort());
officialReply.setCreateTime(System.currentTimeMillis() / 1000);
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
/**
* 默认回复删除
*
* @author fzr
* @param id 主键
*/
@Override
public void del(Integer id) {
OfficialReply officialReply =officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "默认回复数据不存在了!");
officialReply.setIsDelete(1);
officialReply.setDeleteTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
/**
* 默认回复状态
*
* @author fzr
* @param id 主键
*/
@Override
public void status(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("is_delete", 0)
.eq("id", id)
.last("limit 1"));
Assert.notNull(officialReply, "默认回复数据不存在!");
int status = officialReply.getStatus() == 1 ? 0 : 1;
if (status == 1) {
OfficialReply reply = new OfficialReply();
reply.setStatus(0);
reply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.update(reply, new QueryWrapper<OfficialReply>()
.eq("reply_type", officialReply.getReplyType()));
}
officialReply.setId(id);
officialReply.setStatus(status);
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
}

View File

@@ -1,196 +0,0 @@
package com.mdd.admin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.service.IChannelOaReplyFollowService;
import com.mdd.admin.validate.channel.ChannelRpFollowsValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpFollowsVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.OfficialReply;
import com.mdd.common.mapper.OfficialReplyMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* 公众号默认回复服务实现类
*/
@Service
public class ChannelOaReplyFollowServiceImpl implements IChannelOaReplyFollowService {
@Resource
OfficialReplyMapper officialReplyMapper;
/**
* 关注回复列表
*
* @author fzr
* @param pageValidate 分页参数
* @return PageResult<ChannelRpFollowsVo>
*/
@Override
public PageResult<ChannelRpFollowsVo> list(PageValidate pageValidate) {
Integer pageNo = pageValidate.getPage_no();
Integer pageSize = pageValidate.getPage_size();
QueryWrapper<OfficialReply> queryWrapper = new QueryWrapper<>();
queryWrapper
.eq("reply_type", 1)
.eq("is_delete", 0)
.orderByDesc(Arrays.asList("sort", "id"));
IPage<OfficialReply> iPage = officialReplyMapper.selectPage(new Page<>(pageNo, pageSize),
new QueryWrapper<OfficialReply>()
.eq("reply_type", 1)
.eq("is_delete", 0)
.orderByDesc(Arrays.asList("sort", "id")));
List<ChannelRpFollowsVo> list = new LinkedList<>();
for (OfficialReply officialReply : iPage.getRecords()) {
ChannelRpFollowsVo vo = new ChannelRpFollowsVo();
BeanUtils.copyProperties(officialReply, vo);
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 关注回复详情
*
* @author fzr
* @param id 主键
* @return ChannelOaReplyDefaultVo
*/
@Override
public ChannelRpFollowsVo detail(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "关注回复数据不存在!");
ChannelRpFollowsVo vo = new ChannelRpFollowsVo();
BeanUtils.copyProperties(officialReply, vo);
return vo;
}
/**
* 关注回复新
*
* @author fzr
* @param followsValidate 参数
*/
@Override
public void add(ChannelRpFollowsValidate followsValidate) {
OfficialReply reply = new OfficialReply();
if (followsValidate.getStatus().equals(1)) {
reply.setStatus(1);
officialReplyMapper.update(reply, new QueryWrapper<OfficialReply>().eq("reply_type", 1));
}
OfficialReply officialReply = new OfficialReply();
officialReply.setReplyType(1);
officialReply.setName(followsValidate.getName());
officialReply.setContent(followsValidate.getContent());
officialReply.setContentType(followsValidate.getContentType());
officialReply.setStatus(followsValidate.getStatus());
officialReply.setSort(followsValidate.getSort());
officialReply.setCreateTime(System.currentTimeMillis() / 1000);
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.insert(officialReply);
}
/**
* 关注回复编辑
*
* @author fzr
* @param followsValidate 参数
*/
@Transactional
@Override
public void edit(ChannelRpFollowsValidate followsValidate) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", followsValidate.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "关注回复数据不存在!");
if (followsValidate.getStatus().equals(1)) {
OfficialReply reply = new OfficialReply();
reply.setStatus(0);
officialReplyMapper.update(reply, new QueryWrapper<OfficialReply>().eq("reply_type", officialReply.getReplyType()));
}
officialReply.setId(followsValidate.getId());
officialReply.setReplyType(1);
officialReply.setName(followsValidate.getName());
officialReply.setContent(followsValidate.getContent());
officialReply.setContentType(followsValidate.getContentType());
officialReply.setStatus(followsValidate.getStatus());
officialReply.setSort(followsValidate.getSort());
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
/**
* 关注回复删除
*
* @author fzr
* @param id 主键
*/
@Override
public void del(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "关注回复数据不存在了!");
officialReply.setIsDelete(1);
officialReply.setDeleteTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
/**
* 默认回复状态
*
* @author fzr
* @param id 主键
*/
@Override
public void status(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("is_delete", 0)
.eq("id", id)
.last("limit 1"));
Assert.notNull(officialReply, "关注回复数据不存在!!");
int status = officialReply.getStatus() == 1 ? 0 : 1;
if (status == 1) {
OfficialReply reply = new OfficialReply();
reply.setStatus(0);
officialReplyMapper.update(reply, new QueryWrapper<OfficialReply>()
.eq("reply_type", officialReply.getReplyType()));
}
officialReply.setId(id);
officialReply.setStatus(status);
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
}

View File

@@ -1,174 +0,0 @@
package com.mdd.admin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.service.IChannelOaReplyKeywordService;
import com.mdd.admin.validate.channel.ChannelRpKeywordValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpKeywordVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.OfficialReply;
import com.mdd.common.mapper.OfficialReplyMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* 公众号键词回复服务实现类
*/
@Service
public class ChannelOaReplyKeywordServiceImpl implements IChannelOaReplyKeywordService {
@Resource
OfficialReplyMapper officialReplyMapper;
/**
* 关键词回复列表
*
* @author fzr
* @param pageValidate 分页参数
* @return List<ChannelRpKeywordVo>
*/
@Override
public PageResult<ChannelRpKeywordVo> list(PageValidate pageValidate) {
Integer pageNo = pageValidate.getPage_no();
Integer pageSize = pageValidate.getPage_size();
IPage<OfficialReply> iPage = officialReplyMapper.selectPage(new Page<>(pageNo, pageSize),
new QueryWrapper<OfficialReply>()
.eq("reply_type", 2)
.eq("is_delete", 0)
.orderByDesc(Arrays.asList("sort", "id")));
List<ChannelRpKeywordVo> list = new LinkedList<>();
for (OfficialReply officialReply : iPage.getRecords()) {
ChannelRpKeywordVo vo = new ChannelRpKeywordVo();
BeanUtils.copyProperties(officialReply, vo);
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 关键词回复详情
*
* @author fzr
* @param id 主键
* @return ChannelRpKeywordVo
*/
@Override
public ChannelRpKeywordVo detail(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "数据不存在!");
ChannelRpKeywordVo vo = new ChannelRpKeywordVo();
BeanUtils.copyProperties(officialReply, vo);
return vo;
}
/**
* 关注回复新
*
* @author fzr
* @param keywordValidate 参数
*/
@Override
public void add(ChannelRpKeywordValidate keywordValidate) {
OfficialReply officialReply = new OfficialReply();
officialReply.setReplyType(2);
officialReply.setName(keywordValidate.getName());
officialReply.setContent(keywordValidate.getContent());
officialReply.setContentType(keywordValidate.getContentType());
officialReply.setStatus(keywordValidate.getStatus());
officialReply.setKeyword(keywordValidate.getKeyword());
officialReply.setSort(keywordValidate.getSort());
officialReply.setMatchingType(keywordValidate.getMatchingType());
officialReply.setCreateTime(System.currentTimeMillis() / 1000);
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.insert(officialReply);
}
/**
* 关注回复编辑
*
* @author fzr
* @param keywordValidate 参数
*/
@Transactional
@Override
public void edit(ChannelRpKeywordValidate keywordValidate) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", keywordValidate.getId())
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "关键词回复数据不存在!");
officialReply.setReplyType(2);
officialReply.setId(keywordValidate.getId());
officialReply.setName(keywordValidate.getName());
officialReply.setContent(keywordValidate.getContent());
officialReply.setContentType(keywordValidate.getContentType());
officialReply.setStatus(keywordValidate.getStatus());
officialReply.setKeyword(keywordValidate.getKeyword());
officialReply.setMatchingType(keywordValidate.getMatchingType());
officialReply.setSort(keywordValidate.getSort());
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
/**
* 关注回复删除
*
* @author fzr
* @param id 主键
*/
@Override
public void del(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(officialReply, "关键词回复数据不存在了!");
officialReply.setIsDelete(1);
officialReply.setDeleteTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
/**
* 默认回复状态
*
* @author fzr
* @param id 主键
*/
@Override
public void status(Integer id) {
OfficialReply officialReply = officialReplyMapper.selectOne(new QueryWrapper<OfficialReply>()
.eq("is_delete", 0)
.eq("id", id)
.last("limit 1"));
Assert.notNull(officialReply, "关键词回复数据不存在!!");
int status = officialReply.getStatus() == 1 ? 0 : 1;
officialReply.setId(id);
officialReply.setStatus(status);
officialReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialReplyMapper.updateById(officialReply);
}
}

View File

@@ -0,0 +1,207 @@
package com.mdd.admin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.service.IChannelOaReplyService;
import com.mdd.admin.validate.channel.ChannelRpValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.channel.ChannelRpVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.OfficialAccountReply;
import com.mdd.common.mapper.OfficialAccountReplyMapper;
import com.mdd.common.util.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
/**
* 公众号默认回复服务实现类
*/
@Service
public class ChannelOaReplyServiceImpl implements IChannelOaReplyService {
@Resource
OfficialAccountReplyMapper officialAccountReplyMapper;
/**
* 默认回复列表
*
* @author fzr
* @param pageValidate 分页参数
* @return PageResult<ChannelOaReplyVo>
*/
@Override
public PageResult<ChannelRpVo> list(PageValidate pageValidate, Integer replyType) {
Integer pageNo = pageValidate.getPage_no();
Integer pageSize = pageValidate.getPage_size();
IPage<OfficialAccountReply> iPage = officialAccountReplyMapper.selectPage(new Page<>(pageNo, pageSize),
new QueryWrapper<OfficialAccountReply>()
.eq("reply_type", replyType)
.isNull("delete_time")
.orderByDesc(Arrays.asList("sort", "id")));
List<ChannelRpVo> list = new LinkedList<>();
for (OfficialAccountReply officialAccountReply : iPage.getRecords()) {
ChannelRpVo vo = new ChannelRpVo();
BeanUtils.copyProperties(officialAccountReply, vo);
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 默认回复详情
*
* @author fzr
* @param id 主键
* @return ChannelOaReplyDefaultVo
*/
@Override
public ChannelRpVo detail(Integer id) {
OfficialAccountReply officialAccountReply = officialAccountReplyMapper.selectOne(new QueryWrapper<OfficialAccountReply>()
.eq("id", id)
.isNull("delete_time")
.last("limit 1"));
Assert.notNull(officialAccountReply, "默认数据不存在!");
ChannelRpVo vo = new ChannelRpVo();
BeanUtils.copyProperties(officialAccountReply, vo);
return vo;
}
/**
* 默认回复新
*
* @author fzr
* @param defaultValidate 参数
*/
@Override
public void add(ChannelRpValidate defaultValidate) {
if (defaultValidate.getReplyType().equals(3)) {
if (defaultValidate.getStatus().equals(1)) {
OfficialAccountReply reply = new OfficialAccountReply();
reply.setStatus(0);
officialAccountReplyMapper.update(reply, new QueryWrapper<OfficialAccountReply>().eq("reply_type", 3));
}
}
if (defaultValidate.getReplyType().equals(2)) {
Assert.isTrue(StringUtils.isNotEmpty(defaultValidate.getKeyword()), "关键词不能为空");
}
OfficialAccountReply officialAccountReply = new OfficialAccountReply();
officialAccountReply.setReplyType(defaultValidate.getReplyType());
officialAccountReply.setContent(defaultValidate.getContent());
officialAccountReply.setName(defaultValidate.getName());
officialAccountReply.setContentType(defaultValidate.getContentType());
officialAccountReply.setStatus(defaultValidate.getStatus());
officialAccountReply.setKeyword(defaultValidate.getKeyword());
officialAccountReply.setMatchingType(defaultValidate.getMatchingType());
officialAccountReply.setSort(defaultValidate.getSort());
officialAccountReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialAccountReply.setCreateTime(System.currentTimeMillis() / 1000);
officialAccountReplyMapper.insert(officialAccountReply);
}
/**
* 默认回复编辑
*
* @author fzr
* @param defaultValidate 参数
*/
@Transactional
@Override
public void edit(ChannelRpValidate defaultValidate) {
OfficialAccountReply officialAccountReply = officialAccountReplyMapper.selectOne(new QueryWrapper<OfficialAccountReply>()
.eq("id", defaultValidate.getId())
.isNull("delete_time")
.last("limit 1"));
Assert.notNull(officialAccountReply, "默认回复数据不存在!");
if (defaultValidate.getReplyType().equals(3)) {
if (defaultValidate.getStatus().equals(1)) {
OfficialAccountReply reply = new OfficialAccountReply();
reply.setStatus(0);
officialAccountReplyMapper.update(reply, new QueryWrapper<OfficialAccountReply>().eq("reply_type", officialAccountReply.getReplyType()));
}
}
if (defaultValidate.getReplyType().equals(2)) {
Assert.isTrue(StringUtils.isNotEmpty(defaultValidate.getKeyword()), "关键词不能为空");
}
officialAccountReply.setId(defaultValidate.getId());
officialAccountReply.setName(defaultValidate.getName());
officialAccountReply.setContent(defaultValidate.getContent());
officialAccountReply.setContentType(defaultValidate.getContentType());
officialAccountReply.setStatus(defaultValidate.getStatus());
officialAccountReply.setSort(defaultValidate.getSort());
officialAccountReply.setKeyword(defaultValidate.getKeyword());
officialAccountReply.setMatchingType(defaultValidate.getMatchingType());
// officialAccountReply.setReplyType(defaultValidate.getReplyType());
officialAccountReply.setCreateTime(System.currentTimeMillis() / 1000);
officialAccountReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialAccountReplyMapper.updateById(officialAccountReply);
}
/**
* 默认回复删除
*
* @author fzr
* @param id 主键
*/
@Override
public void del(Integer id) {
OfficialAccountReply officialAccountReply = officialAccountReplyMapper.selectOne(new QueryWrapper<OfficialAccountReply>()
.eq("id", id)
.isNull("delete_time")
.last("limit 1"));
Assert.notNull(officialAccountReply, "默认回复数据不存在了!");
officialAccountReply.setDeleteTime(System.currentTimeMillis() / 1000);
officialAccountReplyMapper.updateById(officialAccountReply);
}
/**
* 默认回复状态
*
* @author fzr
* @param id 主键
*/
@Override
public void status(Integer id) {
OfficialAccountReply officialAccountReply = officialAccountReplyMapper.selectOne(new QueryWrapper<OfficialAccountReply>()
.isNull("delete_time")
.eq("id", id)
.last("limit 1"));
Assert.notNull(officialAccountReply, "默认回复数据不存在!");
int status = officialAccountReply.getStatus() == 1 ? 0 : 1;
if (status == 1) {
OfficialAccountReply reply = new OfficialAccountReply();
reply.setStatus(0);
reply.setUpdateTime(System.currentTimeMillis() / 1000);
officialAccountReplyMapper.update(reply, new QueryWrapper<OfficialAccountReply>()
.eq("reply_type", officialAccountReply.getReplyType()));
}
officialAccountReply.setId(id);
officialAccountReply.setStatus(status);
officialAccountReply.setUpdateTime(System.currentTimeMillis() / 1000);
officialAccountReplyMapper.updateById(officialAccountReply);
}
}

View File

@@ -21,9 +21,9 @@ public class ChannelOpServiceImpl implements IChannelOpService {
* @return ChannelOpVo
*/
@Override
public ChannelOpVo detail() {
String appId = ConfigUtils.get("op_channel", "appId", "");
String appSecret = ConfigUtils.get("op_channel", "appSecret", "");
public ChannelOpVo getConfig() {
String appId = ConfigUtils.get("open_platform", "app_id", "");
String appSecret = ConfigUtils.get("open_platform", "app_secret", "");
String env = YmlUtils.get("like.production");
boolean envStatus = StringUtils.isNotNull(env) && env.equals("true");
@@ -41,9 +41,9 @@ public class ChannelOpServiceImpl implements IChannelOpService {
* @param opValidate 参数
*/
@Override
public void save(ChannelOpValidate opValidate) {
ConfigUtils.set("op_channel", "appId", opValidate.getAppId());
ConfigUtils.set("op_channel", "appSecret", opValidate.getAppSecret());
public void setConfig(ChannelOpValidate opValidate) {
ConfigUtils.set("open_platform", "app_id", opValidate.getAppId());
ConfigUtils.set("open_platform", "app_secret", opValidate.getAppSecret());
}
}

View File

@@ -23,15 +23,15 @@ public class SettingCopyrightServiceImpl implements ISettingCopyrightService {
* @return List<SettingCopyrightVo>
*/
@Override
public List<SettingCopyrightVo> detail() {
String config = ConfigUtils.get("website", "copyright", "[]");
public List<SettingCopyrightVo> getCopyright() {
String config = ConfigUtils.get("copyright", "config", "[]");
List<Map<String, String>> copyright = ListUtils.stringToListAsMapStr(config);
List<SettingCopyrightVo> list = new LinkedList<>();
for (Map<String, String> map : copyright) {
SettingCopyrightVo vo = new SettingCopyrightVo();
vo.setName(map.getOrDefault("name", ""));
vo.setLink(map.getOrDefault("link", ""));
vo.setKey(map.getOrDefault("key", ""));
vo.setValue(map.getOrDefault("value", ""));
list.add(vo);
}
@@ -45,9 +45,9 @@ public class SettingCopyrightServiceImpl implements ISettingCopyrightService {
* @param copyrightValidate 参数
*/
@Override
public void save(SettingCopyrightValidate copyrightValidate) {
public void setCopyright(SettingCopyrightValidate copyrightValidate) {
String s = JSON.toJSONString(copyrightValidate.getList());
ConfigUtils.set("website", "copyright", s);
ConfigUtils.set("copyright", "config", s);
}
}

View File

@@ -1,16 +1,11 @@
package com.mdd.admin.service.impl;
import com.alibaba.fastjson2.JSON;
import com.mdd.admin.service.ISettingProtocolService;
import com.mdd.admin.validate.setting.SettingProtocolValidate;
import com.mdd.admin.vo.setting.SettingProtocolDetailVo;
import com.mdd.admin.vo.setting.SettingProtocolObjectVo;
import com.mdd.admin.validate.setting.SettingAgreementValidate;
import com.mdd.admin.vo.setting.SettingAgreementVo;
import com.mdd.common.util.ConfigUtils;
import com.mdd.common.util.MapUtils;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* 政策接口服务实现类
*/
@@ -24,23 +19,12 @@ public class SettingProtocolServiceImpl implements ISettingProtocolService {
* @return SettingProtocolDetailVo
*/
@Override
public SettingProtocolDetailVo detail() {
String service = ConfigUtils.get("protocol", "service", "{\"name\":\"\",\"content\":\"\"}");
String privacy = ConfigUtils.get("protocol", "privacy", "{\"name\":\"\",\"content\":\"\"}");
Map<String, String> serviceMap = MapUtils.jsonToMap(service);
Map<String, String> privacyMap = MapUtils.jsonToMap(privacy);
SettingProtocolObjectVo serviceObj = new SettingProtocolObjectVo();
serviceObj.setName(serviceMap.getOrDefault("name", ""));
serviceObj.setContent(serviceMap.getOrDefault("content", ""));
SettingProtocolObjectVo privacyObj = new SettingProtocolObjectVo();
privacyObj.setName(privacyMap.getOrDefault("name", ""));
privacyObj.setContent(privacyMap.getOrDefault("content", ""));
SettingProtocolDetailVo vo = new SettingProtocolDetailVo();
vo.setService(serviceObj);
vo.setPrivacy(privacyObj);
public SettingAgreementVo getAgreement() {
SettingAgreementVo vo = new SettingAgreementVo();
vo.setServiceTitle(ConfigUtils.get("agreement", "service_title", ""));
vo.setServiceContent(ConfigUtils.get("agreement", "service_content", ""));
vo.setPrivacyTitle(ConfigUtils.get("agreement", "privacy_title", ""));
vo.setPrivacyContent(ConfigUtils.get("agreement", "privacy_content", ""));
return vo;
}
@@ -51,9 +35,11 @@ public class SettingProtocolServiceImpl implements ISettingProtocolService {
* @param protocolValidate 参数
*/
@Override
public void save(SettingProtocolValidate protocolValidate) {
ConfigUtils.set("protocol","service", JSON.toJSONString(protocolValidate.getService()));
ConfigUtils.set("protocol","privacy", JSON.toJSONString(protocolValidate.getPrivacy()));
public void setAgreement(SettingAgreementValidate protocolValidate) {
ConfigUtils.set("agreement","service_title", protocolValidate.getServiceTitle());
ConfigUtils.set("agreement","service_content", protocolValidate.getServiceContent());
ConfigUtils.set("agreement","privacy_title", protocolValidate.getPrivacyTitle());
ConfigUtils.set("agreement","privacy_content", protocolValidate.getPrivacyContent());
}
}

View File

@@ -22,23 +22,21 @@ public class SettingWebsiteServiceImpl implements ISettingWebsiteService {
* @return Map<String, String>
*/
@Override
public SettingWebsiteVo detail() {
public SettingWebsiteVo getWebsite() {
Map<String, String> config = ConfigUtils.get("website");
SettingWebsiteVo vo = new SettingWebsiteVo();
vo.setName(config.getOrDefault("name", ""));
vo.setLogo(UrlUtils.toAbsoluteUrl(config.getOrDefault("logo", "")));
vo.setFavicon(UrlUtils.toAbsoluteUrl(config.getOrDefault("favicon", "")));
vo.setBackdrop(UrlUtils.toAbsoluteUrl(config.getOrDefault("backdrop", "")));
vo.setShopName(config.getOrDefault("shopName", ""));
vo.setShopLogo(UrlUtils.toAbsoluteUrl(config.getOrDefault("shopLogo", "")));
vo.setPcLogo(UrlUtils.toAbsoluteUrl(config.getOrDefault("pcLogo", "")));
vo.setPcIco(UrlUtils.toAbsoluteUrl(config.getOrDefault("pcIco", "")));
vo.setPcTitle(config.getOrDefault("pcTitle", ""));
vo.setPcDesc(config.getOrDefault("pcDesc", ""));
vo.setPcKeywords(config.getOrDefault("pcKeywords", ""));
vo.setWebFavicon(UrlUtils.toAbsoluteUrl(config.getOrDefault("web_favicon", "")));
vo.setWebLogo(UrlUtils.toAbsoluteUrl(config.getOrDefault("web_logo", "")));
vo.setLoginImage(UrlUtils.toAbsoluteUrl(config.getOrDefault("login_image", "")));
vo.setShopName(config.getOrDefault("shop_name", ""));
vo.setShopLogo(UrlUtils.toAbsoluteUrl(config.getOrDefault("shop_logo", "")));
vo.setPcLogo(UrlUtils.toAbsoluteUrl(config.getOrDefault("pc_logo", "")));
vo.setPcTitle(config.getOrDefault("pc_title", ""));
vo.setPcIco(UrlUtils.toAbsoluteUrl(config.getOrDefault("pc_ico", "")));
vo.setPcDesc(config.getOrDefault("pc_desc", ""));
vo.setPcKeywords(config.getOrDefault("pc_keywords", ""));
vo.setH5Favicon(UrlUtils.toAbsoluteUrl(config.getOrDefault("h5_favicon", "")));
return vo;
}
@@ -49,20 +47,21 @@ public class SettingWebsiteServiceImpl implements ISettingWebsiteService {
* @param websiteValidate 参数
*/
@Override
public void save(SettingWebsiteValidate websiteValidate) {
public void setWebsite(SettingWebsiteValidate websiteValidate) {
ConfigUtils.set("website", "name", websiteValidate.getName());
ConfigUtils.set("website", "logo", UrlUtils.toRelativeUrl(websiteValidate.getLogo()));
ConfigUtils.set("website", "favicon", UrlUtils.toRelativeUrl(websiteValidate.getFavicon()));
ConfigUtils.set("website", "backdrop", UrlUtils.toRelativeUrl(websiteValidate.getBackdrop()));
ConfigUtils.set("website", "web_logo", UrlUtils.toRelativeUrl(websiteValidate.getWebLogo()));
ConfigUtils.set("website", "web_favicon", UrlUtils.toRelativeUrl(websiteValidate.getWebFavicon()));
ConfigUtils.set("website", "login_image", UrlUtils.toRelativeUrl(websiteValidate.getLoginImage()));
ConfigUtils.set("website", "h5_favicon", UrlUtils.toRelativeUrl(websiteValidate.getH5Favicon()));
ConfigUtils.set("website", "shopName", websiteValidate.getShopName());
ConfigUtils.set("website", "shopLogo", UrlUtils.toRelativeUrl(websiteValidate.getShopLogo()));
ConfigUtils.set("website", "shop_name", websiteValidate.getShopName());
ConfigUtils.set("website", "shop_logo", UrlUtils.toRelativeUrl(websiteValidate.getShopLogo()));
ConfigUtils.set("website", "pcLogo", UrlUtils.toRelativeUrl(websiteValidate.getPcLogo()));
ConfigUtils.set("website", "pcIco", UrlUtils.toRelativeUrl(websiteValidate.getPcIco()));
ConfigUtils.set("website", "pcTitle", websiteValidate.getPcTitle());
ConfigUtils.set("website", "pcDesc", websiteValidate.getPcDesc());
ConfigUtils.set("website", "pcKeywords", websiteValidate.getPcKeywords());
ConfigUtils.set("website", "pc_logo", UrlUtils.toRelativeUrl(websiteValidate.getPcLogo()));
ConfigUtils.set("website", "pc_ico", UrlUtils.toRelativeUrl(websiteValidate.getPcIco()));
ConfigUtils.set("website", "pc_title", websiteValidate.getPcTitle());
ConfigUtils.set("website", "pc_desc", websiteValidate.getPcDesc());
ConfigUtils.set("website", "pc_keywords", websiteValidate.getPcKeywords());
}
}

View File

@@ -0,0 +1,217 @@
package com.mdd.admin.service.impl.system;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.service.system.IJobsService;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.system.JobsCreateValidate;
import com.mdd.admin.validate.system.JobsSearchValidate;
import com.mdd.admin.validate.system.JobsUpdateValidate;
import com.mdd.admin.vo.system.JobsVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.admin.Admin;
import com.mdd.common.entity.system.Jobs;
import com.mdd.common.mapper.admin.AdminMapper;
import com.mdd.common.mapper.admin.JobsMapper;
import com.mdd.common.util.TimeUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 系统岗位服务实现类
*/
@Service
public class JobsServiceImpl implements IJobsService {
@Resource
JobsMapper jobsMapper;
@Resource
AdminMapper adminMapper;
/**
* 岗位所有
*
* @author fzr
* @return List<SystemPostVo>
*/
@Override
public List<JobsVo> all() {
List<Jobs> jobs = jobsMapper.selectList(new QueryWrapper<Jobs>()
.eq("is_delete", 0)
.orderByDesc((Arrays.asList("sort", "id"))));
List<JobsVo> adminVoArrayList = new ArrayList<>();
for (Jobs job : jobs) {
JobsVo vo = new JobsVo();
BeanUtils.copyProperties(job, vo);
vo.setCreateTime(TimeUtils.timestampToDate(job.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(job.getUpdateTime()));
adminVoArrayList.add(vo);
}
return adminVoArrayList;
}
/**
* 岗位列表
*
* @author fzr
* @param pageValidate 分页参数
* @param searchValidate 搜索参数
* @return PageResult<SystemPostVo>
*/
@Override
public PageResult<JobsVo> list(PageValidate pageValidate, JobsSearchValidate searchValidate) {
Integer page = pageValidate.getPage_no();
Integer limit = pageValidate.getPage_size();
QueryWrapper<Jobs> queryWrapper = new QueryWrapper<>();
queryWrapper.select(Jobs.class, info->
!info.getColumn().equals("delete_time"))
.isNull("delete_time")
.orderByDesc(Arrays.asList("sort", "id"));
jobsMapper.setSearch(queryWrapper, searchValidate, new String[]{
"like:code:str",
"like:name:str",
"=:status@status:int"
});
IPage<Jobs> iPage = jobsMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<JobsVo> list = new ArrayList<>();
for (Jobs job : iPage.getRecords()) {
JobsVo vo = new JobsVo();
BeanUtils.copyProperties(job, vo);
vo.setStatusDesc(job.getStatus() != null && job.getStatus().intValue() == 1 ? "正常" : "停用");
vo.setCreateTime(TimeUtils.timestampToDate(job.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(job.getUpdateTime()));
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 岗位详情
*
* @author fzr
* @param id 主键
* @return SystemPostVo
*/
@Override
public JobsVo detail(Integer id) {
Jobs systemAuthPost = jobsMapper.selectOne(new QueryWrapper<Jobs>()
.select(Jobs.class, info ->
!info.getColumn().equals("delete_time"))
.eq("id", id)
.isNull("delete_time")
.last("limit 1"));
Assert.notNull(systemAuthPost, "岗位不存在");
JobsVo vo = new JobsVo();
BeanUtils.copyProperties(systemAuthPost, vo);
vo.setCreateTime(TimeUtils.timestampToDate(systemAuthPost.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(systemAuthPost.getUpdateTime()));
return vo;
}
/**
* 岗位新增
*
* @author fzr
* @param createValidate 参数
*/
@Override
public void add(JobsCreateValidate createValidate) {
Assert.isNull(jobsMapper.selectOne(new QueryWrapper<Jobs>()
.select("id,code,name")
.nested(
wq->wq.eq("code", createValidate.getCode())
.or()
.eq("name", createValidate.getName())
)
.isNull("delete_time")
.last("limit 1")), "该岗位已存在");
Jobs model = new Jobs();
model.setCode(createValidate.getCode());
model.setName(createValidate.getName());
model.setSort(createValidate.getSort());
model.setRemark(createValidate.getRemark());
model.setStatus(createValidate.getStatus());
model.setCreateTime(System.currentTimeMillis() / 1000);
model.setUpdateTime(System.currentTimeMillis() / 1000);
jobsMapper.insert(model);
}
/**
* 岗位编辑
*
* @author fzr
* @param updateValidate 参数
*/
@Override
public void edit(JobsUpdateValidate updateValidate) {
Jobs model = jobsMapper.selectOne(new QueryWrapper<Jobs>()
.select(Jobs.class, info ->
!info.getColumn().equals("delete_time"))
.eq("id", updateValidate.getId())
.isNull("delete_time")
.last("limit 1"));
Assert.notNull(model, "岗位不存在");
Assert.isNull(jobsMapper.selectOne(new QueryWrapper<Jobs>()
.select("id,code,name")
.ne("id", updateValidate.getId())
.nested(
wq->wq.eq("code", updateValidate.getCode())
.or()
.eq("name", updateValidate.getName())
)
.isNull("delete_time")
.last("limit 1")), "该岗位已存在");
model.setCode(updateValidate.getCode());
model.setName(updateValidate.getName());
model.setSort(updateValidate.getSort());
model.setRemark(updateValidate.getRemark());
model.setStatus(updateValidate.getStatus());
model.setUpdateTime(System.currentTimeMillis() / 1000);
jobsMapper.updateById(model);
}
/**
* 岗位删除
*
* @author fzr
* @param id 主键
*/
@Override
public void del(Integer id) {
Jobs model = jobsMapper.selectOne(new QueryWrapper<Jobs>()
.select("id,code,name")
.eq("id", id)
.isNull("delete_time")
.last("limit 1"));
Assert.notNull(model, "岗位不存在");
List<Admin> admins = adminMapper.getByJobs(id);
Assert.isTrue(admins.isEmpty(), "该岗位已被管理员使用,请先移除");
model.setDeleteTime(System.currentTimeMillis() / 1000);
jobsMapper.updateById(model);
}
}

View File

@@ -0,0 +1,68 @@
package com.mdd.admin.service.system;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.system.JobsCreateValidate;
import com.mdd.admin.validate.system.JobsSearchValidate;
import com.mdd.admin.validate.system.JobsUpdateValidate;
import com.mdd.admin.vo.system.JobsVo;
import com.mdd.common.core.PageResult;
import java.util.List;
/**
* 系统岗位服务接口类
*/
public interface IJobsService {
/**
* 岗位所有
*
* @author fzr
* @return List<SystemPostVo>
*/
List<JobsVo> all();
/**
* 岗位列表
*
* @author fzr
* @param pageValidate 分页参数
* @param searchValidate 搜索参数
* @return PageResult<SystemPostVo>
*/
PageResult<JobsVo> list(PageValidate pageValidate, JobsSearchValidate searchValidate);
/**
* 岗位详情
*
* @author fzr
* @param id 主键
* @return SystemPostVo
*/
JobsVo detail(Integer id);
/**
* 岗位新增
*
* @author fzr
* @param createValidate 参数
*/
void add(JobsCreateValidate createValidate);
/**
* 岗位编辑
*
* @author fzr
* @param updateValidate 参数
*/
void edit(JobsUpdateValidate updateValidate);
/**
* 岗位删除
*
* @author fzr
* @param id 主键
*/
void del(Integer id);
}

View File

@@ -15,18 +15,23 @@ public class ChannelH5Validate implements Serializable {
private static final long serialVersionUID = 1L;
@NotNull(message = "status参数缺失")
@IntegerContains(values = {0, 1}, message = "status不是合法值")
@ApiModelProperty(value = "渠道状态", required = true)
@NotNull(message = "渠道开关参数缺失")
@IntegerContains(values = {0, 1}, message = "渠道开关不是合法值")
@ApiModelProperty(value = "渠道开关", required = true)
private Integer status;
@NotNull(message = "close参数确实")
@IntegerContains(values = {0, 1}, message = "close不是合法值")
@ApiModelProperty(value = "渠道开关", required = true)
private Integer close;
@NotNull(message = "pageStatus参数缺失")
@IntegerContains(values = {0, 1}, message = "页面状态不是合法值")
@ApiModelProperty(value = "状态", required = true)
private Integer pageStatus;
@Length(max = 500, message = "url不能超500个字符")
@ApiModelProperty(value = "关闭链接")
private String url;
@Length(max = 500, message = "pageUrl不能超500个字符")
@ApiModelProperty(value = "自定义链接")
private String pageUrl;
}

View File

@@ -19,7 +19,7 @@ public class ChannelMpValidate implements Serializable {
@Length(max = 100, message = "原始ID不能超100个字符")
@ApiModelProperty(value = "原始ID")
private String primaryId = "";
private String originalId = "";
@Length(max = 100, message = "appId不能超100个字符")
@ApiModelProperty(value = "appId")

View File

@@ -20,7 +20,7 @@ public class ChannelOaValidate implements Serializable {
@Length(max = 100, message = "原始ID不能超100个字符")
@ApiModelProperty(value = "原始ID")
private String primaryId = "";
private String originalId = "";
@Length(max = 100, message = "appId不能超100个字符")
@ApiModelProperty(value = "appId")

View File

@@ -1,44 +0,0 @@
package com.mdd.admin.validate.channel;
import com.mdd.common.validator.annotation.IntegerContains;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@ApiModel("公众号默认回复参数")
public class ChannelRpDefaultValidate implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@NotNull(message = "name参数缺失")
@NotEmpty(message = "规则名称不能为空")
@ApiModelProperty(value = "名称", required = true)
private String name;
@NotNull(message = "content参数缺失")
@NotEmpty(message = "回复内容不能为空")
@ApiModelProperty(value = "回复内容", required = true)
private String content;
@NotNull(message = "contentType参数缺失")
@IntegerContains(values = {1, 2}, message = "contentType值不符合规范")
@ApiModelProperty(value = "内容类型", required = true)
private Integer contentType;
@NotNull(message = "status参数缺失")
@IntegerContains(values = {0, 1}, message = "状态选择异常")
@ApiModelProperty(value = "状态", required = true)
private Integer status;
@NotNull(message = "sort参数缺失")
@ApiModelProperty(value = "排序", required = true)
private Integer sort;
}

View File

@@ -1,44 +0,0 @@
package com.mdd.admin.validate.channel;
import com.mdd.common.validator.annotation.IntegerContains;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@ApiModel("公众号关注回复参数")
public class ChannelRpFollowsValidate implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@NotNull(message = "name参数缺失")
@NotEmpty(message = "规则名称不能为空")
@ApiModelProperty(value = "名称", required = true)
private String name;
@NotNull(message = "content参数缺失")
@NotEmpty(message = "回复内容不能为空")
@ApiModelProperty(value = "回复内容", required = true)
private String content;
@NotNull(message = "contentType参数缺失")
@IntegerContains(values = {1, 2}, message = "contentType值不符合规范")
@ApiModelProperty(value = "内容类型", required = true)
private Integer contentType;
@NotNull(message = "status参数缺失")
@IntegerContains(values = {0, 1}, message = "状态选择异常")
@ApiModelProperty(value = "状态", required = true)
private Integer status;
@NotNull(message = "sort参数缺失")
@ApiModelProperty(value = "排序", required = true)
private Integer sort;
}

View File

@@ -10,8 +10,8 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
@ApiModel("公众号关键词回复参数")
public class ChannelRpKeywordValidate implements Serializable {
@ApiModel("公众号默认回复参数")
public class ChannelRpValidate implements Serializable {
private static final long serialVersionUID = 1L;
@@ -28,25 +28,27 @@ public class ChannelRpKeywordValidate implements Serializable {
private String content;
@NotNull(message = "contentType参数缺失")
@IntegerContains(values = {1, 2})
@IntegerContains(values = {1, 2}, message = "contentType值不符合规范")
@ApiModelProperty(value = "内容类型", required = true)
private Integer contentType;
@NotNull(message = "replyType参数缺失")
@IntegerContains(values = {1, 2, 3}, message = "replyType值不符合规范")
@ApiModelProperty(value = "回复词类型", required = true)
private Integer replyType;
@NotNull(message = "status参数缺失")
@IntegerContains(values = {0, 1}, message = "状态选择异常")
@ApiModelProperty(value = "状态", required = true)
private Integer status;
@NotNull(message = "keyword参数缺失")
@NotEmpty(message = "关键词不能为空")
@ApiModelProperty(value = "关键词", required = true)
private String keyword;
@NotNull(message = "matchingType参数缺失")
@IntegerContains(values = {1, 2})
@ApiModelProperty(value = "模式", required = true)
private Integer matchingType;
@NotNull(message = "sort参数缺失")
@ApiModelProperty(value = "排序", required = true)
private Integer sort;

View File

@@ -0,0 +1,27 @@
package com.mdd.admin.validate.setting;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("政策协议设置参数")
public class SettingAgreementValidate implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "服务协议标题")
private String serviceTitle;
@ApiModelProperty(value = "服务协议内容")
private String serviceContent;
@ApiModelProperty(value = "服务协议标题")
private String privacyTitle;
@ApiModelProperty(value = "服务协议内容")
private String privacyContent;
}

View File

@@ -1,22 +0,0 @@
package com.mdd.admin.validate.setting;
import com.mdd.admin.vo.setting.SettingProtocolObjectVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("政策协议设置参数")
public class SettingProtocolValidate implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "服务协议")
private SettingProtocolObjectVo service;
@ApiModelProperty(value = "隐私协议")
private SettingProtocolObjectVo privacy;
}

View File

@@ -15,17 +15,17 @@ public class SettingWebsiteValidate implements Serializable {
@ApiModelProperty(value = "网站名称")
private String name = "";
@ApiModelProperty(value = "网站logo")
private String logo = "";
private String webLogo = "";
@ApiModelProperty(value = "网站图标")
private String favicon = "";
private String webFavicon = "";
@ApiModelProperty(value = "h5图标")
private String h5Favicon = "";
@ApiModelProperty(value = "登录页广告图")
private String backdrop = "";
private String loginImage = "";
@ApiModelProperty(value = "商城名称")
private String shopName = "";
@ApiModelProperty(value = "商城LOGO")
private String shopLogo = "";
@ApiModelProperty(value = "PC端LOGO")
private String pcLogo = "";
@ApiModelProperty(value = "网站标题")

View File

@@ -12,7 +12,7 @@ import java.io.Serializable;
@Data
@ApiModel("系统岗位创建参数")
public class SystemPostCreateValidate implements Serializable {
public class JobsCreateValidate implements Serializable {
private static final long serialVersionUID = 1L;
@@ -29,11 +29,11 @@ public class SystemPostCreateValidate implements Serializable {
@NotNull(message = "请选择状态")
@IntegerContains(values = {0, 1})
@ApiModelProperty(value = "是否停用", required = true)
private Integer isStop = 0;
private Integer status = 0;
@Length( max = 250, message = "岗位备注不能大于250个字符内")
@ApiModelProperty(value = "备注信息")
private String remarks = "";
private String remark = "";
@NotNull(message = "排序号不能为空")
@DecimalMin(value = "0", message = "排序号值不能少于0")

View File

@@ -8,7 +8,7 @@ import java.io.Serializable;
@Data
@ApiModel("系统岗位搜索参数")
public class SystemPostSearchValidate implements Serializable {
public class JobsSearchValidate implements Serializable {
private static final long serialVersionUID = 1L;
@@ -19,6 +19,6 @@ public class SystemPostSearchValidate implements Serializable {
private String name;
@ApiModelProperty(value = "是否停用")
private Integer isStop;
private Integer status;
}

View File

@@ -13,7 +13,7 @@ import java.io.Serializable;
@Data
@ApiModel("系统岗位更新参数")
public class SystemPostUpdateValidate implements Serializable {
public class JobsUpdateValidate implements Serializable {
private static final long serialVersionUID = 1L;
@@ -34,11 +34,11 @@ public class SystemPostUpdateValidate implements Serializable {
@NotNull(message = "请选择状态")
@IntegerContains(values = {0, 1})
@ApiModelProperty(value = "是否停用", required = true)
private Integer isStop;
private Integer status;
@Length( max = 250, message = "岗位备注不能大于250个字符内")
@ApiModelProperty(value = "岗位备注")
private String remarks;
private String remark;
@NotNull(message = "排序号不能为空")
@DecimalMin(value = "0", message = "排序号值不能少于0")

View File

@@ -16,9 +16,12 @@ public class ChannelH5Vo implements Serializable {
private Integer status;
@ApiModelProperty(value = "关闭类型")
private Integer close;
private Integer pageStatus;
@ApiModelProperty(value = "关闭访问")
private String url;
@ApiModelProperty(value = "文件页面地址")
private String pageUrl;
}

View File

@@ -15,7 +15,7 @@ public class ChannelMpVo implements Serializable {
@ApiModelProperty(value = "小程序名称")
private String name;
@ApiModelProperty(value = "原始ID")
private String primaryId;
private String originalId;
@ApiModelProperty(value = "appId")
private String appId;
@ApiModelProperty(value = "appSecret")

View File

@@ -15,7 +15,7 @@ public class ChannelOaVo implements Serializable {
@ApiModelProperty(value = "公众号名称")
private String name;
@ApiModelProperty(value = "原始ID")
private String primaryId;
private String originalId;
@ApiModelProperty(value = "appId")
private String appId;
@ApiModelProperty(value = "appSecret")
@@ -34,8 +34,8 @@ public class ChannelOaVo implements Serializable {
@ApiModelProperty(value = "业务域名")
private String businessDomain;
@ApiModelProperty(value = "JS接口安全域名")
private String jsDomain;
private String jsSecureDomain;
@ApiModelProperty(value = "网页授权域名")
private String webDomain;
private String webAuthDomain;
}

View File

@@ -1,33 +0,0 @@
package com.mdd.admin.vo.channel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("公众号默认回复Vo")
public class ChannelRpDefaultVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "规则名")
private String name;
@ApiModelProperty(value = "回复内容")
private String content;
@ApiModelProperty(value = "内容类型: [1=文本]")
private Integer contentType;
@ApiModelProperty(value = "排序编号")
private Integer sort;
@ApiModelProperty(value = "启动状态: [1=启动, 0=关闭]")
private Integer status;
}

View File

@@ -1,33 +0,0 @@
package com.mdd.admin.vo.channel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("公众号关注回复Vo")
public class ChannelRpFollowsVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "规则名")
private String name;
@ApiModelProperty(value = "回复内容")
private String content;
@ApiModelProperty(value = "内容类型: [1=文本]")
private Integer contentType;
@ApiModelProperty(value = "排序编号")
private Integer sort;
@ApiModelProperty(value = "启动状态: [1=启动, 0=关闭]")
private Integer status;
}

View File

@@ -7,8 +7,8 @@ import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("公众号关键词回复Vo")
public class ChannelRpKeywordVo implements Serializable {
@ApiModel("公众号回复Vo")
public class ChannelRpVo implements Serializable {
private static final long serialVersionUID = 1L;
@@ -18,18 +18,18 @@ public class ChannelRpKeywordVo implements Serializable {
@ApiModelProperty(value = "规则名")
private String name;
@ApiModelProperty(value = "关键词")
private String keyword;
@ApiModelProperty(value = "回复内容")
private String content;
@ApiModelProperty(value = "内容类型: [1=文本]")
private Integer contentType;
@ApiModelProperty(value = "关键词")
private String keyword;
@ApiModelProperty(value = "匹配方式: [1=全匹配, 2=模糊匹配]")
private Integer matchingType;
@ApiModelProperty(value = "内容类型: [1=文本]")
private Integer contentType;
@ApiModelProperty(value = "排序编号")
private Integer sort;

View File

@@ -0,0 +1,27 @@
package com.mdd.admin.vo.setting;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("政策协议详情Vo")
public class SettingAgreementVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "服务协议标题")
private String serviceTitle;
@ApiModelProperty(value = "服务协议内容")
private String serviceContent;
@ApiModelProperty(value = "服务协议标题")
private String privacyTitle;
@ApiModelProperty(value = "服务协议内容")
private String privacyContent;
}

View File

@@ -13,9 +13,9 @@ public class SettingCopyrightVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "名称")
private String name;
private String key;
@ApiModelProperty(value = "链接")
private String link;
private String value;
}

View File

@@ -1,21 +0,0 @@
package com.mdd.admin.vo.setting;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("政策协议详情Vo")
public class SettingProtocolDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "服务协议")
private SettingProtocolObjectVo service;
@ApiModelProperty(value = "隐私协议")
private SettingProtocolObjectVo privacy;
}

View File

@@ -1,21 +0,0 @@
package com.mdd.admin.vo.setting;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("政策协议设置对象Vo")
public class SettingProtocolObjectVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "协议名称")
private String name;
@ApiModelProperty(value = "协议内容")
private String content;
}

View File

@@ -18,17 +18,15 @@ public class SettingWebsiteVo implements Serializable {
@ApiModelProperty(value = "网站名称")
private String name;
@ApiModelProperty(value = "网站logo")
private String logo;
private String webLogo;
@ApiModelProperty(value = "网站图标")
private String favicon;
private String webFavicon;
@ApiModelProperty(value = "登录页广告图")
private String backdrop;
private String loginImage;
@ApiModelProperty(value = "商城名称")
private String shopName;
@ApiModelProperty(value = "商城LOGO")
private String shopLogo;
@ApiModelProperty(value = "PC端LOGO")
private String pcLogo;
@ApiModelProperty(value = "网站标题")
@@ -39,5 +37,7 @@ public class SettingWebsiteVo implements Serializable {
private String pcDesc;
@ApiModelProperty(value = "网站关键词")
private String pcKeywords;
@ApiModelProperty(value = "h5图标")
private String h5Favicon;
}

View File

@@ -8,7 +8,7 @@ import java.io.Serializable;
@Data
@ApiModel("系统岗位Vo")
public class SystemAuthPostVo implements Serializable {
public class JobsVo implements Serializable {
private static final long serialVersionUID = 1L;
@@ -22,13 +22,16 @@ public class SystemAuthPostVo implements Serializable {
private String name;
@ApiModelProperty(value = "岗位备注")
private String remarks;
private String remark;
@ApiModelProperty(value = "岗位排序")
private Integer sort;
@ApiModelProperty(value = "是否停用: [0=否, 1=是]")
private Integer isStop;
private Integer status;
@ApiModelProperty(value = "状态描述")
private String statusDesc;
@ApiModelProperty(value = "创建时间")
private String createTime;

View File

@@ -79,9 +79,11 @@ public class ConfigCache {
Map<String, Object> cacheConfig = getConfigCache();
if (!cacheConfig.isEmpty()) {
Object cacheConfigObj = cacheConfig.get(type);
Map<String, String> cacheConfigMap = MapUtils.jsonToMap(cacheConfigObj.toString());
if (!cacheConfigMap.isEmpty()) {
return cacheConfigMap;
if (cacheConfigObj != null) {
Map<String, String> cacheConfigMap = MapUtils.jsonToMap(cacheConfigObj.toString());
if (!cacheConfigMap.isEmpty()) {
return cacheConfigMap;
}
}
}
return new LinkedHashMap<>();

View File

@@ -10,7 +10,7 @@ import java.io.Serializable;
@Data
@ApiModel("公众号回复实体")
public class OfficialReply implements Serializable {
public class OfficialAccountReply implements Serializable {
private static final long serialVersionUID = 1L;
@@ -42,9 +42,6 @@ public class OfficialReply implements Serializable {
@ApiModelProperty("排序编号")
private Integer sort;
@ApiModelProperty("是否删除")
private Integer isDelete;
@ApiModelProperty("创建时间")
private Long createTime;

View File

@@ -0,0 +1,45 @@
package com.mdd.common.entity.system;
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 Jobs implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value="id", type= IdType.AUTO)
@ApiModelProperty("ID")
private Integer id;
@ApiModelProperty("岗位编码")
private String code;
@ApiModelProperty("岗位名称")
private String name;
@ApiModelProperty("岗位备注")
private String remark;
@ApiModelProperty("岗位排序")
private Integer sort;
@ApiModelProperty("是否停用: [0=否, 1=是]")
private Integer status;
@ApiModelProperty("创建时间")
private Long createTime;
@ApiModelProperty("更新时间")
private Long updateTime;
@ApiModelProperty("删除时间")
private Long deleteTime;
}

View File

@@ -1,12 +1,12 @@
package com.mdd.common.mapper;
import com.mdd.common.core.basics.IBaseMapper;
import com.mdd.common.entity.OfficialReply;
import com.mdd.common.entity.OfficialAccountReply;
import org.apache.ibatis.annotations.Mapper;
/**
* 公众号回复Mapper
*/
@Mapper
public interface OfficialReplyMapper extends IBaseMapper<OfficialReply> {
public interface OfficialAccountReplyMapper extends IBaseMapper<OfficialAccountReply> {
}

View File

@@ -18,5 +18,8 @@ public interface AdminMapper extends IBaseMapper<Admin> {
@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<Admin> getByDept(@Param("deptId") Integer deptId);
@Select("SELECT * FROM la_admin admin INNER JOIN la_admin_jobs lad ON admin.id = lad.admin_id WHERE lad.jobs_id = #{jobId} AND admin.delete_time IS NULL")
List<Admin> getByJobs(@Param("jobId") Integer jobId);
}

View File

@@ -0,0 +1,14 @@
package com.mdd.common.mapper.admin;
import com.mdd.common.core.basics.IBaseMapper;
import com.mdd.common.entity.admin.Dept;
import com.mdd.common.entity.system.Jobs;
import org.apache.ibatis.annotations.Mapper;
/**
* 岗位表Mapper
*/
@Mapper
public interface JobsMapper extends IBaseMapper<Jobs> {
}