소스 검색

新增分享查询表,新增限时查看客户档案功能

anderx 1 년 전
부모
커밋
403993d646

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

@@ -81,5 +81,6 @@ public interface UserLimitCheckMapper {
      */
     int deleteById(Integer id);
 
+    UserLimitCheck selectByUid(String uid);
 }
 

+ 9 - 5
src/main/java/com/goafanti/common/mapper/UserLimitCheckMapper.xml

@@ -65,11 +65,17 @@
             </if>
         </where>
     </select>
+    <select id="selectByUid"  resultMap="UserLimitCheckMap">
+        select
+        <include refid="UserLimitCheckAllSql"/>
+        from user_limit_check
+        where uid = #{uid}
+    </select>
 
     <!--新增所有列-->
     <insert id="insert" keyProperty="id" useGeneratedKeys="true">
-        insert into user_limit_check(uid, check_time, create_time)
-        values (#{uid}, #{checkTime}, #{createTime})
+        insert into user_limit_check(uid, check_time)
+        values (#{uid}, #{checkTime})
     </insert>
 
     <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
@@ -102,9 +108,7 @@
             <if test="checkTime != null">
                 check_time = #{checkTime},
             </if>
-            <if test="createTime != null">
-                create_time = #{createTime},
-            </if>
+
         </set>
         where id = #{id}
     </update>

+ 4 - 4
src/main/java/com/goafanti/customer/controller/UserArchivesController.java

@@ -104,10 +104,10 @@ public class UserArchivesController  extends BaseController {
     @GetMapping("/queryByUidAll")
     public Result queryByUidAll( String id) {
         Result res = new Result<>();
-//        if (userArchivesService.checkPermission(id)){
-//            res.error(buildError("查看权限不足"));
-//            return res;
-//        }
+        if (userArchivesService.checkPermission(id)){
+            res.error(buildError("查看超时,请要分享人重新分享。"));
+            return res;
+        }
         res.data(this.userArchivesService.queryByUidAll(id));
         return res;
     }

+ 9 - 6
src/main/java/com/goafanti/customer/service/impl/UserArchivesServiceImpl.java

@@ -1,11 +1,12 @@
 package com.goafanti.customer.service.impl;
 
-import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.UserArchivesMapper;
+import com.goafanti.common.dao.UserLimitCheckMapper;
 import com.goafanti.common.dao.UserMapper;
 import com.goafanti.common.model.OrganizationContactBook;
 import com.goafanti.common.model.User;
 import com.goafanti.common.model.UserArchives;
+import com.goafanti.common.model.UserLimitCheck;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -35,6 +36,8 @@ public class UserArchivesServiceImpl extends BaseMybatisDao< UserArchivesMapper>
     private CustomerService customerService;
     @Resource
     private UserMapper userMapper;
+    @Resource
+    private UserLimitCheckMapper userLimitCheckMapper;
     
     
     @Override
@@ -71,11 +74,11 @@ public class UserArchivesServiceImpl extends BaseMybatisDao< UserArchivesMapper>
         User user = userMapper.selectByPrimaryKey(id);
         if (user.getAid().equals(TokenManager.getAdminId())){
             return false;
-        }else {
-            if (!TokenManager.hasRole(AFTConstants.SUPERADMIN)&&!TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)
-                    &&!TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
-                return true;
-            }
+        }
+        UserLimitCheck userLimitCheck = userLimitCheckMapper.selectByUid(id);
+
+        if (userLimitCheck==null||userLimitCheck.getCheckTime().getTime()>System.currentTimeMillis()) {
+            return false;
         }
         return true;
     }

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

@@ -515,9 +515,9 @@ public class AdminReleaseApiController extends CertifyApiController{
 	 * 分享限时查询
 	 */
 	@RequestMapping(value = "/limitUser",method = RequestMethod.POST)
-	public Result limitUser (String uid){
+	public Result limitUser (String uid,Integer hours){
 		Result res =new Result();
-		int i = publicReleaseService.limitUser(uid);
+		int i = publicReleaseService.pushLimitUser(uid,hours);
 		if (i==0){
 			return res().error(buildError(ErrorConstants.PARAM_ERROR,"只有客户归属人可以分享"));
 		}

+ 2 - 1
src/main/java/com/goafanti/weChat/service/PublicReleaseService.java

@@ -82,5 +82,6 @@ public interface PublicReleaseService {
 
     boolean checkPublicReviewer(InputPublicRelease in);
 
-	int limitUser(String uid);
+	int pushLimitUser(String uid,Integer hours);
+
 }

+ 16 - 1
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -87,6 +87,8 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	private AdminPublicReviewerMapper adminPublicReviewerMapper;
 	@Autowired
 	private PublicAssistAdviceMapper publicAssistAdviceMapper;
+	@Autowired
+	private UserLimitCheckMapper userLimitCheckMapper;
 
 	@Override
 	@Transactional
@@ -976,11 +978,24 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	}
 
 	@Override
-	public int limitUser(String uid) {
+	public int pushLimitUser(String uid, Integer hours) {
 		User user = userMapper.selectByPrimaryKey(uid);
 		if (!user.getAid().equals(TokenManager.getAdminId())){
 			return 0;
 		}
+		long l = System.currentTimeMillis();
+		if (hours==null)hours=2;
+		l=l+hours*60*60*1000;
+		UserLimitCheck userLimitCheck = userLimitCheckMapper.selectByUid(uid);
+		if (userLimitCheck==null){
+			UserLimitCheck ulc=new UserLimitCheck();
+			ulc.setUid(uid);
+			ulc.setCheckTime(new Date(l));
+			userLimitCheckMapper.insert(ulc);
+		}else {
+			userLimitCheck.setCheckTime(new Date(l));
+			userLimitCheckMapper.update(userLimitCheck);
+		}
 
 		return 1;
 	}