Parcourir la source

修改发起公出

anderx il y a 3 ans
Parent
commit
ebe1fd6890

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

@@ -20,4 +20,5 @@ public interface PublicReleaseDetailsMapper {
     List<PublicReleaseDetails> selectByPCid(Integer id);
 
     void insertBatch(List<PublicReleaseDetails> list);
+
 }

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

@@ -23,6 +23,7 @@
     delete from public_release_details
     where id = #{id,jdbcType=INTEGER}
   </delete>
+
   <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicReleaseDetails" useGeneratedKeys="true">
     insert into public_release_details (prid, `uid`, ufid,
       new_user, sign_sum)
@@ -98,9 +99,9 @@
     where id = #{id,jdbcType=INTEGER}
   </update>
 
-  <select id="selectByPCid" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+  <select id="selectByPCid" resultType="com.goafanti.common.model.PublicReleaseDetails">
     select
-    <include refid="Base_Column_List" />
+      prid, `uid`, ufid, new_user newUser, sign_sum signSum
     from public_release_details
     where prid = #{id,jdbcType=INTEGER}
   </select>
@@ -110,10 +111,9 @@
     insert into public_release_details (prid, `uid`, ufid,
                                         new_user, sign_sum)
     values
-    <foreach close=")" collection="prd" item="list" open="(" separator=",">
+    <foreach  collection="list" item="prd"  separator=",">
       (#{prd.prid,jdbcType=INTEGER}, #{prd.uid,jdbcType=VARCHAR}, #{prd.ufid,jdbcType=VARCHAR},
       #{prd.newUser,jdbcType=INTEGER}, #{prd.signSum,jdbcType=INTEGER})
     </foreach>
-
   </insert>
 </mapper>

+ 4 - 4
src/main/java/com/goafanti/weChat/controller/AdminReleaseApiController.java

@@ -42,16 +42,16 @@ public class AdminReleaseApiController extends CertifyApiController{
 	@RequestMapping(value = "/addPublicRelease", method = RequestMethod.POST)
 	public Result addPublicRelease(InputPublicRelease in){
 		Result res = new Result();
-		if (StringUtils.isBlank(in.getUid())) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"用户编号"));
+		if (StringUtils.isBlank(in.getUids())) {
+			res.getError().add(buildErrorMessageParams(ErrorConstants.PARAM_EMPTY_ERROR,"用户编号"));
 			return res;
 		}
 		if (StringUtils.isBlank(in.getReleaseStarts())) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出时间"));
+			res.getError().add(buildErrorMessageParams(ErrorConstants.PARAM_EMPTY_ERROR,"公出时间"));
 			return res;
 		}
 		if (StringUtils.isBlank(in.getUserName())) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出地点"));
+			res.getError().add(buildErrorMessageParams(ErrorConstants.PARAM_EMPTY_ERROR,"公出地点"));
 			return res;
 		}
 		if (publicReleaseService.checkTime(in)) {

+ 55 - 11
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -87,7 +87,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			List<String> split = Arrays.asList(in.getUids().split(","));
 			for (String s : split) {
 				PublicReleaseDetails prd=new PublicReleaseDetails();
-				User u=userMapper.selectByPrimaryKey(in.getUid());
+				User u=userMapper.selectByPrimaryKey(s);
 				str.append(u.getNickname()).append(",");
 				if (u!=null&&u.getShareType()==2){
 					prd.setNewUser(1);
@@ -188,13 +188,12 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			e.printStackTrace();
 			throw new BusinessException("转换异常");
 		}
-		User u=userMapper.selectByPrimaryKey(in.getUid());
-
-		if (u!=null&&u.getShareType()==2){
-			in.setNewUser(1);
-		}
-		if (u!=null&&u.getAid().equals(TokenManager.getAdminId())){
-			in.setMainStatus(1);
+		String str=null;
+		if (in.getUids()!=null){
+			List<String> split = Arrays.asList(in.getUids().split(","));
+			List<PublicReleaseDetails> prList = publicReleaseDetailsMapper.selectByPCid(in.getId());
+			str=addPRD(split,prList);
+			deletePRD(split,prList);
 		}
 		PublicReleaseLog log=new PublicReleaseLog(in.getId(),TokenManager.getAdminId(),null,in.getReason(),date);
 
@@ -205,7 +204,7 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			AdminListBo my = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
 			//新增修改日志
 			//重新发起
-			addPublicReleaseLog(my,in,u.getNickname(),date);
+			addPublicReleaseLog(my,in,str,date);
 		}else {
 			List<PublicRelease> list = publicReleaseMapper.selectByMainId(in.getId(),3,null);
 			List<PublicRelease> list2 = publicReleaseMapper.selectByMainId(in.getId(),4,null);
@@ -221,10 +220,55 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 				out.setStatus(3);
 				publicReleaseMapper.updateByPrimaryKeySelective(out);
 			}
-
 		}
 		publicReleaseLogMapper.insertSelective(log);
-		return publicReleaseMapper.updateByPrimaryKeySelective(in);
+		publicReleaseMapper.updateByPrimaryKeySelective(in);
+		return 1;
+	}
+
+	private void deletePRD(List<String> split, List<PublicReleaseDetails> prdList) {
+		for (PublicReleaseDetails prd : prdList) {
+			boolean flag=true;
+			for (String s : split) {
+				if (prd.getUid().equals(s)){
+					flag=false;
+				}
+			}
+			if (flag){
+				publicReleaseDetailsMapper.deleteByPrimaryKey(prd.getId());
+			}
+		}
+	}
+
+	private String  addPRD(List<String> split, List<PublicReleaseDetails> prdList) {
+		StringBuffer str=new StringBuffer();
+		List<PublicReleaseDetails> addPrdList=new ArrayList<>();
+		for (String s : split) {
+			boolean flag=true;
+			Integer id=null;
+			for (PublicReleaseDetails prd : prdList) {
+				if (id==null)id=prd.getPrid();
+				if (s.equals(prd.getUid())){
+					flag=false;
+				}
+			}
+			if (flag){
+				PublicReleaseDetails prd=new PublicReleaseDetails();
+				User u=userMapper.selectByPrimaryKey(s);
+				str.append(u.getNickname()).append(",");
+				if (u!=null&&u.getShareType()==2){
+					prd.setNewUser(1);
+				}else {
+					prd.setNewUser(0);
+				}
+				prd.setPrid(id);
+				prd.setUid(s);
+				prd.setSignSum(0);
+				addPrdList.add(prd);
+			}
+		}
+		if (!addPrdList.isEmpty())publicReleaseDetailsMapper.insertBatch(addPrdList);
+		return str.substring(0,str.length()-1);
 	}
 
 	@SuppressWarnings("unchecked")