Browse Source

新增协单助手同步

anderx 3 years ago
parent
commit
20c65ebe7b

+ 2 - 0
src/main/java/com/goafanti/common/dao/PublicReleaseDetailsMapper.java

@@ -26,4 +26,6 @@ public interface PublicReleaseDetailsMapper {
     String getNamesByPrid(Integer id);
 
     PublicReleaseDetails selectBypridAndUid(InputPublicRelease in);
+
+    void updateDistrictByPrid(InputPublicRelease in);
 }

+ 9 - 0
src/main/java/com/goafanti/common/mapper/PublicReleaseDetailsMapper.xml

@@ -202,6 +202,7 @@
     where id = #{id,jdbcType=INTEGER}
   </update>
 
+
   <select id="selectByPCid" resultType="com.goafanti.weChat.bo.OutPublicReleaseDetails">
     select
       a.id,a.prid, a.`uid`, a.ufid, a.new_user newUser,a.longitude,a.latitude,b.nickname userName,
@@ -238,4 +239,12 @@
     from public_release_details a left join user b on a.uid=b.id
     where prid = #{id,jdbcType=INTEGER} and uid =#{uid}
   </select>
+
+  <update id="updateDistrictByPrid">
+    update public_release_details
+    set longitude = #{longitude,jdbcType=VARCHAR},
+        latitude = #{latitude,jdbcType=VARCHAR},
+        district_name = #{districtName,jdbcType=VARCHAR}
+    where prid =#{id}
+  </update>
 </mapper>

+ 18 - 3
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -226,9 +226,11 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if (in.getUids()!=null){
 			List<String> split = Arrays.asList(in.getUids().split(","));
 			List<OutPublicReleaseDetails> prList = publicReleaseDetailsMapper.selectByPCid(in.getId());
-			addPRD(split,prList,use);
-			deletePRD(split,prList);
+
+			pushPublicReleaseDetails(split,prList,use,in);
+
 		}
+
 		String userNames=publicReleaseDetailsMapper.getNamesByPrid(in.getId());
 		PublicReleaseLog log=new PublicReleaseLog(in.getId(),TokenManager.getAdminId(),null,in.getReason(),date);
 		in.setUserNames(userNames);
@@ -261,6 +263,13 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		return 1;
 	}
 
+	private void pushPublicReleaseDetails(List<String> split, List<OutPublicReleaseDetails> prList, PublicRelease use, InputPublicRelease in) {
+		//先删除,再修改个,再新增,有利于减少计算
+		deletePRD(split,prList);
+		publicReleaseDetailsMapper.updateDistrictByPrid(in);
+		addPRD(split,prList,use);
+	}
+
 	private void deletePRD(List<String> split, List<OutPublicReleaseDetails> prdList) {
 		for (OutPublicReleaseDetails prd : prdList) {
 			boolean flag=true;
@@ -275,7 +284,13 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		}
 	}
 
-	private void  addPRD(List<String> split, List<OutPublicReleaseDetails> prdList,PublicRelease use) {
+	/**
+	 *  @param split 修改后客户集
+	 * @param prdList 修改前客户集
+	 * @param use 原订单信息
+	 * @param in
+	 */
+	private void  addPRD(List<String> split, List<OutPublicReleaseDetails> prdList, PublicRelease use) {
 		List<PublicReleaseDetails> addPrdList=new ArrayList<>();
 		for (String s : split) {
 			boolean flag=true;