|
@@ -0,0 +1,180 @@
|
|
|
|
|
+package com.poteviohealth.cgp.serve.service.impl;
|
|
|
|
|
+
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
+import com.poteviohealth.cgp.common.facade.image.ImageResponse;
|
|
|
|
|
+import com.poteviohealth.cgp.common.facade.image.ImageService;
|
|
|
|
|
+import com.poteviohealth.cgp.common.filter.TokenContext;
|
|
|
|
|
+import com.poteviohealth.cgp.common.model.CommonPage;
|
|
|
|
|
+import com.poteviohealth.cgp.common.model.VaultsResponse;
|
|
|
|
|
+import com.poteviohealth.cgp.common.service.impl.BaseServiceImpl;
|
|
|
|
|
+import com.poteviohealth.cgp.common.utils.CgpTool;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.controller.web.TagPageDTO;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.mapper.ServeTagMapper;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.mapstruct.ServeTagConverter;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.model.ServeTag;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.model.invo.web.ServeTagSaveDTO;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.model.outvo.web.ServeTagWebOutDTO;
|
|
|
|
|
+import com.poteviohealth.cgp.serve.service.IServeTagService;
|
|
|
|
|
+import lombok.extern.log4j.Log4j2;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
+
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
|
+import java.io.IOException;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 服务标签 服务实现类
|
|
|
|
|
+ * @author Qin
|
|
|
|
|
+ */
|
|
|
|
|
+@Service
|
|
|
|
|
+@Log4j2
|
|
|
|
|
+public class ServeTagServiceImpl extends BaseServiceImpl<ServeTagMapper, ServeTag> implements IServeTagService {
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private ImageService imageService;
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VaultsResponse<CommonPage<ServeTagWebOutDTO>> webList(TagPageDTO tagPageDTO) {
|
|
|
|
|
+ Page<ServeTag> page = new Page<>(tagPageDTO.getPageNum(), tagPageDTO.getPageSize());
|
|
|
|
|
+ QueryWrapper<ServeTag> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ Integer supplierId = TokenContext.curSupplierId();
|
|
|
|
|
+ if(supplierId != null ){
|
|
|
|
|
+ queryWrapper.eq("supplier_id",supplierId);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(StringUtils.isNotBlank(tagPageDTO.getName())){
|
|
|
|
|
+ queryWrapper.like("name",tagPageDTO.getName());
|
|
|
|
|
+ }
|
|
|
|
|
+ if(null != tagPageDTO.getEnable()){
|
|
|
|
|
+ queryWrapper.eq("enable",tagPageDTO.getEnable());
|
|
|
|
|
+ }
|
|
|
|
|
+ queryWrapper.orderByAsc("created_date");
|
|
|
|
|
+ return VaultsResponse.success(ServeTagConverter.INSTANCE.model2WebDTO(super.page(page, queryWrapper)));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VaultsResponse<String> saveServeTag(ServeTagSaveDTO serveTagSaveDTO,MultipartFile file) {
|
|
|
|
|
+ ServeTag tag = ServeTagConverter.INSTANCE.dto2model(serveTagSaveDTO);
|
|
|
|
|
+ if(checkName(serveTagSaveDTO)){
|
|
|
|
|
+ return VaultsResponse.failed("标签名称已存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ tag.setServeTagId(CgpTool.generateKey());
|
|
|
|
|
+ tag.setSupplierId(TokenContext.curSupplierId());
|
|
|
|
|
+ tag.setEnable(1);
|
|
|
|
|
+ String pic = uploadImg(file);
|
|
|
|
|
+ if(StringUtils.isNotBlank(pic)){
|
|
|
|
|
+ tag.setPic(pic);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return VaultsResponse.failed("图片上传失败");
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ save(tag);
|
|
|
|
|
+ return VaultsResponse.success();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("saveServeTag error", e);
|
|
|
|
|
+ return VaultsResponse.failed(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VaultsResponse updateServeTag(ServeTagSaveDTO saveDTO,MultipartFile file) {
|
|
|
|
|
+ ServeTag tag = ServeTagConverter.INSTANCE.dto2model(saveDTO);
|
|
|
|
|
+ if (tag.getServeTagId() == null) {
|
|
|
|
|
+ return VaultsResponse.failed("标签ID不能为空");
|
|
|
|
|
+ }else if(checkName(saveDTO)){
|
|
|
|
|
+ return VaultsResponse.failed("标签名称已存在");
|
|
|
|
|
+ }else if(tag.getEnable() == null){
|
|
|
|
|
+ tag.setEnable(1);
|
|
|
|
|
+ }else if(StringUtils.isNotBlank(file.getOriginalFilename())){
|
|
|
|
|
+ String pic = uploadImg(file);
|
|
|
|
|
+ tag.setPic(pic);
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ super.updateEntityByEqBeanId(tag, "serve_tag_id", tag.getServeTagId());
|
|
|
|
|
+ return VaultsResponse.success();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("updateServeTag error", e);
|
|
|
|
|
+ return VaultsResponse.failed(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VaultsResponse getServeTag(Long id) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ ServeTag tag = super.getEntityByBeanId("serve_tag_id", id);
|
|
|
|
|
+ if(tag == null){
|
|
|
|
|
+ return VaultsResponse.failed("未获取到对象信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ return VaultsResponse.success(ServeTagConverter.INSTANCE.model2WebDTO(tag));
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("getServeTag error", e);
|
|
|
|
|
+ return VaultsResponse.failed(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VaultsResponse deleteServeTag(Long id) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ ServeTag tag = super.getEntityByBeanId("serve_tag_id", id);
|
|
|
|
|
+ if(tag == null){
|
|
|
|
|
+ return VaultsResponse.failed("未获取到对象信息");
|
|
|
|
|
+ }else if(tag.getEnable().equals(1L)){
|
|
|
|
|
+ return VaultsResponse.failed("启用状态下不可删除");
|
|
|
|
|
+ }
|
|
|
|
|
+ super.removeEntityByEqBeanId("serve_tag_id", id);
|
|
|
|
|
+ return VaultsResponse.success();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("getServeTag error", e);
|
|
|
|
|
+ return VaultsResponse.failed(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public VaultsResponse changeServeTag(ServeTagSaveDTO saveDTO) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (saveDTO.getServeTagId() == null) {
|
|
|
|
|
+ return VaultsResponse.failed("标签ID不能为空");
|
|
|
|
|
+ }else if(saveDTO.getEnable() == null){
|
|
|
|
|
+ return VaultsResponse.failed("标签状态不能为空");
|
|
|
|
|
+ }else if(saveDTO.getEnable() == 0){
|
|
|
|
|
+ //TODO 停用:已关联服务自动取消该标签
|
|
|
|
|
+ }
|
|
|
|
|
+ ServeTag tag = new ServeTag();
|
|
|
|
|
+ tag.setEnable(saveDTO.getEnable());
|
|
|
|
|
+ super.updateEntityByEqBeanId(tag,"serve_tag_id", saveDTO.getServeTagId());
|
|
|
|
|
+ return VaultsResponse.success();
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("getServeTag error", e);
|
|
|
|
|
+ return VaultsResponse.failed(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public boolean checkName(ServeTagSaveDTO saveDTO) {
|
|
|
|
|
+ QueryWrapper<ServeTag> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq("name",saveDTO.getName());
|
|
|
|
|
+ if (saveDTO.getServeTagId()!=null) {
|
|
|
|
|
+ queryWrapper.ne("serve_tag_id", saveDTO.getServeTagId());
|
|
|
|
|
+ }
|
|
|
|
|
+ List<ServeTag> list = super.list(queryWrapper);
|
|
|
|
|
+ return !list.isEmpty();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ private String uploadImg(MultipartFile file){
|
|
|
|
|
+
|
|
|
|
|
+ ImageResponse response;
|
|
|
|
|
+ try {
|
|
|
|
|
+ response = imageService.uploadFile(file.getBytes());
|
|
|
|
|
+ if (ImageResponse.ID_SUCCESS.equals(response.getId())) {
|
|
|
|
|
+ return response.getMsg();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|