Kaynağa Gözat

优化 小区位置为cmd 模式

wuxw 3 yıl önce
ebeveyn
işleme
9de0ec52c4
14 değiştirilmiş dosya ile 763 ekleme ve 233 silme
  1. 7 1
      java110-bean/src/main/java/com/java110/po/community/CommunityLocationPo.java
  2. 97 0
      java110-db/src/main/resources/mapper/community/CommunityLocationV1ServiceDaoImplMapper.xml
  3. 68 0
      java110-interface/src/main/java/com/java110/intf/community/ICommunityLocationV1InnerServiceSMO.java
  4. 0 49
      service-api/src/main/java/com/java110/api/listener/communityLocation/DeleteCommunityLocationListener.java
  5. 0 84
      service-api/src/main/java/com/java110/api/listener/communityLocation/ListCommunityLocationsListener.java
  6. 0 49
      service-api/src/main/java/com/java110/api/listener/communityLocation/SaveCommunityLocationListener.java
  7. 0 50
      service-api/src/main/java/com/java110/api/listener/communityLocation/UpdateCommunityLocationListener.java
  8. 72 0
      service-community/src/main/java/com/java110/community/cmd/communityLocation/DeleteCommunityLocationCmd.java
  9. 89 0
      service-community/src/main/java/com/java110/community/cmd/communityLocation/ListCommunityLocationCmd.java
  10. 77 0
      service-community/src/main/java/com/java110/community/cmd/communityLocation/SaveCommunityLocationCmd.java
  11. 75 0
      service-community/src/main/java/com/java110/community/cmd/communityLocation/UpdateCommunityLocationCmd.java
  12. 77 0
      service-community/src/main/java/com/java110/community/dao/ICommunityLocationV1ServiceDao.java
  13. 112 0
      service-community/src/main/java/com/java110/community/dao/impl/CommunityLocationV1ServiceDaoImpl.java
  14. 89 0
      service-community/src/main/java/com/java110/community/smo/impl/CommunityLocationV1InnerServiceSMOImpl.java

+ 7 - 1
java110-bean/src/main/java/com/java110/po/community/CommunityLocationPo.java

@@ -9,6 +9,7 @@ public class CommunityLocationPo implements Serializable {
 private String locationId;
 private String locationType;
 private String communityId;
+private String statusCd="0";
 public String getLocationName() {
         return locationName;
     }
@@ -34,6 +35,11 @@ public void setCommunityId(String communityId) {
         this.communityId = communityId;
     }
 
+    public String getStatusCd() {
+        return statusCd;
+    }
 
-
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
 }

+ 97 - 0
java110-db/src/main/resources/mapper/community/CommunityLocationV1ServiceDaoImplMapper.xml

@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="communityLocationV1ServiceDaoImpl">
+
+
+
+
+
+    <!-- 保存小区位置信息 add by wuxw 2018-07-03 -->
+    <insert id="saveCommunityLocationInfo" parameterType="Map">
+        insert into community_location(
+location_name,location_id,location_type,community_id
+) values (
+#{locationName},#{locationId},#{locationType},#{communityId}
+)
+    </insert>
+
+
+
+    <!-- 查询小区位置信息 add by wuxw 2018-07-03 -->
+    <select id="getCommunityLocationInfo" parameterType="Map" resultType="Map">
+        select  t.location_name,t.location_name locationName,t.location_id,t.location_id locationId,t.location_type,t.location_type locationType,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId 
+from community_location t 
+where 1 =1 
+<if test="locationName !=null and locationName != ''">
+   and t.location_name= #{locationName}
+</if> 
+<if test="locationId !=null and locationId != ''">
+   and t.location_id= #{locationId}
+</if> 
+<if test="locationType !=null and locationType != ''">
+   and t.location_type= #{locationType}
+</if> 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="communityId !=null and communityId != ''">
+   and t.community_id= #{communityId}
+</if> 
+order by t.create_time desc
+<if test="page != -1 and page != null ">
+   limit #{page}, #{row}
+</if> 
+
+    </select>
+
+
+
+
+    <!-- 修改小区位置信息 add by wuxw 2018-07-03 -->
+    <update id="updateCommunityLocationInfo" parameterType="Map">
+        update  community_location t set t.status_cd = #{statusCd}
+<if test="newBId != null and newBId != ''">
+,t.b_id = #{newBId}
+</if> 
+<if test="locationName !=null and locationName != ''">
+, t.location_name= #{locationName}
+</if> 
+<if test="locationType !=null and locationType != ''">
+, t.location_type= #{locationType}
+</if> 
+<if test="communityId !=null and communityId != ''">
+, t.community_id= #{communityId}
+</if> 
+ where 1=1 <if test="locationId !=null and locationId != ''">
+and t.location_id= #{locationId}
+</if> 
+
+    </update>
+
+    <!-- 查询小区位置数量 add by wuxw 2018-07-03 -->
+     <select id="queryCommunityLocationsCount" parameterType="Map" resultType="Map">
+        select  count(1) count 
+from community_location t 
+where 1 =1 
+<if test="locationName !=null and locationName != ''">
+   and t.location_name= #{locationName}
+</if> 
+<if test="locationId !=null and locationId != ''">
+   and t.location_id= #{locationId}
+</if> 
+<if test="locationType !=null and locationType != ''">
+   and t.location_type= #{locationType}
+</if> 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="communityId !=null and communityId != ''">
+   and t.community_id= #{communityId}
+</if> 
+
+
+     </select>
+
+</mapper>

