From caa960c90ac2217d82d3d2106fe61f9b5ac62c6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AE=87=E8=88=AA?= <653809315@qq.com> Date: Wed, 7 Aug 2024 16:25:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E8=B4=A8=E7=AE=A1=E7=90=86=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/CertificationCateController.java | 77 ++++++++ .../company/CertificationController.java | 69 +++++++ .../service/ICertificationCateService.java | 65 +++++++ .../admin/service/ICertificationService.java | 60 ++++++ .../impl/CertificationCateServiceImpl.java | 166 +++++++++++++++++ .../impl/CertificationServiceImpl.java | 175 ++++++++++++++++++ .../entity/basic/company/Certification.java | 48 +++++ .../basic/company/CertificationCate.java | 36 ++++ .../company/CertificationCateMapper.java | 13 ++ .../basic/company/CertificationMapper.java | 13 ++ .../CertificationCateCreateValidate.java | 19 ++ .../CertificationCateSearchValidate.java | 17 ++ .../CertificationCateUpdateValidate.java | 28 +++ .../company/CertificationCreateValidate.java | 35 ++++ .../company/CertificationSearchValidate.java | 29 +++ .../company/CertificationUpdateValidate.java | 44 +++++ .../company/CertificationCateDetailVo.java | 22 +++ .../company/CertificationCateListedVo.java | 28 +++ .../basic/company/CertificationDetailVo.java | 34 ++++ .../basic/company/CertificationListedVo.java | 42 +++++ .../front/controller/AboutDataController.java | 29 +++ .../wyh/front/controller/IndexController.java | 44 ++--- .../wyh/front/controller/LoginController.java | 43 +++++ .../com/wyh/front/service/IIndexService.java | 15 ++ .../front/service/impl/IndexServiceImpl.java | 104 ++++++++++- .../java/com/wyh/front/vo/AboutDataVo.java | 25 +++ admin/src/api/certification.ts | 26 +++ admin/src/api/certificationcate.ts | 30 +++ .../basic/company/certification/edit.vue | 175 ++++++++++++++++++ .../basic/company/certification/index.vue | 166 +++++++++++++++++ .../basic/company/certification_cate/edit.vue | 101 ++++++++++ .../company/certification_cate/index.vue | 104 +++++++++++ 32 files changed, 1842 insertions(+), 40 deletions(-) create mode 100644 ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationCateController.java create mode 100644 ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationController.java create mode 100644 ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationCateService.java create mode 100644 ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationService.java create mode 100644 ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationCateServiceImpl.java create mode 100644 ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationServiceImpl.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/Certification.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/CertificationCate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationCateMapper.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationMapper.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateCreateValidate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateSearchValidate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateUpdateValidate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCreateValidate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationSearchValidate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationUpdateValidate.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateDetailVo.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateListedVo.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationDetailVo.java create mode 100644 ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationListedVo.java create mode 100644 ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/AboutDataController.java create mode 100644 ZJ-java/ZJ-front/src/main/java/com/wyh/front/vo/AboutDataVo.java create mode 100644 admin/src/api/certification.ts create mode 100644 admin/src/api/certificationcate.ts create mode 100644 admin/src/views/basic/company/certification/edit.vue create mode 100644 admin/src/views/basic/company/certification/index.vue create mode 100644 admin/src/views/basic/company/certification_cate/edit.vue create mode 100644 admin/src/views/basic/company/certification_cate/index.vue diff --git a/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationCateController.java b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationCateController.java new file mode 100644 index 0000000..8e146f1 --- /dev/null +++ b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationCateController.java @@ -0,0 +1,77 @@ +package com.wyh.admin.controller.basic.company; + +import com.wyh.admin.aop.Log; +import com.wyh.admin.service.ICertificationCateService; +import com.wyh.admin.validate.commons.IdValidate; +import com.wyh.admin.validate.commons.PageValidate; +import com.wyh.common.core.AjaxResult; +import com.wyh.common.core.PageResult; +import com.wyh.common.validator.annotation.IDMust; +import com.wyh.common.validator.basic.company.CertificationCateCreateValidate; +import com.wyh.common.validator.basic.company.CertificationCateSearchValidate; +import com.wyh.common.validator.basic.company.CertificationCateUpdateValidate; +import com.wyh.common.vo.basic.company.CertificationCateDetailVo; +import com.wyh.common.vo.basic.company.CertificationCateListedVo; +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/certificationCate") +@Api(tags = "资质分类管理") +public class CertificationCateController { + + @Resource + ICertificationCateService iCertificationCateService; + + @GetMapping("/list") + @ApiOperation(value="资质分类列表") + public AjaxResult> list(@Validated PageValidate pageValidate, + @Validated CertificationCateSearchValidate searchValidate) { + PageResult list = iCertificationCateService.list(pageValidate, searchValidate); + return AjaxResult.success(list); + } + + @GetMapping("all") + @ApiOperation(value="资质分类列表") + public AjaxResult> all() { + List list = iCertificationCateService.all(); + return AjaxResult.success(list); + } + + @GetMapping("/detail") + @ApiOperation(value="资质分类详情") + public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) { + CertificationCateDetailVo detail = iCertificationCateService.detail(id); + return AjaxResult.success(detail); + } + + @Log(title = "资质分类新增") + @PostMapping("/add") + @ApiOperation(value="资质分类新增") + public AjaxResult add(@Validated @RequestBody CertificationCateCreateValidate createValidate) { + iCertificationCateService.add(createValidate); + return AjaxResult.success(); + } + + @Log(title = "资质分类编辑") + @PostMapping("/edit") + @ApiOperation(value="资质分类编辑") + public AjaxResult edit(@Validated @RequestBody CertificationCateUpdateValidate updateValidate) { + iCertificationCateService.edit(updateValidate); + return AjaxResult.success(); + } + + @Log(title = "资质分类删除") + @PostMapping("/del") + @ApiOperation(value="资质分类删除") + public AjaxResult del(@Validated @RequestBody IdValidate idValidate) { + iCertificationCateService.del(idValidate.getId()); + return AjaxResult.success(); + } + +} diff --git a/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationController.java b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationController.java new file mode 100644 index 0000000..7cd67ea --- /dev/null +++ b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/controller/basic/company/CertificationController.java @@ -0,0 +1,69 @@ +package com.wyh.admin.controller.basic.company; + +import com.wyh.admin.aop.Log; +import com.wyh.admin.service.ICertificationService; +import com.wyh.admin.validate.commons.IdValidate; +import com.wyh.admin.validate.commons.PageValidate; +import com.wyh.common.core.AjaxResult; +import com.wyh.common.core.PageResult; +import com.wyh.common.validator.annotation.IDMust; +import com.wyh.common.validator.basic.company.CertificationCreateValidate; +import com.wyh.common.validator.basic.company.CertificationSearchValidate; +import com.wyh.common.validator.basic.company.CertificationUpdateValidate; +import com.wyh.common.vo.basic.company.CertificationDetailVo; +import com.wyh.common.vo.basic.company.CertificationListedVo; +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/certification") +@Api(tags = "资质信息管理") +public class CertificationController { + + @Resource + ICertificationService iCertificationService; + + @GetMapping("/list") + @ApiOperation(value="资质信息列表") + public AjaxResult> list(@Validated PageValidate pageValidate, + @Validated CertificationSearchValidate searchValidate) { + PageResult list = iCertificationService.list(pageValidate, searchValidate); + return AjaxResult.success(list); + } + + @GetMapping("/detail") + @ApiOperation(value="资质信息详情") + public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) { + CertificationDetailVo detail = iCertificationService.detail(id); + return AjaxResult.success(detail); + } + + @Log(title = "资质信息新增") + @PostMapping("/add") + @ApiOperation(value="资质信息新增") + public AjaxResult add(@Validated @RequestBody CertificationCreateValidate createValidate) { + iCertificationService.add(createValidate); + return AjaxResult.success(); + } + + @Log(title = "资质信息编辑") + @PostMapping("/edit") + @ApiOperation(value="资质信息编辑") + public AjaxResult edit(@Validated @RequestBody CertificationUpdateValidate updateValidate) { + iCertificationService.edit(updateValidate); + return AjaxResult.success(); + } + + @Log(title = "资质信息删除") + @PostMapping("/del") + @ApiOperation(value="资质信息删除") + public AjaxResult del(@Validated @RequestBody IdValidate idValidate) { + iCertificationService.del(idValidate.getId()); + return AjaxResult.success(); + } + +} diff --git a/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationCateService.java b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationCateService.java new file mode 100644 index 0000000..5f7ea05 --- /dev/null +++ b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationCateService.java @@ -0,0 +1,65 @@ +package com.wyh.admin.service; + +import com.wyh.admin.validate.commons.PageValidate; + +import com.wyh.common.core.PageResult; +import com.wyh.common.validator.basic.company.CertificationCateCreateValidate; +import com.wyh.common.validator.basic.company.CertificationCateSearchValidate; +import com.wyh.common.validator.basic.company.CertificationCateUpdateValidate; +import com.wyh.common.vo.basic.company.CertificationCateDetailVo; +import com.wyh.common.vo.basic.company.CertificationCateListedVo; + +import java.util.List; + +/** + * 资质分类服务接口类 + * @author wyh + */ +public interface ICertificationCateService { + + /** + * 资质分类列表 + * + * @author wyh + * @param pageValidate 分页参数 + * @param searchValidate 搜索参数 + * @return PageResult + */ + PageResult list(PageValidate pageValidate, CertificationCateSearchValidate searchValidate); + + /** + * 资质分类详情 + * + * @author wyh + * @param id 主键ID + * @return CertificationCateDetailVo + */ + CertificationCateDetailVo detail(Integer id); + + /** + * 资质分类新增 + * + * @author wyh + * @param createValidate 参数 + */ + void add(CertificationCateCreateValidate createValidate); + + /** + * 资质分类编辑 + * + * @author wyh + * @param updateValidate 参数 + */ + void edit(CertificationCateUpdateValidate updateValidate); + + /** + * 资质分类删除 + * + * @author wyh + * @param id 主键ID + */ + void del(Integer id); + + List all(); + +} diff --git a/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationService.java b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationService.java new file mode 100644 index 0000000..ab2b2bd --- /dev/null +++ b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/ICertificationService.java @@ -0,0 +1,60 @@ +package com.wyh.admin.service; + +import com.wyh.admin.validate.commons.PageValidate; +import com.wyh.common.core.PageResult; +import com.wyh.common.validator.basic.company.CertificationCreateValidate; +import com.wyh.common.validator.basic.company.CertificationSearchValidate; +import com.wyh.common.validator.basic.company.CertificationUpdateValidate; +import com.wyh.common.vo.basic.company.CertificationDetailVo; +import com.wyh.common.vo.basic.company.CertificationListedVo; + +/** + * 资质信息服务接口类 + * @author wyh + */ +public interface ICertificationService { + + /** + * 资质信息列表 + * + * @author wyh + * @param pageValidate 分页参数 + * @param searchValidate 搜索参数 + * @return PageResult + */ + PageResult list(PageValidate pageValidate, CertificationSearchValidate searchValidate); + + /** + * 资质信息详情 + * + * @author wyh + * @param id 主键ID + * @return CertificationDetailVo + */ + CertificationDetailVo detail(Integer id); + + /** + * 资质信息新增 + * + * @author wyh + * @param createValidate 参数 + */ + void add(CertificationCreateValidate createValidate); + + /** + * 资质信息编辑 + * + * @author wyh + * @param updateValidate 参数 + */ + void edit(CertificationUpdateValidate updateValidate); + + /** + * 资质信息删除 + * + * @author wyh + * @param id 主键ID + */ + void del(Integer id); + +} diff --git a/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationCateServiceImpl.java b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationCateServiceImpl.java new file mode 100644 index 0000000..7d4c6bd --- /dev/null +++ b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationCateServiceImpl.java @@ -0,0 +1,166 @@ +package com.wyh.admin.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.yulichang.query.MPJQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wyh.admin.service.ICertificationCateService; +import com.wyh.admin.validate.commons.PageValidate; +import com.wyh.common.config.GlobalConfig; +import com.wyh.common.core.PageResult; +import com.wyh.common.entity.basic.company.CertificationCate; +import com.wyh.common.mapper.basic.company.CertificationCateMapper; +import com.wyh.common.util.ListUtils; +import com.wyh.common.util.TimeUtils; +import com.wyh.common.util.UrlUtils; +import com.wyh.common.validator.basic.company.CertificationCateCreateValidate; +import com.wyh.common.validator.basic.company.CertificationCateSearchValidate; +import com.wyh.common.validator.basic.company.CertificationCateUpdateValidate; +import com.wyh.common.vo.basic.company.CertificationCateDetailVo; +import com.wyh.common.vo.basic.company.CertificationCateListedVo; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import javax.annotation.Resource; +import java.util.*; + +/** + * 资质分类实现类 + * @author wyh + */ +@Service +public class CertificationCateServiceImpl implements ICertificationCateService { + + @Resource + CertificationCateMapper certificationCateMapper; + + /** + * 资质分类列表 + * + * @author wyh + * @param pageValidate 分页参数 + * @param searchValidate 搜索参数 + * @return PageResult + */ + @Override + public PageResult list(PageValidate pageValidate, CertificationCateSearchValidate searchValidate) { + Integer page = pageValidate.getPageNo(); + Integer limit = pageValidate.getPageSize(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_delete", 0); + queryWrapper.orderByDesc("id"); + + certificationCateMapper.setSearch(queryWrapper, searchValidate, new String[]{ + "like:name:str", + }); + + IPage iPage = certificationCateMapper.selectPage(new Page<>(page, limit), queryWrapper); + + List list = new LinkedList<>(); + for(CertificationCate item : iPage.getRecords()) { + CertificationCateListedVo vo = new CertificationCateListedVo(); + BeanUtils.copyProperties(item, vo); + vo.setCreateTime(TimeUtils.timestampToDate(item.getCreateTime())); + vo.setUpdateTime(TimeUtils.timestampToDate(item.getUpdateTime())); + list.add(vo); + } + + return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list); + } + + /** + * 资质分类详情 + * + * @author wyh + * @param id 主键参数 + * @return CertificationCate + */ + @Override + public CertificationCateDetailVo detail(Integer id) { + CertificationCate model = certificationCateMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在"); + + CertificationCateDetailVo vo = new CertificationCateDetailVo(); + BeanUtils.copyProperties(model, vo); + return vo; + } + + /** + * 资质分类新增 + * + * @author wyh + * @param createValidate 参数 + */ + @Override + public void add(CertificationCateCreateValidate createValidate) { + CertificationCate model = new CertificationCate(); + model.setCreateTime(System.currentTimeMillis() / 1000); + model.setUpdateTime(System.currentTimeMillis() / 1000); + model.setName(createValidate.getName()); + certificationCateMapper.insert(model); + } + + /** + * 资质分类编辑 + * + * @author wyh + * @param updateValidate 参数 + */ + @Override + public void edit(CertificationCateUpdateValidate updateValidate) { + CertificationCate model = certificationCateMapper.selectOne( + new QueryWrapper() + .eq("id", updateValidate.getId()) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + model.setId(updateValidate.getId()); + model.setUpdateTime(System.currentTimeMillis() / 1000); + model.setName(updateValidate.getName()); + certificationCateMapper.updateById(model); + } + + /** + * 资质分类删除 + * + * @author wyh + * @param id 主键ID + */ + @Override + public void del(Integer id) { + CertificationCate model = certificationCateMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + model.setIsDelete(1); + model.setDeleteTime(System.currentTimeMillis() / 1000); + certificationCateMapper.updateById(model); + } + + @Override + public List all() { + List certificationCates = certificationCateMapper.selectList(Wrappers.lambdaQuery().eq(CertificationCate::getIsDelete, 0).orderByDesc(CertificationCate::getId)); + List list = new LinkedList<>(); + for (CertificationCate certificationCate : certificationCates) { + CertificationCateListedVo certificationCateListedVo = new CertificationCateListedVo(); + BeanUtils.copyProperties(certificationCate, certificationCateListedVo); + list.add(certificationCateListedVo); + } + return list; + } + +} diff --git a/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationServiceImpl.java b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationServiceImpl.java new file mode 100644 index 0000000..2f1a35d --- /dev/null +++ b/ZJ-java/ZJ-admin/src/main/java/com/wyh/admin/service/impl/CertificationServiceImpl.java @@ -0,0 +1,175 @@ +package com.wyh.admin.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.yulichang.query.MPJQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wyh.admin.validate.commons.PageValidate; +import com.wyh.admin.service.ICertificationService; +import com.wyh.common.core.PageResult; +import com.wyh.common.entity.basic.company.Certification; +import com.wyh.common.entity.basic.company.CertificationCate; +import com.wyh.common.mapper.basic.company.CertificationCateMapper; +import com.wyh.common.mapper.basic.company.CertificationMapper; +import com.wyh.common.util.ListUtils; +import com.wyh.common.util.TimeUtils; +import com.wyh.common.util.UrlUtils; +import com.wyh.common.validator.basic.company.CertificationCreateValidate; +import com.wyh.common.validator.basic.company.CertificationSearchValidate; +import com.wyh.common.validator.basic.company.CertificationUpdateValidate; +import com.wyh.common.vo.basic.company.CertificationDetailVo; +import com.wyh.common.vo.basic.company.CertificationListedVo; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import javax.annotation.Resource; +import java.util.*; + +/** + * 资质信息实现类 + * @author wyh + */ +@Service +public class CertificationServiceImpl implements ICertificationService { + + @Resource + CertificationMapper certificationMapper; + + @Resource + CertificationCateMapper certificationCateMapper; + + /** + * 资质信息列表 + * + * @author wyh + * @param pageValidate 分页参数 + * @param searchValidate 搜索参数 + * @return PageResult + */ + @Override + public PageResult list(PageValidate pageValidate, CertificationSearchValidate searchValidate) { + Integer page = pageValidate.getPageNo(); + Integer limit = pageValidate.getPageSize(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_delete", 0); + queryWrapper.orderByDesc(Arrays.asList("sort", "id")); + + certificationMapper.setSearch(queryWrapper, searchValidate, new String[]{ + "like:title:str", + "=:img:str", + "=:sort:int", + "=:isShow@is_show:int", + "=:cid@cid:int", + }); + + IPage iPage = certificationMapper.selectPage(new Page<>(page, limit), queryWrapper); + + List list = new LinkedList<>(); + for(Certification item : iPage.getRecords()) { + CertificationListedVo vo = new CertificationListedVo(); + BeanUtils.copyProperties(item, vo); + vo.setImg(UrlUtils.toAbsoluteUrl(item.getImg())); + vo.setCreateTime(TimeUtils.timestampToDate(item.getCreateTime())); + vo.setUpdateTime(TimeUtils.timestampToDate(item.getUpdateTime())); + if (item.getCid() != null){ + CertificationCate certificationCate = certificationCateMapper.selectById(item.getCid()); + vo.setCName(certificationCate !=null ? certificationCate.getName() : ""); + } + list.add(vo); + } + + return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list); + } + + /** + * 资质信息详情 + * + * @author wyh + * @param id 主键参数 + * @return Certification + */ + @Override + public CertificationDetailVo detail(Integer id) { + Certification model = certificationMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在"); + + CertificationDetailVo vo = new CertificationDetailVo(); + BeanUtils.copyProperties(model, vo); + vo.setImg(UrlUtils.toAbsoluteUrl(model.getImg())); + return vo; + } + + /** + * 资质信息新增 + * + * @author wyh + * @param createValidate 参数 + */ + @Override + public void add(CertificationCreateValidate createValidate) { + Certification model = new Certification(); + model.setCreateTime(System.currentTimeMillis() / 1000); + model.setUpdateTime(System.currentTimeMillis() / 1000); + model.setTitle(createValidate.getTitle()); + model.setImg(UrlUtils.toRelativeUrl(createValidate.getImg())); + model.setSort(createValidate.getSort()); + model.setIsShow(createValidate.getIsShow()); + model.setCid(createValidate.getCid()); + certificationMapper.insert(model); + } + + /** + * 资质信息编辑 + * + * @author wyh + * @param updateValidate 参数 + */ + @Override + public void edit(CertificationUpdateValidate updateValidate) { + Certification model = certificationMapper.selectOne( + new QueryWrapper() + .eq("id", updateValidate.getId()) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + model.setId(updateValidate.getId()); + model.setUpdateTime(System.currentTimeMillis() / 1000); + model.setTitle(updateValidate.getTitle()); + model.setImg(UrlUtils.toRelativeUrl(updateValidate.getImg())); + model.setSort(updateValidate.getSort()); + model.setIsShow(updateValidate.getIsShow()); + model.setCid(updateValidate.getCid()); + certificationMapper.updateById(model); + } + + /** + * 资质信息删除 + * + * @author wyh + * @param id 主键ID + */ + @Override + public void del(Integer id) { + Certification model = certificationMapper.selectOne( + new QueryWrapper() + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + model.setIsDelete(1); + model.setDeleteTime(System.currentTimeMillis() / 1000); + certificationMapper.updateById(model); + } + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/Certification.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/Certification.java new file mode 100644 index 0000000..2b679bb --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/Certification.java @@ -0,0 +1,48 @@ +package com.wyh.common.entity.basic.company; + +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 Certification implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "是否删除: 0=否, 1=是") + private Integer isDelete; + + @ApiModelProperty(value = "创建时间") + private Long createTime; + + @ApiModelProperty(value = "更新时间") + private Long updateTime; + + @ApiModelProperty(value = "删除时间") + private Long deleteTime; + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "图片") + private String img; + + @ApiModelProperty(value = "排序") + private Integer sort; + + @ApiModelProperty(value = "是否展示0:否,1:是") + private Integer isShow; + + @ApiModelProperty(value = "分类id") + private Integer cid; + +} \ No newline at end of file diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/CertificationCate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/CertificationCate.java new file mode 100644 index 0000000..4ed2922 --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/entity/basic/company/CertificationCate.java @@ -0,0 +1,36 @@ +package com.wyh.common.entity.basic.company; + +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 CertificationCate implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "是否删除: 0=否, 1=是") + private Integer isDelete; + + @ApiModelProperty(value = "创建时间") + private Long createTime; + + @ApiModelProperty(value = "更新时间") + private Long updateTime; + + @ApiModelProperty(value = "删除时间") + private Long deleteTime; + + @ApiModelProperty(value = "分类名称") + private String name; + +} \ No newline at end of file diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationCateMapper.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationCateMapper.java new file mode 100644 index 0000000..6a59d0e --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationCateMapper.java @@ -0,0 +1,13 @@ +package com.wyh.common.mapper.basic.company; + +import com.wyh.common.core.basics.IBaseMapper; +import com.wyh.common.entity.basic.company.CertificationCate; +import org.apache.ibatis.annotations.Mapper; + +/** + * 资质分类Mapper + * @author wyh + */ +@Mapper +public interface CertificationCateMapper extends IBaseMapper { +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationMapper.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationMapper.java new file mode 100644 index 0000000..db40637 --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/mapper/basic/company/CertificationMapper.java @@ -0,0 +1,13 @@ +package com.wyh.common.mapper.basic.company; + +import com.wyh.common.core.basics.IBaseMapper; +import com.wyh.common.entity.basic.company.Certification; +import org.apache.ibatis.annotations.Mapper; + +/** + * 资质信息Mapper + * @author wyh + */ +@Mapper +public interface CertificationMapper extends IBaseMapper { +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateCreateValidate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateCreateValidate.java new file mode 100644 index 0000000..cac0126 --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateCreateValidate.java @@ -0,0 +1,19 @@ +package com.wyh.common.validator.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.io.Serializable; +import javax.validation.constraints.*; + +@Data +@ApiModel("资质分类创建参数") +public class CertificationCateCreateValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @NotNull(message = "name参数缺失") + @ApiModelProperty(value = "分类名称") + private String name; + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateSearchValidate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateSearchValidate.java new file mode 100644 index 0000000..fa1572c --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateSearchValidate.java @@ -0,0 +1,17 @@ +package com.wyh.common.validator.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.io.Serializable; + +@Data +@ApiModel("资质分类搜素参数") +public class CertificationCateSearchValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "分类名称") + private String name; + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateUpdateValidate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateUpdateValidate.java new file mode 100644 index 0000000..75645d8 --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCateUpdateValidate.java @@ -0,0 +1,28 @@ +package com.wyh.common.validator.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.io.Serializable; +import javax.validation.constraints.*; +import com.wyh.common.validator.annotation.IDMust; + +/** + * 资质分类参数 + * @author wyh + */ +@Data +@ApiModel("资质分类更新参数") +public class CertificationCateUpdateValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @IDMust(message = "id参数必传且需大于0") + @ApiModelProperty(value = "主键") + private Integer id; + + @NotNull(message = "name参数缺失") + @ApiModelProperty(value = "分类名称") + private String name; + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCreateValidate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCreateValidate.java new file mode 100644 index 0000000..d1349fa --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationCreateValidate.java @@ -0,0 +1,35 @@ +package com.wyh.common.validator.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.io.Serializable; +import javax.validation.constraints.*; + +@Data +@ApiModel("资质信息创建参数") +public class CertificationCreateValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @NotNull(message = "title参数缺失") + @ApiModelProperty(value = "标题") + private String title; + + @NotNull(message = "img参数缺失") + @ApiModelProperty(value = "图片") + private String img; + + @NotNull(message = "sort参数缺失") + @ApiModelProperty(value = "排序") + private Integer sort; + + @NotNull(message = "isShow参数缺失") + @ApiModelProperty(value = "是否展示0:否,1:是") + private Integer isShow; + + @NotNull(message = "cid参数缺失") + @ApiModelProperty(value = "分类id") + private Integer cid; + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationSearchValidate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationSearchValidate.java new file mode 100644 index 0000000..0b5b9cf --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationSearchValidate.java @@ -0,0 +1,29 @@ +package com.wyh.common.validator.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.io.Serializable; + +@Data +@ApiModel("资质信息搜素参数") +public class CertificationSearchValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "图片") + private String img; + + @ApiModelProperty(value = "排序") + private Integer sort; + + @ApiModelProperty(value = "是否展示0:否,1:是") + private Integer isShow; + + @ApiModelProperty(value = "分类id") + private Integer cid; + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationUpdateValidate.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationUpdateValidate.java new file mode 100644 index 0000000..f389aac --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/validator/basic/company/CertificationUpdateValidate.java @@ -0,0 +1,44 @@ +package com.wyh.common.validator.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.io.Serializable; +import javax.validation.constraints.*; +import com.wyh.common.validator.annotation.IDMust; + +/** + * 资质信息参数 + * @author wyh + */ +@Data +@ApiModel("资质信息更新参数") +public class CertificationUpdateValidate implements Serializable { + + private static final long serialVersionUID = 1L; + + @IDMust(message = "id参数必传且需大于0") + @ApiModelProperty(value = "主键") + private Integer id; + + @NotNull(message = "title参数缺失") + @ApiModelProperty(value = "标题") + private String title; + + @NotNull(message = "img参数缺失") + @ApiModelProperty(value = "图片") + private String img; + + @NotNull(message = "sort参数缺失") + @ApiModelProperty(value = "排序") + private Integer sort; + + @NotNull(message = "isShow参数缺失") + @ApiModelProperty(value = "是否展示0:否,1:是") + private Integer isShow; + + @NotNull(message = "cid参数缺失") + @ApiModelProperty(value = "分类id") + private Integer cid; + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateDetailVo.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateDetailVo.java new file mode 100644 index 0000000..047bce9 --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateDetailVo.java @@ -0,0 +1,22 @@ +package com.wyh.common.vo.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("资质分类详情Vo") +public class CertificationCateDetailVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "分类名称") + private String name; + + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateListedVo.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateListedVo.java new file mode 100644 index 0000000..4b0603e --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationCateListedVo.java @@ -0,0 +1,28 @@ +package com.wyh.common.vo.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("资质分类列表Vo") +public class CertificationCateListedVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModelProperty(value = "更新时间") + private String updateTime; + + @ApiModelProperty(value = "分类名称") + private String name; + + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationDetailVo.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationDetailVo.java new file mode 100644 index 0000000..a5b150a --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationDetailVo.java @@ -0,0 +1,34 @@ +package com.wyh.common.vo.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("资质信息详情Vo") +public class CertificationDetailVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "图片") + private String img; + + @ApiModelProperty(value = "排序") + private Integer sort; + + @ApiModelProperty(value = "是否展示0:否,1:是") + private Integer isShow; + + @ApiModelProperty(value = "分类id") + private Integer cid; + + +} diff --git a/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationListedVo.java b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationListedVo.java new file mode 100644 index 0000000..288c8cc --- /dev/null +++ b/ZJ-java/ZJ-common/src/main/java/com/wyh/common/vo/basic/company/CertificationListedVo.java @@ -0,0 +1,42 @@ +package com.wyh.common.vo.basic.company; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("资质信息列表Vo") +public class CertificationListedVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModelProperty(value = "更新时间") + private String updateTime; + + @ApiModelProperty(value = "标题") + private String title; + + @ApiModelProperty(value = "图片") + private String img; + + @ApiModelProperty(value = "排序") + private Integer sort; + + @ApiModelProperty(value = "是否展示0:否,1:是") + private Integer isShow; + + @ApiModelProperty(value = "分类id") + private Integer cid; + + private String cName; + + +} diff --git a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/AboutDataController.java b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/AboutDataController.java new file mode 100644 index 0000000..1de19a7 --- /dev/null +++ b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/AboutDataController.java @@ -0,0 +1,29 @@ +package com.wyh.front.controller; + +import com.wyh.common.core.AjaxResult; +import com.wyh.front.service.IIndexService; +import com.wyh.front.vo.AboutDataVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("api/a") +@Api(tags = "关于我们Tag") +public class AboutDataController { + + @Resource + private IIndexService indexService; + + @GetMapping("/aboutData") + @ApiOperation(value = "关于我们") + public AjaxResult aboutData() { + AboutDataVo aboutDataVo = indexService.aboutData(); + return AjaxResult.success(aboutDataVo); + } + +} diff --git a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/IndexController.java b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/IndexController.java index cb437ea..2f8cb3d 100644 --- a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/IndexController.java +++ b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/IndexController.java @@ -15,6 +15,8 @@ import com.wyh.common.validator.annotation.IDMust; import com.wyh.front.service.IBannerService; import com.wyh.front.service.IIndexService; import com.wyh.front.validate.common.SmsValidate; +import com.wyh.front.vo.basic.banner.BannerListedVo; +import com.wyh.front.vo.basic.bannerfront.BannerFrontListedVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -32,14 +34,10 @@ import java.util.Map; @Api(tags = "公共数据") public class IndexController { - @Resource - NoticeRecordMapper noticeRecordMapper; @Resource IIndexService iIndexService; - @Resource - IBannerService iBannerService; @NotLogin @GetMapping("/index") @@ -86,34 +84,18 @@ public class IndexController { return AjaxResult.success(list); } - @NotLogin - @PostMapping("/sendSms") - @ApiOperation(value="发送短信" , notes="发送短信验证码") -// @ApiIgnore - public AjaxResult sendSms(@Validated @RequestBody SmsValidate smsValidate) { - NoticeRecord noticeRecord = noticeRecordMapper.selectOne(new QueryWrapper() - .eq("account", smsValidate.getMobile()) - .eq("scene", smsValidate.getScene()) - .eq("status", Arrays.asList(NoticeEnum.STATUS_WAIT, NoticeEnum.STATUS_OK)) - .orderByDesc("id") - .last("limit 1")); + @GetMapping("/bannerPc") + @ApiOperation(value="首页轮播图(PC端)") + public AjaxResult> bannerPc() { + List list = iIndexService.bannerPc(); + return AjaxResult.success(list); + } - if (StringUtils.isNotNull(noticeRecord)) { - if (noticeRecord.getCreateTime() >= (System.currentTimeMillis() / 1000 - 60)){ - throw new OperateException("操作频繁,请稍后再试!"); - } - } - - NoticeSmsVo params = new NoticeSmsVo() - .setScene(smsValidate.getScene()) - .setMobile(smsValidate.getMobile()) - .setExpire(900) - .setParams(new String[] { - "code:" + ToolUtils.randomInt(4) - }); - - NoticeDriver.handle(params); - return AjaxResult.success(); + @GetMapping("/bannerFront") + @ApiOperation(value="首页轮播图(小程序端)") + public AjaxResult> bannerFront() { + List list = iIndexService.bannerFront(); + return AjaxResult.success(list); } diff --git a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/LoginController.java b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/LoginController.java index a28d611..43484dd 100644 --- a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/LoginController.java +++ b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/controller/LoginController.java @@ -1,9 +1,19 @@ package com.wyh.front.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.wyh.common.aop.NotLogin; import com.wyh.common.core.AjaxResult; +import com.wyh.common.entity.notice.NoticeRecord; +import com.wyh.common.enums.NoticeEnum; +import com.wyh.common.exception.OperateException; +import com.wyh.common.mapper.notice.NoticeRecordMapper; +import com.wyh.common.plugin.notice.NoticeDriver; +import com.wyh.common.plugin.notice.vo.NoticeSmsVo; +import com.wyh.common.util.StringUtils; +import com.wyh.common.util.ToolUtils; import com.wyh.front.ZJFrontThreadLocal; import com.wyh.front.service.ILoginService; +import com.wyh.front.validate.common.SmsValidate; import com.wyh.front.validate.login.*; import com.wyh.front.vo.login.LoginUrlsVo; import com.wyh.front.vo.login.LoginTokenVo; @@ -17,6 +27,7 @@ import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import javax.validation.constraints.NotNull; +import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -26,6 +37,9 @@ import java.util.regex.Pattern; @Api(tags = "登录管理") public class LoginController { + + @Resource + NoticeRecordMapper noticeRecordMapper; @Resource ILoginService iLoginService; @@ -146,5 +160,34 @@ public class LoginController { } } + @NotLogin + @PostMapping("/sendSms") + @ApiOperation(value="发送短信" , notes="发送短信验证码") +// @ApiIgnore + public AjaxResult sendSms(@Validated @RequestBody SmsValidate smsValidate) { + NoticeRecord noticeRecord = noticeRecordMapper.selectOne(new QueryWrapper() + .eq("account", smsValidate.getMobile()) + .eq("scene", smsValidate.getScene()) + .eq("status", Arrays.asList(NoticeEnum.STATUS_WAIT, NoticeEnum.STATUS_OK)) + .orderByDesc("id") + .last("limit 1")); + + if (StringUtils.isNotNull(noticeRecord)) { + if (noticeRecord.getCreateTime() >= (System.currentTimeMillis() / 1000 - 60)){ + throw new OperateException("操作频繁,请稍后再试!"); + } + } + + NoticeSmsVo params = new NoticeSmsVo() + .setScene(smsValidate.getScene()) + .setMobile(smsValidate.getMobile()) + .setExpire(900) + .setParams(new String[] { + "code:" + ToolUtils.randomInt(4) + }); + + NoticeDriver.handle(params); + return AjaxResult.success(); + } } diff --git a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/IIndexService.java b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/IIndexService.java index b6cc293..d64cca5 100644 --- a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/IIndexService.java +++ b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/IIndexService.java @@ -1,5 +1,9 @@ package com.wyh.front.service; +import com.wyh.front.vo.AboutDataVo; +import com.wyh.front.vo.basic.banner.BannerListedVo; +import com.wyh.front.vo.basic.bannerfront.BannerFrontListedVo; + import java.util.List; import java.util.Map; @@ -50,4 +54,15 @@ public interface IIndexService { */ List hotSearch(); + /** + * 轮播图(pc) + * + * @author wyh + * @return List + */ + List bannerPc(); + + List bannerFront(); + + AboutDataVo aboutData(); } diff --git a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/impl/IndexServiceImpl.java b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/impl/IndexServiceImpl.java index 3be2e21..6be3538 100644 --- a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/impl/IndexServiceImpl.java +++ b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/service/impl/IndexServiceImpl.java @@ -4,15 +4,32 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.wyh.common.config.GlobalConfig; import com.wyh.common.entity.article.Article; +import com.wyh.common.entity.basic.banner.Banner; +import com.wyh.common.entity.basic.bannerfront.BannerFront; +import com.wyh.common.entity.basic.company.About; +import com.wyh.common.entity.basic.company.Case; +import com.wyh.common.entity.basic.company.Contact; +import com.wyh.common.entity.basic.company.Jrwm; import com.wyh.common.entity.decorate.DecoratePage; import com.wyh.common.entity.decorate.DecorateTabbar; import com.wyh.common.entity.setting.HotSearch; import com.wyh.common.mapper.article.ArticleMapper; +import com.wyh.common.mapper.basic.banner.BannerMapper; +import com.wyh.common.mapper.basic.bannerfront.BannerFrontMapper; +import com.wyh.common.mapper.basic.company.AboutMapper; +import com.wyh.common.mapper.basic.company.CaseMapper; +import com.wyh.common.mapper.basic.company.ContactMapper; +import com.wyh.common.mapper.basic.company.JrwmMapper; import com.wyh.common.mapper.decorate.DecoratePageMapper; import com.wyh.common.mapper.decorate.DecorateTabbarMapper; import com.wyh.common.mapper.setting.HotSearchMapper; import com.wyh.front.service.IIndexService; import com.wyh.common.util.*; +import com.wyh.front.vo.AboutDataVo; +import com.wyh.front.vo.basic.banner.BannerListedVo; +import com.wyh.front.vo.basic.bannerfront.BannerFrontListedVo; +import com.wyh.front.vo.basic.company.AboutDetailVo; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -36,19 +53,37 @@ public class IndexServiceImpl implements IIndexService { @Resource ArticleMapper articleMapper; + + @Resource + BannerMapper bannerMapper; + + @Resource + BannerFrontMapper bannerFrontMapper; + + @Resource + ContactMapper contactMapper; + + @Resource + CaseMapper caseMapper; + + @Resource + JrwmMapper jrwmMapper; + @Resource + AboutMapper aboutMapper; + /** * 首页 * - * @author wyh * @return Map + * @author wyh */ @Override public Map index() { Map response = new LinkedHashMap<>(); DecoratePage decoratePage = decoratePageMapper.selectOne( new QueryWrapper() - .eq("id", 1) - .last("limit 1")); + .eq("id", 1) + .last("limit 1")); List> articleList = new LinkedList<>(); List
articles = articleMapper.selectList(new QueryWrapper
() @@ -79,9 +114,9 @@ public class IndexServiceImpl implements IIndexService { /** * 装修 * - * @author wyh * @param id 主键 * @return Map + * @author wyh */ @Override public Map decorate(Integer id) { @@ -102,8 +137,8 @@ public class IndexServiceImpl implements IIndexService { /** * 配置 * - * @author wyh * @return Map + * @author wyh */ @Override public Map config() { @@ -112,7 +147,7 @@ public class IndexServiceImpl implements IIndexService { // 底部导航 List> tabs = new LinkedList<>(); List decorateTabbars = decorateTabbarMapper.selectList(new QueryWrapper().orderByAsc("id")); - for (DecorateTabbar tab: decorateTabbars) { + for (DecorateTabbar tab : decorateTabbars) { Map map = new LinkedHashMap<>(); map.put("name", tab.getName()); map.put("selected", UrlUtils.toAbsoluteUrl(tab.getSelected())); @@ -161,9 +196,9 @@ public class IndexServiceImpl implements IIndexService { /** * 政策 * - * @author wyh * @param type 类型 service=服务协议,privacy=隐私协议 * @return Map + * @author wyh */ @Override public Map policy(String type) { @@ -180,8 +215,8 @@ public class IndexServiceImpl implements IIndexService { /** * 热搜 * - * @author wyh * @return List + * @author wyh */ @Override public List hotSearch() { @@ -191,7 +226,7 @@ public class IndexServiceImpl implements IIndexService { if (Integer.parseInt(isHotSearch) == 1) { List hotSearches = hotSearchMapper.selectList( new QueryWrapper() - .orderByDesc(Arrays.asList("sort", "id"))); + .orderByDesc(Arrays.asList("sort", "id"))); for (HotSearch hotSearch : hotSearches) { list.add(hotSearch.getName()); @@ -201,4 +236,55 @@ public class IndexServiceImpl implements IIndexService { return list; } + @Override + public List bannerPc() { + List banners = bannerMapper.selectList(new QueryWrapper().eq("is_delete", 0).eq("is_show", 1).orderByDesc(Arrays.asList("sort", "id"))); + List bannerListedVos = new LinkedList<>(); + for (Banner banner : banners) { + BannerListedVo bannerListedVo = new BannerListedVo(); + BeanUtils.copyProperties(banner, bannerListedVo); + bannerListedVo.setImg(UrlUtils.toAbsoluteUrl(banner.getImg())); + bannerListedVo.setCreateTime(TimeUtils.timestampToDate(banner.getCreateTime())); + bannerListedVo.setUpdateTime(TimeUtils.timestampToDate(banner.getUpdateTime())); + bannerListedVos.add(bannerListedVo); + } + return bannerListedVos; + } + + @Override + public List bannerFront() { + List bannerFronts = bannerFrontMapper.selectList(new QueryWrapper().eq("is_delete", 0).eq("is_show", 1).orderByDesc(Arrays.asList("sort", "id"))); + List bannerFrontListedVos = new LinkedList<>(); + for (BannerFront bannerFront : bannerFronts) { + BannerFrontListedVo bannerFrontListedVo = new BannerFrontListedVo(); + BeanUtils.copyProperties(bannerFront, bannerFrontListedVo); + bannerFrontListedVo.setImg(UrlUtils.toAbsoluteUrl(bannerFront.getImg())); + bannerFrontListedVo.setCreateTime(TimeUtils.timestampToDate(bannerFront.getCreateTime())); + bannerFrontListedVo.setUpdateTime(TimeUtils.timestampToDate(bannerFront.getUpdateTime())); + bannerFrontListedVos.add(bannerFrontListedVo); + } + return bannerFrontListedVos; + + } + + @Override + public AboutDataVo aboutData() { + AboutDataVo aboutDataVo = new AboutDataVo(); + // 关于我们 + About abouts = aboutMapper.selectById(1); + AboutDetailVo aboutDetailVo = new AboutDetailVo(); + BeanUtils.copyProperties(abouts, aboutDetailVo); + aboutDetailVo.setAboutImg(UrlUtils.toAbsoluteUrl(abouts.getAboutImg())); + aboutDetailVo.setResearchImg(UrlUtils.toAbsoluteUrl(abouts.getResearchImg())); + aboutDataVo.setAbout(aboutDetailVo); + // 案例 + List cases = caseMapper.selectList(new QueryWrapper().eq("is_delete", 0).eq("is_show", 1).orderByDesc(Arrays.asList("sort", "id"))); + aboutDataVo.setCaseList(cases); + // 荣誉 + // 联系我们 + List contacts = contactMapper.selectList(new QueryWrapper().eq("is_delete", 0).eq("is_show", 1).orderByDesc(Arrays.asList("sort", "id"))); + aboutDataVo.setContactList(contacts); + return aboutDataVo; + } + } diff --git a/ZJ-java/ZJ-front/src/main/java/com/wyh/front/vo/AboutDataVo.java b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/vo/AboutDataVo.java new file mode 100644 index 0000000..9424eee --- /dev/null +++ b/ZJ-java/ZJ-front/src/main/java/com/wyh/front/vo/AboutDataVo.java @@ -0,0 +1,25 @@ +package com.wyh.front.vo; + +import com.wyh.common.entity.basic.company.About; +import com.wyh.common.entity.basic.company.Case; +import com.wyh.common.entity.basic.company.Contact; +import com.wyh.common.entity.basic.company.Jrwm; +import com.wyh.front.vo.basic.company.AboutDetailVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +@ApiModel("关于我们VO") +public class AboutDataVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private AboutDetailVo about; + private List caseList; +// private List jrwmList; + private List contactList; +} diff --git a/admin/src/api/certification.ts b/admin/src/api/certification.ts new file mode 100644 index 0000000..bb0be2d --- /dev/null +++ b/admin/src/api/certification.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 资质信息列表 +export function certificationLists(params?: Record) { + return request.get({ url: '/certification/list', params }) +} + +// 资质信息详情 +export function certificationDetail(params: Record) { + return request.get({ url: '/certification/detail', params }) +} + +// 资质信息新增 +export function certificationAdd(params: Record) { + return request.post({ url: '/certification/add', params }) +} + +// 资质信息编辑 +export function certificationEdit(params: Record) { + return request.post({ url: '/certification/edit', params }) +} + +// 资质信息删除 +export function certificationDelete(params: Record) { + return request.post({ url: '/certification/del', params }) +} diff --git a/admin/src/api/certificationcate.ts b/admin/src/api/certificationcate.ts new file mode 100644 index 0000000..1fb1b6a --- /dev/null +++ b/admin/src/api/certificationcate.ts @@ -0,0 +1,30 @@ +import request from '@/utils/request' + +// 资质分类列表 +export function certificationLists(params?: Record) { + return request.get({ url: '/certificationCate/list', params }) +} + +// 资质分类详情 +export function certificationDetail(params: Record) { + return request.get({ url: '/certificationCate/detail', params }) +} + +// 资质分类新增 +export function certificationAdd(params: Record) { + return request.post({ url: '/certificationCate/add', params }) +} + +// 资质分类编辑 +export function certificationEdit(params: Record) { + return request.post({ url: '/certificationCate/edit', params }) +} + +// 资质分类删除 +export function certificationDelete(params: Record) { + return request.post({ url: '/certificationCate/del', params }) +} + +export function listAll() { + return request.get({ url: '/certificationCate/all' }) +} diff --git a/admin/src/views/basic/company/certification/edit.vue b/admin/src/views/basic/company/certification/edit.vue new file mode 100644 index 0000000..0e60308 --- /dev/null +++ b/admin/src/views/basic/company/certification/edit.vue @@ -0,0 +1,175 @@ + + diff --git a/admin/src/views/basic/company/certification/index.vue b/admin/src/views/basic/company/certification/index.vue new file mode 100644 index 0000000..b927a50 --- /dev/null +++ b/admin/src/views/basic/company/certification/index.vue @@ -0,0 +1,166 @@ + + diff --git a/admin/src/views/basic/company/certification_cate/edit.vue b/admin/src/views/basic/company/certification_cate/edit.vue new file mode 100644 index 0000000..1a4e97c --- /dev/null +++ b/admin/src/views/basic/company/certification_cate/edit.vue @@ -0,0 +1,101 @@ + + diff --git a/admin/src/views/basic/company/certification_cate/index.vue b/admin/src/views/basic/company/certification_cate/index.vue new file mode 100644 index 0000000..ac34a46 --- /dev/null +++ b/admin/src/views/basic/company/certification_cate/index.vue @@ -0,0 +1,104 @@ + +