Browse Source

修复贫困人员慰问的bug;

dev
luyan 2 years ago
parent
commit
703bae43f8
  1. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PovertyCondoleDTO.java
  2. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/povertyManage/PovertyCondoleAttrDTO.java
  3. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/povertyManage/PovertyCondoleFormDto.java
  4. 69
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PovertyCondoleController.java
  5. 25
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PovertyCondoleServiceImpl.java

3
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/PovertyCondoleDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto; package com.epmet.dto;
import com.epmet.dto.form.povertyManage.PovertyCondoleAttrDTO;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -61,7 +62,7 @@ public class PovertyCondoleDTO implements Serializable {
/** /**
* 图片 * 图片
*/ */
private List<String> imgs; private List<PovertyCondoleAttrDTO> imgs;
/** /**
* 电话 * 电话

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/povertyManage/PovertyCondoleAttrDTO.java

@ -14,6 +14,8 @@ public class PovertyCondoleAttrDTO implements Serializable {
private static final long serialVersionUID = -5490762499712805180L; private static final long serialVersionUID = -5490762499712805180L;
private String id;
private String pcId; private String pcId;
private String url; private String url;

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/povertyManage/PovertyCondoleFormDto.java

@ -37,7 +37,7 @@ public class PovertyCondoleFormDto extends PageFormDTO implements Serializable {
private String povertyType; private String povertyType;
private List<String> imgs; private List<PovertyCondoleAttrDTO> imgs;
private String condoleTime; private String condoleTime;

69
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PovertyCondoleController.java

@ -1,11 +1,11 @@
package com.epmet.controller; package com.epmet.controller;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.epmet.commons.tools.annotation.MaskResponse; import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
@ -21,12 +21,11 @@ import com.epmet.service.PovertyCondoleAttrService;
import com.epmet.service.PovertyCondoleService; import com.epmet.service.PovertyCondoleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
@ -63,11 +62,7 @@ public class PovertyCondoleController {
PovertyCondoleDTO data = povertyCondoleService.get(id); PovertyCondoleDTO data = povertyCondoleService.get(id);
List<PovertyCondoleAttrDTO> imgs = attrService.selectByPcId(id); List<PovertyCondoleAttrDTO> imgs = attrService.selectByPcId(id);
if (!CollectionUtils.isEmpty(imgs)) { if (!CollectionUtils.isEmpty(imgs)) {
List<String> imageList = new ArrayList<>(); data.setImgs(imgs);
imgs.forEach(file -> {
imageList.add(file.getUrl());
});
data.setImgs(imageList);
} }
return new Result<PovertyCondoleDTO>().ok(data); return new Result<PovertyCondoleDTO>().ok(data);
} }
@ -77,27 +72,41 @@ public class PovertyCondoleController {
public Result save(@RequestBody PovertyCondoleFormDto dto) throws ParseException { public Result save(@RequestBody PovertyCondoleFormDto dto) throws ParseException {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
dto.setId(IdWorker.getIdStr());
if (!CollectionUtils.isEmpty(dto.getImgs())) {
List<PovertyCondoleAttrEntity> imageList = new ArrayList<>();
buildImgs(imageList, dto.getImgs(), dto.getId());
attrService.insertBatch(imageList);
}
povertyCondoleService.save(dto); povertyCondoleService.save(dto);
return new Result(); return new Result();
} }
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("update") @PostMapping("update")
public Result update(@RequestBody PovertyCondoleFormDto dto) throws ParseException { public Result update(@RequestBody PovertyCondoleFormDto formDto) throws ParseException {
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(formDto, UpdateGroup.class, DefaultGroup.class);
if (!CollectionUtils.isEmpty(dto.getImgs())) {
List<PovertyCondoleAttrEntity> imageList = new ArrayList<>(); List<PovertyCondoleAttrEntity> imageList = new ArrayList<>();
buildImgs(imageList, dto.getImgs(), dto.getId()); Set<String> delList = new HashSet<>();
attrService.insertBatch(imageList); if (!CollectionUtils.isEmpty(formDto.getImgs())) {
List<PovertyCondoleAttrDTO> imgs = attrService.selectByPcId(formDto.getId());
if (!CollectionUtils.isEmpty(imgs)) {
for (PovertyCondoleAttrDTO img : formDto.getImgs()) {
for (PovertyCondoleAttrDTO attr : imgs) {
if (StringUtils.isEmpty(img.getId())) { //新增
buildImgs(imageList, Arrays.asList(img), formDto.getId());
}else if (!img.getId().equals(attr.getId())) {//删除
delList.add(attr.getId());
}
}
}
} else {//没有图片全部新增
buildImgs(imageList, formDto.getImgs(), formDto.getId());
attrService.saveOrUpdateBatch(imageList);
}
}
povertyCondoleService.update(formDto);
if (imageList.size() > 0) {
attrService.saveOrUpdateBatch(imageList);
}
if (delList.size() > 0) {
attrService.deleteBatchIds(delList);
} }
povertyCondoleService.update(dto);
return new Result(); return new Result();
} }
@ -131,14 +140,16 @@ public class PovertyCondoleController {
} }
} }
private void buildImgs(List<PovertyCondoleAttrEntity> imgList, List<String> dtoImgs, String dtoId) { private void buildImgs(List<PovertyCondoleAttrEntity> imgList, List<PovertyCondoleAttrDTO> formImgs, String dtoId) {
for (String url : dtoImgs) { for (PovertyCondoleAttrDTO attr : formImgs) {
PovertyCondoleAttrEntity attr = new PovertyCondoleAttrEntity(); if (!imgList.contains(attr)) {//去重
attr.setPovertyCondoleId(dtoId); PovertyCondoleAttrEntity entity = ConvertUtils.sourceToTarget(attr, PovertyCondoleAttrEntity.class);
attr.setAttachmentUrl(url); entity.setPovertyCondoleId(dtoId);
attr.setAttachmentFormat(url.substring(url.lastIndexOf(".") + NumConstant.ONE).toLowerCase()); entity.setAttachmentUrl(attr.getUrl());
attr.setAttachmentType("image"); entity.setAttachmentFormat(attr.getUrl().substring(attr.getUrl().lastIndexOf(".") + NumConstant.ONE).toLowerCase());
imgList.add(attr); entity.setAttachmentType("image");
imgList.add(entity);
}
} }
} }
} }

25
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PovertyCondoleServiceImpl.java

@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.PovertyCondoleAttrDao;
import com.epmet.dao.PovertyCondoleDao; import com.epmet.dao.PovertyCondoleDao;
import com.epmet.dto.PovertyCondoleDTO; import com.epmet.dto.PovertyCondoleDTO;
import com.epmet.dto.form.povertyManage.PovertyCondoleAttrDTO;
import com.epmet.dto.form.povertyManage.PovertyCondoleFormDto; import com.epmet.dto.form.povertyManage.PovertyCondoleFormDto;
import com.epmet.entity.PovertyCondoleAttrEntity;
import com.epmet.entity.PovertyCondoleEntity; import com.epmet.entity.PovertyCondoleEntity;
import com.epmet.service.PovertyCondoleService; import com.epmet.service.PovertyCondoleService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -16,7 +20,9 @@ import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -34,6 +40,9 @@ import java.util.Map;
public class PovertyCondoleServiceImpl extends BaseServiceImpl<PovertyCondoleDao, PovertyCondoleEntity> implements PovertyCondoleService { public class PovertyCondoleServiceImpl extends BaseServiceImpl<PovertyCondoleDao, PovertyCondoleEntity> implements PovertyCondoleService {
@Resource
private PovertyCondoleAttrDao attrDao;
@Override @Override
public PageData<PovertyCondoleDTO> page(Map<String, Object> params) { public PageData<PovertyCondoleDTO> page(Map<String, Object> params) {
IPage<PovertyCondoleEntity> page = baseDao.selectPage( IPage<PovertyCondoleEntity> page = baseDao.selectPage(
@ -59,7 +68,6 @@ public class PovertyCondoleServiceImpl extends BaseServiceImpl<PovertyCondoleDao
@Override @Override
public PovertyCondoleDTO get(String id) { public PovertyCondoleDTO get(String id) {
PovertyCondoleEntity entity = baseDao.selectById(id); PovertyCondoleEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, PovertyCondoleDTO.class); return ConvertUtils.sourceToTarget(entity, PovertyCondoleDTO.class);
} }
@ -71,6 +79,10 @@ public class PovertyCondoleServiceImpl extends BaseServiceImpl<PovertyCondoleDao
entity.setCondoleTime(new SimpleDateFormat("yyyy-MM-dd").parse(dto.getCondoleTime())); entity.setCondoleTime(new SimpleDateFormat("yyyy-MM-dd").parse(dto.getCondoleTime()));
} }
insert(entity); insert(entity);
if (!CollectionUtils.isEmpty(dto.getImgs())) {
buildImgs(dto.getImgs(), entity.getId());
}
} }
@Override @Override
@ -98,4 +110,15 @@ public class PovertyCondoleServiceImpl extends BaseServiceImpl<PovertyCondoleDao
return new PageData<>(pageInfo.getList() == null ? new ArrayList<>() : pageInfo.getList(), pageInfo.getTotal()); return new PageData<>(pageInfo.getList() == null ? new ArrayList<>() : pageInfo.getList(), pageInfo.getTotal());
} }
private void buildImgs(List<PovertyCondoleAttrDTO> formImgs, String dtoId) {
for (PovertyCondoleAttrDTO attr : formImgs) {
PovertyCondoleAttrEntity entity = ConvertUtils.sourceToTarget(attr, PovertyCondoleAttrEntity.class);
entity.setPovertyCondoleId(dtoId);
entity.setAttachmentUrl(attr.getUrl());
entity.setAttachmentFormat(attr.getUrl().substring(attr.getUrl().lastIndexOf(".") + NumConstant.ONE).toLowerCase());
entity.setAttachmentType("image");
attrDao.insert(entity);
}
}
} }

Loading…
Cancel
Save