+ 68 - 0
java110-interface/src/main/java/com/java110/intf/community/ICommunityLocationV1InnerServiceSMO.java

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.intf.community;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.community.CommunityLocationDto;
+import com.java110.po.community.CommunityLocationPo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@FeignClient(name = "community-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/communityLocationV1Api")
+public interface ICommunityLocationV1InnerServiceSMO {
+
+
+    @RequestMapping(value = "/saveCommunityLocation", method = RequestMethod.POST)
+    public int saveCommunityLocation(@RequestBody CommunityLocationPo communityLocationPo);
+
+    @RequestMapping(value = "/updateCommunityLocation", method = RequestMethod.POST)
+    public int updateCommunityLocation(@RequestBody CommunityLocationPo communityLocationPo);
+
+    @RequestMapping(value = "/deleteCommunityLocation", method = RequestMethod.POST)
+    public int deleteCommunityLocation(@RequestBody CommunityLocationPo communityLocationPo);
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     *
+     * @param communityLocationDto 数据对象分享
+     * @return CommunityLocationDto 对象数据
+     */
+    @RequestMapping(value = "/queryCommunityLocations", method = RequestMethod.POST)
+    List<CommunityLocationDto> queryCommunityLocations(@RequestBody CommunityLocationDto communityLocationDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param communityLocationDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/queryCommunityLocationsCount", method = RequestMethod.POST)
+    int queryCommunityLocationsCount(@RequestBody CommunityLocationDto communityLocationDto);
+}

+ 0 - 49
service-api/src/main/java/com/java110/api/listener/communityLocation/DeleteCommunityLocationListener.java

@@ -1,49 +0,0 @@
-package com.java110.api.listener.communityLocation;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.communityLocation.ICommunityLocationBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeCommunityLocationConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("deleteCommunityLocationListener")
-public class DeleteCommunityLocationListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private ICommunityLocationBMO communityLocationBMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "locationId", "locationId不能为空");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        communityLocationBMOImpl.deleteCommunityLocation(reqJson, context);
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeCommunityLocationConstant.DELETE_COMMUNITYLOCATION;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-}

+ 0 - 84
service-api/src/main/java/com/java110/api/listener/communityLocation/ListCommunityLocationsListener.java

@@ -1,84 +0,0 @@
-package com.java110.api.listener.communityLocation;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.intf.community.ICommunityLocationInnerServiceSMO;
-import com.java110.dto.community.CommunityLocationDto;
-import com.java110.vo.ResultVo;
-import com.java110.utils.constant.ServiceCodeCommunityLocationConstant;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 查询小区侦听类
- */
-@Java110Listener("listCommunityLocationsListener")
-public class ListCommunityLocationsListener extends AbstractServiceApiListener {
-
-    @Autowired
-    private ICommunityLocationInnerServiceSMO communityLocationInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeCommunityLocationConstant.LIST_COMMUNITYLOCATIONS;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
-    public ICommunityLocationInnerServiceSMO getCommunityLocationInnerServiceSMOImpl() {
-        return communityLocationInnerServiceSMOImpl;
-    }
-
-    public void setCommunityLocationInnerServiceSMOImpl(ICommunityLocationInnerServiceSMO communityLocationInnerServiceSMOImpl) {
-        this.communityLocationInnerServiceSMOImpl = communityLocationInnerServiceSMOImpl;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        super.validatePageInfo(reqJson);
-        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        CommunityLocationDto communityLocationDto = BeanConvertUtil.covertBean(reqJson, CommunityLocationDto.class);
-
-        int count = communityLocationInnerServiceSMOImpl.queryCommunityLocationsCount(communityLocationDto);
-
-        List<CommunityLocationDto> communityLocationDtos = null;
-
-        if (count > 0) {
-            communityLocationDtos = communityLocationInnerServiceSMOImpl.queryCommunityLocations(communityLocationDto);
-        } else {
-            communityLocationDtos = new ArrayList<>();
-        }
-
-        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, communityLocationDtos);
-
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
-
-        context.setResponseEntity(responseEntity);
-
-    }
-}

