Commit 1cf76d77 authored by 李健华's avatar 李健华

用户注销改造

parent 4146c7a9
......@@ -17,6 +17,7 @@ import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.service.api.IUserApiService;
import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserDeregisterService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService;
......@@ -106,6 +107,9 @@ public class InnerController implements IBaseController {
@Autowired
private IOauthLoginInfoService iOauthLoginInfoService;
@Autowired
private IUserDeregisterService userDeregisterService;
private static final String RESET_PWD_TOKEN = "ecf75c1f-2ccb-4661-8e4b-2874c0f45a2b";
private static final String MODIFY_CONTACT_TOKEN = "@qwsdedad131323213w!";
......@@ -1617,4 +1621,15 @@ public class InnerController implements IBaseController {
log.info("用户id[{}], 销户成功", userId);
return JsonResult.buildSuccessResult("用户销户成功", true);
}
// /**
// * 测试定时删除注销记录
// * @return
// */
// @PostMapping("/user/deleteDeregister")
// public JsonResult<?> deleteDeregister() {
// userDeregisterService.executeTask();
// return JsonResult.buildSuccessResult("用户销户成功1231", true);
// }
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserAttached;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
......@@ -12,4 +13,8 @@ public interface IUserAttachedRepository extends JpaRepository<UserAttached, Lon
UserAttached findByUserId(Long userId);
List<UserAttached> findByUserIdIn(List<Long> userId);
@Transactional
void deleteByUserId(Long userId);
}
......@@ -3,9 +3,12 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.transaction.annotation.Transactional;
/**
* Created by Administrator on 2017/5/16.
*/
public interface IUserBtRegisterRepository extends JpaRepository<UserBtRegister, Long>, JpaSpecificationExecutor<UserBtRegister> {
@Transactional
void deleteByUserId(Long userId);
}
......@@ -20,4 +20,9 @@ public interface IUserDeregisterRecordRepository extends JpaRepository<UserDereg
* @return List<UserDeregisterRecord>
*/
List<UserDeregisterRecord> findByPhoneNo(String phoneNo);
/**
* 删除注销时间大于90天数据
*/
// void deleteByDeregisterTimeIsBefore();
}
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserHashMapping;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
......@@ -15,4 +16,7 @@ public interface IUserHashMappingRepository extends JpaRepository<UserHashMappin
UserHashMapping findByUserId(Long userId);
@Transactional
void deleteByUserId(Long userId);
}
......@@ -2,10 +2,14 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserHashPhoneNoIdNoMapping;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
public interface IUserHashPhoneNoIdNoMappingRepository extends JpaRepository<UserHashPhoneNoIdNoMapping, Long> {
UserHashPhoneNoIdNoMapping findFirstByPhoneNoIdNoMd5(String phoneNoIdNoMd5);
UserHashPhoneNoIdNoMapping findByUserId(Long userId);
@Transactional
void deleteByUserId(Long userId);
}
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UuidPhoneMapping;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
/**
* Created by Miraculous on 15/10/29.
......@@ -10,4 +11,7 @@ public interface IUuidPhoneMappingRepository extends JpaRepository<UuidPhoneMapp
UuidPhoneMapping findByUuid(String uuid);
@Transactional
void deleteByUuid(String uuid);
}
......@@ -27,4 +27,6 @@ public interface IUserDeregisterService {
* @param user 用户
*/
void save(User user);
// void executeTask();
}
......@@ -9,6 +9,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
......@@ -34,14 +35,26 @@ public class IUserDeregisterServiceImpl implements IUserDeregisterService {
public void save(User user) {
UserDeregisterRecord build = UserDeregisterRecord.builder()
.userId(user.getId())
.deregisterTime(new Date())
.password(user.getPassword())
.registeredFrom(user.getRegisteredFrom())
.uuid(user.getUuid())
.phoneNo(Md5Util.build(user.getPhoneNo()))
.build();
userDeregisterRecordRepository.save(build);
}
// @Override
// public void executeTask() {
// try {
// Date dt = new Date();
// System.out.println("Today: "+ dt);
// Calendar c = Calendar.getInstance();
// c.setTime(dt);
// c.add(Calendar.DATE, -90);
// dt = c.getTime();
// System.out.println("Tomorrow: "+ dt);
// } catch (Exception e) {
//
// }
//
// }
}
......@@ -185,7 +185,7 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
@Override
public User register(String phoneNo, Long channelId, Long registerFrom, String appChannel, Long btRegisterChannelId, String dimension) {
deregisterCheck(phoneNo);
// deregisterCheck(phoneNo);
UserRegisterParam userRegisterParam = UserRegisterParam.builder()
.registerFrom(registerFrom)
......
......@@ -14,9 +14,7 @@ import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.exception.UserNotExistException;
import cn.quantgroup.xyqb.exception.UserRegisterLoginException;
import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.repository.IUserHashMappingRepository;
import cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository;
import cn.quantgroup.xyqb.repository.IUserRepository;
import cn.quantgroup.xyqb.repository.*;
import cn.quantgroup.xyqb.service.register.IUserDeregisterService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService;
......@@ -96,6 +94,15 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Autowired
private IUserDeregisterService userDeregisterService;
@Autowired
private IUserAttachedRepository userAttachedRepository;
@Autowired
private IUserBtRegisterRepository userBtRegisterRepository;
@Autowired
private IUuidPhoneMappingRepository uuidPhoneMappingRepository;
@Override
// @Cacheable(value = "usercache", key = "'xyqbuser' + #phone", unless = "#result == null", cacheManager = "cacheManager")
public User findByPhoneInDb(String phone) {
......@@ -550,11 +557,23 @@ public class UserServiceImpl implements IUserService, IBaseController {
userDeregisterService.save(user);
/* 删除用户 */
userRepository.deleteById(userId);
/* 删除用户附加信息 */
userAttachedRepository.deleteByUserId(userId);
/* 删除 user_bt_register 信息 */
userBtRegisterRepository.deleteByUserId(userId);
/* 删除用户身份证和手机的hashMapping */
userHashMappingRepository.deleteByUserId(userId);
/* 删除用户手机号加身份证hashMapping */
userHashPhoneNoIdNoMappingRepository.deleteByUserId(userId);
/* 删除用户uuid和手机号mapping */
uuidPhoneMappingRepository.deleteByUuid(user.getUuid());
/* 清空session */
sessionService.deleteByUserId(user.getId());
/* 清空缓存 */
sessionService.deleteUserCatch(user);
/* 禁用微信 */
/* 禁用微信 Or 删除?*/
wechatService.forbiddenXyqbAndWuxiUserByUserId(user.getId());
}
}
package cn.quantgroup.xyqb.xxlJob;
import cn.quantgroup.xyqb.service.register.IUserDeregisterService;
import cn.quantgroup.xyqb.service.wechat.IWechatFollowService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 删除注销时间大于90的注销记录
*/
@Component
@JobHandler(value = "DeregisterTimeJobHandler")
public class DeregisterTimeJobHandler extends IJobHandler {
@Autowired
private IUserDeregisterService userDeregisterService;
@Override
public ReturnT<String> execute(String s) throws Exception {
// userDeregisterService.executeTask();
return SUCCESS;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment