|
|
@@ -8,6 +8,7 @@ import com.fs.hisStore.domain.FsUserCompanyUserScrm;
|
|
|
import com.fs.hisStore.mapper.FsUserCompanyUserScrmMapper;
|
|
|
import com.fs.hisStore.service.IFsUserCompanyUserScrmService;
|
|
|
import com.fs.qw.dto.UserProjectDTO;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
@@ -21,6 +22,7 @@ import java.util.Objects;
|
|
|
* @author fs
|
|
|
* @date 2025-05-09
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class FsUserCompanyUserScrmServiceImpl extends ServiceImpl<FsUserCompanyUserScrmMapper, FsUserCompanyUserScrm> implements IFsUserCompanyUserScrmService {
|
|
|
|
|
|
@@ -80,6 +82,22 @@ public class FsUserCompanyUserScrmServiceImpl extends ServiceImpl<FsUserCompanyU
|
|
|
@Override
|
|
|
public int updateFsUserCompanyUser(FsUserCompanyUserScrm fsUserCompanyUser)
|
|
|
{
|
|
|
+ // 先查旧值,记录变更日志
|
|
|
+ if (fsUserCompanyUser.getId() != null) {
|
|
|
+ FsUserCompanyUserScrm old = baseMapper.selectFsUserCompanyUserById(fsUserCompanyUser.getId());
|
|
|
+ if (old != null && fsUserCompanyUser.getStatus() != null && !fsUserCompanyUser.getStatus().equals(old.getStatus())) {
|
|
|
+ log.info("[fs_user_company_user] Scrm status变更 | id={}, userId={}, companyUserId={}, projectId={}, oldStatus={}, newStatus={}, 调用来源={}",
|
|
|
+ old.getId(), old.getUserId(), old.getCompanyUserId(), old.getProjectId(),
|
|
|
+ old.getStatus(), fsUserCompanyUser.getStatus(),
|
|
|
+ Thread.currentThread().getStackTrace()[2]);
|
|
|
+ // status=2拉黑时,在remark中追加拉黑信息
|
|
|
+ if (fsUserCompanyUser.getStatus() == 2) {
|
|
|
+ String blackRemark = "系统拉黑(原status=" + old.getStatus() + ")";
|
|
|
+ String originRemark = fsUserCompanyUser.getRemark() != null ? fsUserCompanyUser.getRemark() : (old.getRemark() != null ? old.getRemark() : "");
|
|
|
+ fsUserCompanyUser.setRemark(originRemark + (originRemark.isEmpty() ? "" : "|") + blackRemark);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return baseMapper.updateFsUserCompanyUser(fsUserCompanyUser);
|
|
|
}
|
|
|
|
|
|
@@ -166,6 +184,8 @@ public class FsUserCompanyUserScrmServiceImpl extends ServiceImpl<FsUserCompanyU
|
|
|
*/
|
|
|
@Override
|
|
|
public FsUserCompanyUserScrm bindRelationship(Long userId, Long projectId, Long companyId, Long companyUserId, int status) {
|
|
|
+ log.info("[fs_user_company_user] Scrm bindRelationship | userId={}, projectId={}, companyId={}, companyUserId={}, status={}",
|
|
|
+ userId, projectId, companyId, companyUserId, status);
|
|
|
FsUserCompanyUserScrm userCompanyUser = new FsUserCompanyUserScrm();
|
|
|
userCompanyUser.setUserId(userId);
|
|
|
userCompanyUser.setProjectId(projectId);
|
|
|
@@ -209,9 +229,37 @@ public class FsUserCompanyUserScrmServiceImpl extends ServiceImpl<FsUserCompanyU
|
|
|
*/
|
|
|
@Override
|
|
|
public Boolean batchUpdateUserProjectStatus(List<UserProjectDTO> ids, int status) {
|
|
|
+ return batchUpdateUserProjectStatus(ids, status, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改会员-项目关系 状态(带操作人信息)
|
|
|
+ * @param ids 参数
|
|
|
+ * @param status 状态 0小黑屋 1正常 2拉黑
|
|
|
+ * @param operatorInfo 操作人信息
|
|
|
+ * @return Boolean
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean batchUpdateUserProjectStatus(List<UserProjectDTO> ids, int status, String operatorInfo) {
|
|
|
if (Objects.isNull(ids) || ids.isEmpty()) {
|
|
|
throw new CustomException("请先选择会员");
|
|
|
}
|
|
|
+ log.info("[fs_user_company_user] Scrm batchUpdateUserProjectStatus | status={}, ids={}, operatorInfo={}, 调用来源={}",
|
|
|
+ status, ids, operatorInfo, Thread.currentThread().getStackTrace()[2]);
|
|
|
+ // status=2拉黑时,逐条追加拉黑备注
|
|
|
+ if (status == 2) {
|
|
|
+ String blackRemark = (operatorInfo != null ? operatorInfo : "系统") + "拉黑";
|
|
|
+ for (UserProjectDTO dto : ids) {
|
|
|
+ FsUserCompanyUserScrm old = selectByUserIdAndProjectId(dto.getUserId(), dto.getProjectId());
|
|
|
+ if (old != null) {
|
|
|
+ String originRemark = old.getRemark() != null ? old.getRemark() : "";
|
|
|
+ FsUserCompanyUserScrm update = new FsUserCompanyUserScrm();
|
|
|
+ update.setId(old.getId());
|
|
|
+ update.setRemark(originRemark + (originRemark.isEmpty() ? "" : "|") + blackRemark);
|
|
|
+ baseMapper.updateFsUserCompanyUser(update);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return baseMapper.changeUserProjectStatus(ids, status) > 0;
|
|
|
}
|
|
|
|
|
|
@@ -225,9 +273,37 @@ public class FsUserCompanyUserScrmServiceImpl extends ServiceImpl<FsUserCompanyU
|
|
|
*/
|
|
|
@Override
|
|
|
public Boolean batchUpdateStatus(List<Long> ids, int status) {
|
|
|
+ return batchUpdateStatus(ids, status, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改会员-项目关系 状态(带操作人信息)
|
|
|
+ * @param ids 参数
|
|
|
+ * @param status 状态 0小黑屋 1正常 2拉黑
|
|
|
+ * @param operatorInfo 操作人信息
|
|
|
+ * @return Boolean
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean batchUpdateStatus(List<Long> ids, int status, String operatorInfo) {
|
|
|
if (Objects.isNull(ids) || ids.isEmpty()) {
|
|
|
throw new CustomException("请先选择会员");
|
|
|
}
|
|
|
+ log.info("[fs_user_company_user] Scrm batchUpdateStatus | status={}, ids={}, operatorInfo={}, 调用来源={}",
|
|
|
+ status, ids, operatorInfo, Thread.currentThread().getStackTrace()[2]);
|
|
|
+ // status=2拉黑时,逐条追加拉黑备注
|
|
|
+ if (status == 2) {
|
|
|
+ String blackRemark = (operatorInfo != null ? operatorInfo : "系统") + "拉黑";
|
|
|
+ for (Long id : ids) {
|
|
|
+ FsUserCompanyUserScrm old = baseMapper.selectFsUserCompanyUserById(id);
|
|
|
+ if (old != null) {
|
|
|
+ String originRemark = old.getRemark() != null ? old.getRemark() : "";
|
|
|
+ FsUserCompanyUserScrm update = new FsUserCompanyUserScrm();
|
|
|
+ update.setId(old.getId());
|
|
|
+ update.setRemark(originRemark + (originRemark.isEmpty() ? "" : "|") + blackRemark);
|
|
|
+ baseMapper.updateFsUserCompanyUser(update);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return baseMapper.batchUpdateStatus(ids, status) > 0;
|
|
|
}
|
|
|
}
|