+ 0 - 49
service-api/src/main/java/com/java110/api/listener/communityLocation/SaveCommunityLocationListener.java

@@ -1,49 +0,0 @@
-package com.java110.api.listener.communityLocation;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.communityLocation.ICommunityLocationBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeCommunityLocationConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-/**
- * 保存商户侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("saveCommunityLocationListener")
-public class SaveCommunityLocationListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private ICommunityLocationBMO communityLocationBMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "locationName", "请求报文中未包含locationName");
-        Assert.hasKeyAndValue(reqJson, "locationType", "请求报文中未包含locationType");
-        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-        communityLocationBMOImpl.addCommunityLocation(reqJson, context);
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeCommunityLocationConstant.ADD_COMMUNITYLOCATION;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-}

+ 0 - 50
service-api/src/main/java/com/java110/api/listener/communityLocation/UpdateCommunityLocationListener.java

@@ -1,50 +0,0 @@
-package com.java110.api.listener.communityLocation;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.communityLocation.ICommunityLocationBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeCommunityLocationConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-
-/**
- * 保存小区位置侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("updateCommunityLocationListener")
-public class UpdateCommunityLocationListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private ICommunityLocationBMO communityLocationBMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
-
-        Assert.hasKeyAndValue(reqJson, "locationId", "locationId不能为空");
-        Assert.hasKeyAndValue(reqJson, "locationName", "请求报文中未包含locationName");
-        Assert.hasKeyAndValue(reqJson, "locationType", "请求报文中未包含locationType");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        communityLocationBMOImpl.updateCommunityLocation(reqJson, context);
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeCommunityLocationConstant.UPDATE_COMMUNITYLOCATION;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-}

+ 72 - 0
service-community/src/main/java/com/java110/community/cmd/communityLocation/DeleteCommunityLocationCmd.java

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.cmd.communityLocation;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.community.ICommunityLocationV1InnerServiceSMO;
+import com.java110.po.community.CommunityLocationPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 类表述:删除
+ * 服务编码:communityLocation.deleteCommunityLocation
+ * 请求路劲:/app/communityLocation.DeleteCommunityLocation
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "communityLocation.deleteCommunityLocation")
+public class DeleteCommunityLocationCmd extends Cmd {
+    private static Logger logger = LoggerFactory.getLogger(DeleteCommunityLocationCmd.class);
+
+    @Autowired
+    private ICommunityLocationV1InnerServiceSMO communityLocationV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "locationId", "locationId不能为空");
+        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        CommunityLocationPo communityLocationPo = BeanConvertUtil.covertBean(reqJson, CommunityLocationPo.class);
+        int flag = communityLocationV1InnerServiceSMOImpl.deleteCommunityLocation(communityLocationPo);
+
+        if (flag < 1) {
+            throw new CmdException("删除数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 89 - 0
service-community/src/main/java/com/java110/community/cmd/communityLocation/ListCommunityLocationCmd.java

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.cmd.communityLocation;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.community.CommunityLocationDto;
+import com.java110.intf.community.ICommunityLocationInnerServiceSMO;
+import com.java110.intf.community.ICommunityLocationV1InnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import java.util.List;
+import java.util.ArrayList;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.HttpStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * 类表述:查询
+ * 服务编码:communityLocation.listCommunityLocation
+ * 请求路劲:/app/communityLocation.ListCommunityLocation
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "communityLocation.listCommunityLocations")
+public class ListCommunityLocationCmd extends Cmd {
+
+  private static Logger logger = LoggerFactory.getLogger(ListCommunityLocationCmd.class);
+    @Autowired
+    private ICommunityLocationV1InnerServiceSMO communityLocationV1InnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityLocationInnerServiceSMO communityLocationInnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        super.validatePageInfo(reqJson);
+        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+
+        CommunityLocationDto communityLocationDto = BeanConvertUtil.covertBean(reqJson, CommunityLocationDto.class);
+
+        int count = communityLocationInnerServiceSMOImpl.queryCommunityLocationsCount(communityLocationDto);
+
+        List<CommunityLocationDto> communityLocationDtos = null;
+
+        if (count > 0) {
+            communityLocationDtos = communityLocationInnerServiceSMOImpl.queryCommunityLocations(communityLocationDto);
+        } else {
+            communityLocationDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, communityLocationDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        context.setResponseEntity(responseEntity);
+    }
+}

+ 77 - 0
service-community/src/main/java/com/java110/community/cmd/communityLocation/SaveCommunityLocationCmd.java

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.cmd.communityLocation;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.community.ICommunityLocationV1InnerServiceSMO;
+import com.java110.po.community.CommunityLocationPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 类表述:保存
+ * 服务编码:communityLocation.saveCommunityLocation
+ * 请求路劲:/app/communityLocation.SaveCommunityLocation
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "communityLocation.saveCommunityLocation")
+public class SaveCommunityLocationCmd extends Cmd {
+
+    private static Logger logger = LoggerFactory.getLogger(SaveCommunityLocationCmd.class);
+
+    public static final String CODE_PREFIX_ID = "10";
+
+    @Autowired
+    private ICommunityLocationV1InnerServiceSMO communityLocationV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "locationName", "请求报文中未包含locationName");
+        Assert.hasKeyAndValue(reqJson, "locationType", "请求报文中未包含locationType");
+        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        CommunityLocationPo communityLocationPo = BeanConvertUtil.covertBean(reqJson, CommunityLocationPo.class);
+        communityLocationPo.setLocationId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        int flag = communityLocationV1InnerServiceSMOImpl.saveCommunityLocation(communityLocationPo);
+
+        if (flag < 1) {
+            throw new CmdException("保存数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 75 - 0
service-community/src/main/java/com/java110/community/cmd/communityLocation/UpdateCommunityLocationCmd.java

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.cmd.communityLocation;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.community.ICommunityLocationV1InnerServiceSMO;
+import com.java110.po.community.CommunityLocationPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * 类表述:更新
+ * 服务编码:communityLocation.updateCommunityLocation
+ * 请求路劲:/app/communityLocation.UpdateCommunityLocation
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "communityLocation.updateCommunityLocation")
+public class UpdateCommunityLocationCmd extends Cmd {
+
+  private static Logger logger = LoggerFactory.getLogger(UpdateCommunityLocationCmd.class);
+
+
+    @Autowired
+    private ICommunityLocationV1InnerServiceSMO communityLocationV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "locationId", "locationId不能为空");
+Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+       CommunityLocationPo communityLocationPo = BeanConvertUtil.covertBean(reqJson, CommunityLocationPo.class);
+        int flag = communityLocationV1InnerServiceSMOImpl.updateCommunityLocation(communityLocationPo);
+
+        if (flag < 1) {
+            throw new CmdException("更新数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 77 - 0
service-community/src/main/java/com/java110/community/dao/ICommunityLocationV1ServiceDao.java

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.dao;
+
+
+import com.java110.utils.exception.DAOException;
+import com.java110.entity.merchant.BoMerchant;
+import com.java110.entity.merchant.BoMerchantAttr;
+import com.java110.entity.merchant.Merchant;
+import com.java110.entity.merchant.MerchantAttr;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述:
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+public interface ICommunityLocationV1ServiceDao {
+
+
+    /**
+     * 保存 小区位置信息
+     * @param info
+     * @throws DAOException DAO异常
+     */
+    int saveCommunityLocationInfo(Map info) throws DAOException;
+
+
+
+
+    /**
+     * 查询小区位置信息(instance过程)
+     * 根据bId 查询小区位置信息
+     * @param info bId 信息
+     * @return 小区位置信息
+     * @throws DAOException DAO异常
+     */
+    List<Map> getCommunityLocationInfo(Map info) throws DAOException;
+
+
+
+    /**
+     * 修改小区位置信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    int updateCommunityLocationInfo(Map info) throws DAOException;
+
+
+    /**
+     * 查询小区位置总数
+     *
+     * @param info 小区位置信息
+     * @return 小区位置数量
+     */
+    int queryCommunityLocationsCount(Map info);
+
+}

+ 112 - 0
service-community/src/main/java/com/java110/community/dao/impl/CommunityLocationV1ServiceDaoImpl.java

@@ -0,0 +1,112 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.dao.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.community.dao.ICommunityLocationV1ServiceDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述:
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Service("communityLocationV1ServiceDaoImpl")
+public class CommunityLocationV1ServiceDaoImpl extends BaseServiceDao implements ICommunityLocationV1ServiceDao {
+
+    private static Logger logger = LoggerFactory.getLogger(CommunityLocationV1ServiceDaoImpl.class);
+
+
+
+
+
+    /**
+     * 保存小区位置信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int saveCommunityLocationInfo(Map info) throws DAOException {
+        logger.debug("保存 saveCommunityLocationInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("communityLocationV1ServiceDaoImpl.saveCommunityLocationInfo",info);
+
+        return saveFlag;
+    }
+
+
+    /**
+     * 查询小区位置信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getCommunityLocationInfo(Map info) throws DAOException {
+        logger.debug("查询 getCommunityLocationInfo 入参 info : {}",info);
+
+        List<Map> businessCommunityLocationInfos = sqlSessionTemplate.selectList("communityLocationV1ServiceDaoImpl.getCommunityLocationInfo",info);
+
+        return businessCommunityLocationInfos;
+    }
+
+
+    /**
+     * 修改小区位置信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int updateCommunityLocationInfo(Map info) throws DAOException {
+        logger.debug("修改 updateCommunityLocationInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("communityLocationV1ServiceDaoImpl.updateCommunityLocationInfo",info);
+
+        return saveFlag;
+    }
+
+     /**
+     * 查询小区位置数量
+     * @param info 小区位置信息
+     * @return 小区位置数量
+     */
+    @Override
+    public int queryCommunityLocationsCount(Map info) {
+        logger.debug("查询 queryCommunityLocationsCount 入参 info : {}",info);
+
+        List<Map> businessCommunityLocationInfos = sqlSessionTemplate.selectList("communityLocationV1ServiceDaoImpl.queryCommunityLocationsCount", info);
+        if (businessCommunityLocationInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessCommunityLocationInfos.get(0).get("count").toString());
+    }
+
+
+}

