|
@@ -1,16 +1,21 @@
|
|
|
package com.caimei.modules.club.service.impl;
|
|
|
|
|
|
import com.caimei.modules.club.dao.CmOperationUserDao;
|
|
|
-import com.caimei.modules.club.entity.CmOperationUser;
|
|
|
+import com.caimei.modules.club.entity.*;
|
|
|
import com.caimei.modules.club.service.CmOperationUserService;
|
|
|
+import com.caimei.utils.AppKeys;
|
|
|
+import com.caimei.utils.DateUtils;
|
|
|
+import com.caimei.utils.MD5Util;
|
|
|
+import com.caimei.utils.ResponseJson;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import org.bouncycastle.jcajce.provider.digest.MD5;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.thymeleaf.util.StringUtils;
|
|
|
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.GregorianCalendar;
|
|
|
-import java.util.List;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class CmOperationUserServiceImpl implements CmOperationUserService {
|
|
@@ -18,9 +23,10 @@ public class CmOperationUserServiceImpl implements CmOperationUserService {
|
|
|
private CmOperationUserDao cmOperationUserDao;
|
|
|
|
|
|
@Override
|
|
|
- public List<CmOperationUser> findList(CmOperationUser cmOperationUser) {
|
|
|
+ public ResponseJson<Page<CmOperationUser>> findList(CmOperationUser cmOperationUser, Integer pageNum, Integer pageSize) {
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
List<CmOperationUser> operationUserList = cmOperationUserDao.findList(cmOperationUser);
|
|
|
- if (null != operationUserList) {
|
|
|
+ /*if (null != operationUserList) {
|
|
|
for (CmOperationUser user : operationUserList) {
|
|
|
//判断邀请码是否有效
|
|
|
// 1未绑定,2已绑定
|
|
@@ -46,8 +52,9 @@ public class CmOperationUserServiceImpl implements CmOperationUserService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- return operationUserList;
|
|
|
+ }*/
|
|
|
+ Page<CmOperationUser> page = new Page<>(operationUserList);
|
|
|
+ return ResponseJson.success(page);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -73,4 +80,200 @@ public class CmOperationUserServiceImpl implements CmOperationUserService {
|
|
|
public void untiedOperationUser(CmOperationUser cmOperationUser) {
|
|
|
cmOperationUserDao.untiedOperationUser(cmOperationUser);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 采购员列表
|
|
|
+ * @param cmOrganizeProcure
|
|
|
+ * @param pageNum
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Page<CmOrganizeProcure>> findProcureList(CmOrganizeProcure cmOrganizeProcure, int pageNum, int pageSize) {
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ // 采购员列表
|
|
|
+ List<CmOrganizeProcure> procure = cmOperationUserDao.getProcure(cmOrganizeProcure);
|
|
|
+ if (null != procure) {
|
|
|
+ // 采购员Id集合
|
|
|
+ List<Integer> collect = procure.stream().map(CmOrganizeProcure::getServiceProviderId).collect(Collectors.toList());
|
|
|
+ // 采购员机构集合
|
|
|
+ List<NewCmClub> clubInfo = cmOperationUserDao.getClubInfo(collect);
|
|
|
+ procure.forEach(p -> {
|
|
|
+ // 关联机构
|
|
|
+ if (null != clubInfo) {
|
|
|
+ List<String> names = clubInfo.stream().filter(c -> c.getSpId().equals(p.getServiceProviderId())).map(NewCmClub::getName).collect(Collectors.toList());
|
|
|
+ p.setClubNames(names);
|
|
|
+ }
|
|
|
+ // 是否绑定微信
|
|
|
+ if (null == p.getBindTime()) {
|
|
|
+ p.setBindInfo("暂未绑定微信");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ Page<CmOrganizeProcure> page = new Page<>(procure);
|
|
|
+ return ResponseJson.success(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 采购员上下线
|
|
|
+ *
|
|
|
+ * @param status
|
|
|
+ * @param serviceProviderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson setStatus(Integer status, Integer serviceProviderId) {
|
|
|
+ // 获取采购员信息
|
|
|
+ CmOrganizeProcure procure = cmOperationUserDao.getProcureById(serviceProviderId);
|
|
|
+ // 协销上下线状态
|
|
|
+ cmOperationUserDao.setStatus(status, serviceProviderId);
|
|
|
+ // 用户协销状态
|
|
|
+ if (90 == status) {
|
|
|
+ cmOperationUserDao.setUserServiceStatus(status, serviceProviderId, procure.getUserId(), 1, 4);
|
|
|
+ } else {
|
|
|
+ cmOperationUserDao.setUserServiceStatus(status, serviceProviderId, procure.getUserId(), 0, 1);
|
|
|
+ }
|
|
|
+ return ResponseJson.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑回显
|
|
|
+ *
|
|
|
+ * @param serviceProviderId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<CmOrganizeProcure> detailsEcho(Integer serviceProviderId) {
|
|
|
+ // 采购员信息
|
|
|
+ CmOrganizeProcure procureInfo = cmOperationUserDao.getProcureInfo(serviceProviderId);
|
|
|
+ // 采购员关联机构集合
|
|
|
+ if (null != procureInfo) {
|
|
|
+ List<NewCmClub> clubs = cmOperationUserDao.getClubs(serviceProviderId);
|
|
|
+ procureInfo.setClubList(clubs);
|
|
|
+ } else {
|
|
|
+ return ResponseJson.error(-1, "该采购员不存在,或已下线");
|
|
|
+ }
|
|
|
+ return ResponseJson.success(procureInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未绑定采购员 机构集合
|
|
|
+ *
|
|
|
+ * @param club
|
|
|
+ * @param pageNum
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Page<NewCmClub>> getClubEchoList(NewCmClub club, Integer pageNum, Integer pageSize) {
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ List<NewCmClub> clubEchoInfo = cmOperationUserDao.getClubEchoInfo(club);
|
|
|
+ Page<NewCmClub> page = new Page<>(clubEchoInfo);
|
|
|
+ return ResponseJson.success(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存采购员信息
|
|
|
+ *
|
|
|
+ * @param cmOrganizeProcure
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseJson<Map<String, Object>> save(CmOrganizeProcure cmOrganizeProcure) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ Date date = new Date();
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ if (null == cmOrganizeProcure.getServiceProviderId()) {
|
|
|
+ // 校验是否已存在该用户手机号
|
|
|
+ Integer userId = cmOperationUserDao.getUserId(cmOrganizeProcure.getMobile());
|
|
|
+ if (null != userId) {
|
|
|
+ return ResponseJson.error(-1, "该手机号已使用", null);
|
|
|
+ }
|
|
|
+ // 注册成为用户
|
|
|
+ CmUser cmUser = new CmUser();
|
|
|
+ cmUser.setPassword(MD5Util.md5("1111aaaa"));
|
|
|
+ cmUser.setUserOrganizeId(cmOrganizeProcure.getOrganizeId());
|
|
|
+ cmUser.setMobile(cmOrganizeProcure.getMobile());
|
|
|
+ cmUser.setBindMobile(cmOrganizeProcure.getMobile());
|
|
|
+ cmUser.setUserIdentity(1);
|
|
|
+ cmUser.setRegisterTime(dateFormat.format(date));
|
|
|
+ cmUser.setServiceProviderStatus("90");
|
|
|
+ cmUser.setUserPermission(4);
|
|
|
+ cmUser.setRealName(cmOrganizeProcure.getName());
|
|
|
+ cmUser.setUserName(cmOrganizeProcure.getName());
|
|
|
+ cmUser.setName(cmOrganizeProcure.getName());
|
|
|
+ cmUser.setClubStatus("90");
|
|
|
+ cmUser.setAuditStatus("1");
|
|
|
+ cmUser.setValidFlag(1);
|
|
|
+ cmUser.setAuditTime(dateFormat.format(date));
|
|
|
+ cmOperationUserDao.insertUser(cmUser);
|
|
|
+ // 添加采购员
|
|
|
+ cmOrganizeProcure.setUserId(cmUser.getUserId());
|
|
|
+ cmOrganizeProcure.setAddTime(dateFormat.format(date));
|
|
|
+ cmOrganizeProcure.setValidFlag(1);
|
|
|
+ cmOrganizeProcure.setStatus(90);
|
|
|
+ cmOrganizeProcure.setAuditStatus(1);
|
|
|
+ cmOrganizeProcure.setAuditTime(dateFormat.format(date));
|
|
|
+ cmOrganizeProcure.setLinkMan(cmOrganizeProcure.getName());
|
|
|
+ cmOperationUserDao.insertProcure(cmOrganizeProcure);
|
|
|
+ // 采购员id
|
|
|
+ cmOperationUserDao.updateUserSpId(cmOrganizeProcure.getServiceProviderId(),cmUser.getUserId());
|
|
|
+ // 修改机构采购员
|
|
|
+ if (null != cmOrganizeProcure.getClubList()) {
|
|
|
+ List<Integer> collect = cmOrganizeProcure.getClubList().stream().map(NewCmClub::getClubId).collect(Collectors.toList());
|
|
|
+ for (Integer id : collect) {
|
|
|
+ // 机构
|
|
|
+ cmOperationUserDao.updateClub(cmOrganizeProcure.getServiceProviderId(), id);
|
|
|
+ // 用户
|
|
|
+ cmOperationUserDao.updateUser(cmOrganizeProcure.getServiceProviderId(),id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 修改采购员信息
|
|
|
+ cmOrganizeProcure.setValidFlag(1);
|
|
|
+ cmOrganizeProcure.setLinkMan(cmOrganizeProcure.getName());
|
|
|
+ cmOperationUserDao.updateProcure(cmOrganizeProcure);
|
|
|
+ // 修改用户信息
|
|
|
+ cmOperationUserDao.updateUserData(cmOrganizeProcure.getMobile(), cmOrganizeProcure.getName(), cmOrganizeProcure.getUserId());
|
|
|
+ // 修改绑定机构
|
|
|
+ ArrayList<Integer> arrayList = new ArrayList<>();
|
|
|
+ // 采购员绑定机构
|
|
|
+ List<NewCmClub> clubs = cmOperationUserDao.getClubs(cmOrganizeProcure.getServiceProviderId());
|
|
|
+ if (null != cmOrganizeProcure.getClubList()) {
|
|
|
+ // 重新选择的机构集合
|
|
|
+ List<Integer> collect = cmOrganizeProcure.getClubList().stream().map(NewCmClub::getClubId).collect(Collectors.toList());
|
|
|
+ // 不在绑定在该采购员的集合
|
|
|
+ for (NewCmClub club : clubs) {
|
|
|
+ if (!collect.contains(club.getClubId())) {
|
|
|
+ arrayList.add(club.getClubId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 重新选择的机构采购员更新
|
|
|
+ for (Integer id : collect) {
|
|
|
+ // 机构
|
|
|
+ cmOperationUserDao.updateClub(cmOrganizeProcure.getServiceProviderId(), id);
|
|
|
+ // 用户
|
|
|
+ cmOperationUserDao.updateUser(cmOrganizeProcure.getServiceProviderId(),id);
|
|
|
+ }
|
|
|
+ // 不在该采购员名下机构 采购员设置为默认空
|
|
|
+ for (Integer arr: arrayList) {
|
|
|
+ // 机构
|
|
|
+ cmOperationUserDao.updateClub(0, arr);
|
|
|
+ // 用户
|
|
|
+ cmOperationUserDao.updateUser(0, arr);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 未选择绑定机构,将名下所有机构改为空
|
|
|
+ for (NewCmClub club : clubs) {
|
|
|
+ // 机构
|
|
|
+ cmOperationUserDao.updateClub(0, club.getClubId());
|
|
|
+ // 用户
|
|
|
+ cmOperationUserDao.updateUser(0, club.getClubId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("code",1);
|
|
|
+ map.put("msg","保存成功");
|
|
|
+ return ResponseJson.success(map);
|
|
|
+ }
|
|
|
}
|