From 8bda0f0d96d91bff779c1153f60171ba873120e8 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 23 七月 2021 17:01:47 +0800
Subject: [PATCH] 修改bug
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 78 insertions(+), 20 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
index 42fe91e..f57b93e 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
@@ -4,13 +4,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO;
import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO;
import com.panzhihua.common.model.vos.community.ComActWorkGuideVO;
-import com.panzhihua.common.utlis.DifferentLongListUtil;
+import com.panzhihua.service_community.dao.ComActDAO;
import com.panzhihua.service_community.dao.ComActWorkGuideDAO;
import com.panzhihua.service_community.dao.ComActWorkGuideMaterialDAO;
+import com.panzhihua.service_community.model.dos.ComActDO;
import com.panzhihua.service_community.model.dos.ComActWorkGuideDO;
import com.panzhihua.service_community.model.dos.ComActWorkGuideMaterialDO;
import com.panzhihua.service_community.service.ComActWorkGuideService;
@@ -27,17 +29,20 @@
*/
@Service
public class ComActWorkGuideServiceImpl extends ServiceImpl<ComActWorkGuideDAO, ComActWorkGuideDO> implements ComActWorkGuideService {
+ static String AK = "W3x8DhCWKc2UFIwYgclpRBdL6BeGLLQt"; // 百度地图密钥
@Resource
ComActWorkGuideMaterialDAO workGuideMaterialDAO;
+ @Resource
+ ComActDAO comActDAO;
@Override
- public R addWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) {
+ public R addWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) {
ComActWorkGuideDO comActWorkGuideDO = new ComActWorkGuideDO();
- BeanUtils.copyProperties(workGuideVO, comActWorkGuideDO);
+ BeanUtils.copyProperties(workGuideDTO, comActWorkGuideDO);
comActWorkGuideDO.setCreateBy(userId);
this.baseMapper.insert(comActWorkGuideDO);
//保存办事指南材料
- workGuideVO.getMaterials().forEach(material -> {
+ workGuideDTO.getMaterials().forEach(material -> {
ComActWorkGuideMaterialDO workGuideMaterialDO = new ComActWorkGuideMaterialDO();
workGuideMaterialDO.setMaterialName(material.getMaterialName());
workGuideMaterialDO.setWorkGuideId(comActWorkGuideDO.getId());
@@ -47,25 +52,25 @@
}
@Override
- public R editWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) {
- if (workGuideVO.getId() == 0L) {
+ public R editWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) {
+ if (workGuideDTO.getId() == 0L) {
return R.fail("Id有误!");
}
- ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideVO.getId());
+ ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideDTO.getId());
if (workGuideDO == null) {
return R.fail("Id有误!");
}
- BeanUtils.copyProperties(workGuideVO, workGuideDO);
+ BeanUtils.copyProperties(workGuideDTO, workGuideDO);
workGuideDO.setUpdateBy(userId);
this.baseMapper.updateById(workGuideDO);
- if (workGuideVO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作
+ if (workGuideDTO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作
workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
- .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId()));
+ .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId()));
} else {//若材料不为空,但是少了数据条数,也要执行删除
List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
- .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId()));
+ .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId()));
//1、筛选vo里面和db里,需要删除的材料数据
- List<Long> voMaterialIds = workGuideVO.getMaterials().stream()
+ List<Long> voMaterialIds = workGuideDTO.getMaterials().stream()
.filter(materialVo -> materialVo.getId() != null)
.map(ComActWorkGuideMaterialVO::getId)
.collect(Collectors.toList());
@@ -76,19 +81,19 @@
if (deleteMaterialIds.size() != 0) {
workGuideMaterialDAO.deleteBatchIds(deleteMaterialIds);
}
- workGuideVO.getMaterials().forEach(materialsVO -> {
+ workGuideDTO.getMaterials().forEach(materialsVO -> {
if (materialsVO.getId() != null && materialsVO.getId() != 0L) {
ComActWorkGuideMaterialDO workGuideMaterialDO1 = workGuideMaterialDOS.stream().filter(workGuideMaterialDO -> workGuideMaterialDO.getId()
.equals(materialsVO.getId())).findFirst().orElse(null);
if (workGuideMaterialDO1 != null) {//2、如果db有,执行编辑
workGuideMaterialDO1.setMaterialName(materialsVO.getMaterialName());
workGuideMaterialDAO.updateById(workGuideMaterialDO1);
- } else {//3、如果db没有,执行新增
- ComActWorkGuideMaterialDO newWorkGuideMaterialDO = new ComActWorkGuideMaterialDO();
- newWorkGuideMaterialDO.setMaterialName(materialsVO.getMaterialName());
- newWorkGuideMaterialDO.setWorkGuideId(workGuideDO.getId());
- workGuideMaterialDAO.insert(newWorkGuideMaterialDO);
}
+ } else {//3、如果db没有,执行新增
+ ComActWorkGuideMaterialDO newWorkGuideMaterialDO = new ComActWorkGuideMaterialDO();
+ newWorkGuideMaterialDO.setMaterialName(materialsVO.getMaterialName());
+ newWorkGuideMaterialDO.setWorkGuideId(workGuideDO.getId());
+ workGuideMaterialDAO.insert(newWorkGuideMaterialDO);
}
});
}
@@ -96,13 +101,23 @@
}
@Override
- public R detailWorkGuide(Long workGuideId) {
+ public R detailWorkGuide(Long workGuideId, Long conmunityId) {
ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideId);
if (workGuideDO == null) {
return R.fail("Id有误!");
}
ComActWorkGuideVO vo = new ComActWorkGuideVO();
BeanUtils.copyProperties(workGuideDO, vo);
+ ComActDO comActDO = comActDAO.selectById(conmunityId);
+ if (comActDO != null){
+ vo.setAddress(comActDO.getAddress());
+ vo.setPhone(comActDO.getContactsPhone());
+ }
+// List<String> list = getCoordinate(vo.getAddress());
+// if (list !=null && list.size() > 0){
+// vo.setLon(list.get(0));
+// vo.setLat(list.get(1));
+// }
List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
.eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
workGuideMaterialDOS.forEach(workGuideMaterialDO -> {
@@ -136,6 +151,49 @@
this.baseMapper.deleteById(workGuideId);
workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>()
.eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId));
- return R.ok();
+ return R.ok();
}
+
+// // 调用百度地图API根据地址,获取坐标
+// public static List<String> getCoordinate(String address) {
+// List<String> list = new ArrayList<>();
+// if (address != null && !"".equals(address)) {
+// address = address.replaceAll("\\s*", "").replace("#", "栋");
+// String url = "http://api.map.baidu.com/geocoder/v3/?address=" + address + "&output=json&ak=" + AK;
+// String json = loadJSON(url);
+//// json = "{" + json;
+//// json = json + "}";
+// if (json != null && !"".equals(json)) {
+// XMLSerializer xmlSerializer = new XMLSerializer();
+// //将xml转为json(注:如果是元素的属性,会在json里的key前加一个@标识)
+// String result = xmlSerializer.read(json).toString();
+// JSONObject obj = JSONObject.parseObject(json);
+// if ("0".equals(obj.getString("status"))) {
+// double lng = obj.getJSONObject("result").getJSONObject("location").getDouble("lng"); // 经度
+// double lat = obj.getJSONObject("result").getJSONObject("location").getDouble("lat"); // 纬度
+// DecimalFormat df = new DecimalFormat("#.######");
+// list.add(df.format(lng));
+// list.add(df.format(lat));
+// return list;
+// }
+// }
+// }
+// return null;
+// }
+//
+// public static String loadJSON(String url) {
+// StringBuilder json = new StringBuilder();
+// try {
+// URL oracle = new URL(url);
+// URLConnection yc = oracle.openConnection();
+// BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream(), "UTF-8"));
+// String inputLine = null;
+// while ((inputLine = in.readLine()) != null) {
+// json.append(inputLine);
+// }
+// in.close();
+// } catch (MalformedURLException e) {} catch (IOException e) {}
+// return json.toString();
+// }
+
}
--
Gitblit v1.7.1