+ 89 - 0
service-community/src/main/java/com/java110/community/smo/impl/CommunityLocationV1InnerServiceSMOImpl.java

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.community.smo.impl;
+
+
+import com.java110.community.dao.ICommunityLocationV1ServiceDao;
+import com.java110.dto.community.CommunityLocationDto;
+import com.java110.intf.community.ICommunityLocationV1InnerServiceSMO;
+import com.java110.po.community.CommunityLocationPo;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.user.UserDto;
+import com.java110.dto.PageDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
+ * add by 吴学文 at 2022-07-17 00:10:38 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@RestController
+public class CommunityLocationV1InnerServiceSMOImpl extends BaseServiceSMO implements ICommunityLocationV1InnerServiceSMO {
+
+    @Autowired
+    private ICommunityLocationV1ServiceDao communityLocationV1ServiceDaoImpl;
+
+
+    @Override
+    public int saveCommunityLocation(@RequestBody CommunityLocationPo communityLocationPo) {
+        int saveFlag = communityLocationV1ServiceDaoImpl.saveCommunityLocationInfo(BeanConvertUtil.beanCovertMap(communityLocationPo));
+        return saveFlag;
+    }
+
+     @Override
+    public int updateCommunityLocation(@RequestBody  CommunityLocationPo communityLocationPo) {
+        int saveFlag = communityLocationV1ServiceDaoImpl.updateCommunityLocationInfo(BeanConvertUtil.beanCovertMap(communityLocationPo));
+        return saveFlag;
+    }
+
+     @Override
+    public int deleteCommunityLocation(@RequestBody  CommunityLocationPo communityLocationPo) {
+       communityLocationPo.setStatusCd("1");
+       int saveFlag = communityLocationV1ServiceDaoImpl.updateCommunityLocationInfo(BeanConvertUtil.beanCovertMap(communityLocationPo));
+       return saveFlag;
+    }
+
+    @Override
+    public List<CommunityLocationDto> queryCommunityLocations(@RequestBody  CommunityLocationDto communityLocationDto) {
+
+        //校验是否传了 分页信息
+
+        int page = communityLocationDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            communityLocationDto.setPage((page - 1) * communityLocationDto.getRow());
+        }
+
+        List<CommunityLocationDto> communityLocations = BeanConvertUtil.covertBeanList(communityLocationV1ServiceDaoImpl.getCommunityLocationInfo(BeanConvertUtil.beanCovertMap(communityLocationDto)), CommunityLocationDto.class);
+
+        return communityLocations;
+    }
+
+
+    @Override
+    public int queryCommunityLocationsCount(@RequestBody CommunityLocationDto communityLocationDto) {
+        return communityLocationV1ServiceDaoImpl.queryCommunityLocationsCount(BeanConvertUtil.beanCovertMap(communityLocationDto));    }
+
+}