意向申请暂存

This commit is contained in:
wxp01309236
2023-06-20 17:25:49 +08:00
parent 4afff67ad6
commit f23c7a2513
16 changed files with 174 additions and 41 deletions

View File

@@ -214,9 +214,11 @@ public class RedisConstant {
public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}"; public static final String ENTERPRISE_OPEN_STATUS_KEY = "enterprise_open_status:{0}_{1}";
public static final String STOREWORK_BUILD_CACHE_KEY = "storeworkBuildDataCache:{0}:{1}:{2}"; public static final String PARTNER_BASEINFO_CACHE_KEY = "partnerBaseInfoCache:{0}:{1}";
public static final String STORE_WORK_COMMENT_CACHE_KEY = "storeWorkCommentCache:{0}:{1}:{2}"; public static final String PARTNER_CLERKINFO_CACHE_KEY = "partnerClerkInfoCache:{0}:{1}";
public static final String PARTNER_INTENTINFO_CACHE_KEY = "partnerIntentInfoCache:{0}:{1}";
public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}"; public static final String DEVICE_OPEN_TOKEN = "device_open_token:{0}:{1}:{2}";

View File

@@ -37,6 +37,11 @@ public class HyPartnerBaseInfoDAO {
public int updateByPartnerId(String userName,String mobile,String partnerId){ public int updateByPartnerId(String userName,String mobile,String partnerId){
return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId);
} }
public int cleanIdCardInfoByPartnerLineId(String idCard, String idCardPhotoFront,
String idCardPhotoBlack, Long partnerLineId){
return hyPartnerBaseInfoMapper.cleanIdCardInfoByPartnerLineId(idCard, idCardPhotoFront, idCardPhotoBlack, partnerLineId);
}
public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){
if (StringUtils.isEmpty(partnerId) || partnerLineId == null){ if (StringUtils.isEmpty(partnerId) || partnerLineId == null){

View File

@@ -40,4 +40,9 @@ public interface HyPartnerBaseInfoMapper {
Long getLineIdByIdCard(@Param("idCard") String idCard); Long getLineIdByIdCard(@Param("idCard") String idCard);
int cleanIdCardInfoByPartnerLineId(@Param("idCard") String idCard,
@Param("idCardPhotoFront") String idCardPhotoFront,
@Param("idCardPhotoBlack") String idCardPhotoBlack,
@Param("partnerLineId") Long partnerLineId);
} }

View File

@@ -21,7 +21,7 @@
<select id="selectById" resultMap="BaseResultMap"> <select id="selectById" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List"></include> <include refid="Base_Column_List"></include>
from id = #{id} from hy_open_area_info where id = #{id}
</select> </select>
<insert id="insertSelective" parameterType="com.cool.store.entity.HyOpenAreaInfoDO" keyProperty="record.id" useGeneratedKeys="true"> <insert id="insertSelective" parameterType="com.cool.store.entity.HyOpenAreaInfoDO" keyProperty="record.id" useGeneratedKeys="true">
insert into hy_open_area_info insert into hy_open_area_info

View File

@@ -238,4 +238,13 @@
where id_card = #{idCard} where id_card = #{idCard}
</select> </select>
<update id="cleanIdCardInfoByPartnerLineId">
update hy_partner_base_info
set
id_card = #{idCard},
id_card_photo_front = #{idCardPhotoFront},
id_card_photo_black = #{idCardPhotoBlack}
where partner_line_id = #{partnerLineId}
</update>
</mapper> </mapper>

View File

@@ -22,6 +22,9 @@ public class PartnerLineBaseInfoVO {
@ApiModelProperty("hy_partner_user_info.partner_id") @ApiModelProperty("hy_partner_user_info.partner_id")
private String partnerId; private String partnerId;
@ApiModelProperty("hy_partner_line_info.id")
private Long partnerLineId;
@ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同") @ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同")
private String workflowStage; private String workflowStage;

View File

@@ -3,6 +3,7 @@ package com.cool.store.service;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.vo.PartnerBaseInfoVO; import com.cool.store.vo.PartnerBaseInfoVO;
import com.cool.store.vo.PartnerUserInfoVO;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -27,7 +28,7 @@ public interface HyPartnerBaseInfoService {
Long getLineIdByIdCard(String idCard); Long getLineIdByIdCard(String idCard);
Boolean changeBinding(String idCard, Long lineId); Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser);
} }

View File

@@ -14,6 +14,6 @@ public interface PartnerUserInfoService {
InviteCodeDetailVO selectInviteCodeDetail(String partnerId); InviteCodeDetailVO selectInviteCodeDetail(String partnerId);
Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest); String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest);
} }

View File

@@ -2,19 +2,29 @@ package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerBaseInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.entity.HyPartnerBaseInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.AddTagsRequest; import com.cool.store.request.AddTagsRequest;
import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest;
import com.cool.store.service.HyPartnerBaseInfoService; import com.cool.store.service.HyPartnerBaseInfoService;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.vo.PartnerBaseInfoVO; import com.cool.store.vo.PartnerBaseInfoVO;
import com.cool.store.vo.PartnerUserInfoVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -27,6 +37,15 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
@Resource @Resource
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Resource
HyPartnerLineInfoService hyPartnerLineInfoService;
@Resource
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource
private RedisUtilPool redisUtilPool;
@Override @Override
public Boolean addTags(AddTagsRequest addTagsRequest) { public Boolean addTags(AddTagsRequest addTagsRequest) {
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO(); HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO();
@@ -44,6 +63,12 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
*/ */
@Override @Override
public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) { public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
if(!request.getSubmitFlag()){
// 自动保存时
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
return Boolean.TRUE;
}
HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId());
if(baseInfoDO == null){ if(baseInfoDO == null){
baseInfoDO = new HyPartnerBaseInfoDO(); baseInfoDO = new HyPartnerBaseInfoDO();
@@ -53,17 +78,22 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
fillBaseInfo(baseInfoDO, request); fillBaseInfo(baseInfoDO, request);
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO); hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO);
} }
return true; redisUtilPool.delKey(cacheKey);
return Boolean.TRUE;
} }
@Override @Override
public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) { public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) {
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); String cacheKey = MessageFormat.format(RedisConstant.PARTNER_BASEINFO_CACHE_KEY, partnerId, lineId);
if (hyPartnerBaseInfoDO == null){ if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST); PartnerBaseInfoVO partnerBaseInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerBaseInfoVO.class);
return partnerBaseInfoVO;
} }
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO(); PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO();
if (hyPartnerBaseInfoDO != null){
BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO); BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO);
}
return baseInfoVO; return baseInfoVO;
} }
@@ -84,9 +114,22 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
} }
@Override @Override
public Boolean changeBinding(String idCard, Long lineId) { public Boolean changeBinding(String idCard, Long lineId, PartnerUserInfoVO currentUser) {
// 先把之前状态置为 待提交,清空身份证号 ,把新的绑定身份证号 // 把旧线索的身份证号置空,状态改为待提交
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerLineId(lineId); Long oldLineId = hyPartnerBaseInfoDAO.getLineIdByIdCard(idCard);
HyPartnerLineInfoDO oldLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(oldLineId);
// 该身份证当前申请状态同步至该账号下,原账号变为【加盟意向申请 待提交状态】
HyPartnerLineInfoDO newLineInfo = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
newLineInfo.setWorkflowStage(oldLineInfo.getWorkflowStage());
newLineInfo.setWorkflowStatus(oldLineInfo.getWorkflowStatus());
newLineInfo.setLineStatus(oldLineInfo.getLineStatus());
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(newLineInfo);
oldLineInfo.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
oldLineInfo.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
oldLineInfo.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(oldLineInfo);
hyPartnerBaseInfoDAO.cleanIdCardInfoByPartnerLineId(null, null, null, oldLineId);
// 新线索绑定身份证号
return true; return true;
} }

View File

@@ -1,19 +1,24 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.HyPartnerClerkDAO; import com.cool.store.dao.HyPartnerClerkDAO;
import com.cool.store.entity.HyPartnerClerkDO; import com.cool.store.entity.HyPartnerClerkDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.request.PartnerClerkInfoRequest;
import com.cool.store.service.HyPartnerClerkService; import com.cool.store.service.HyPartnerClerkService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerClerkVO; import com.cool.store.vo.PartnerClerkVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@@ -30,6 +35,9 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Resource @Resource
HyPartnerClerkDAO hyPartnerClerkDAO; HyPartnerClerkDAO hyPartnerClerkDAO;
@Resource
private RedisUtilPool redisUtilPool;
@Override @Override
public List<PartnerClerkVO> getPartnerClerkList(Long lineId) { public List<PartnerClerkVO> getPartnerClerkList(Long lineId) {
List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); List<HyPartnerClerkDO> hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId);
@@ -49,6 +57,12 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
@Override @Override
public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) { public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_CLERKINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
if(!request.getSubmitFlag()){
// 自动保存时
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
return Boolean.TRUE;
}
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){ if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
@@ -65,11 +79,22 @@ public class HyPartnerClerkServiceImpl implements HyPartnerClerkService {
clerkDOList.add(clerkDO); clerkDOList.add(clerkDO);
}); });
hyPartnerClerkDAO.batchInsert(clerkDOList); hyPartnerClerkDAO.batchInsert(clerkDOList);
redisUtilPool.delKey(cacheKey);
return true; return true;
} }
@Override @Override
public List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId) { public List<PartnerClerkVO> queryPartnerClerkInfo(String partnerId, Long lineId) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_CLERKINFO_CACHE_KEY, partnerId, lineId);
if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
PartnerClerkInfoRequest partnerClerkInfoRequest = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerClerkInfoRequest.class);
List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(partnerClerkInfoRequest.getPartnerClerkRequestList()).stream().map(clerkRequest -> {
PartnerClerkVO clerkVO = new PartnerClerkVO();
BeanUtil.copyProperties(clerkRequest, clerkVO);
return clerkVO;
}).collect(Collectors.toList());
return clerkVOList;
}
List<HyPartnerClerkDO> clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId); List<HyPartnerClerkDO> clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId);
List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> { List<PartnerClerkVO> clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> {
PartnerClerkVO clerkVO = new PartnerClerkVO(); PartnerClerkVO clerkVO = new PartnerClerkVO();

View File

@@ -3,9 +3,9 @@ package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.entity.HyPartnerIntentInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
@@ -15,15 +15,18 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest;
import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.HyPartnerIntentInfoService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.StringUtil; import com.cool.store.utils.StringUtil;
import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentApplyInfoVO;
import com.cool.store.vo.PartnerIntentInfoVO; import com.cool.store.vo.PartnerIntentInfoVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.MessageFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -47,6 +50,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
HyPartnerLineInfoDAO hyPartnerLineInfoDAO; HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource @Resource
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO; HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Resource
private RedisUtilPool redisUtilPool;
@Override @Override
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) { public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
@@ -114,6 +119,12 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
@Override @Override
public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) { public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) {
String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, request.getPartnerId(), request.getPartnerLineId());
if(!request.getSubmitFlag()){
// 自动保存时
redisUtilPool.setString(cacheKey, JSONObject.toJSONString(request), RedisConstant.ONE_DAY_SECONDS);
return Boolean.TRUE;
}
if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
} }
@@ -126,17 +137,22 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
fillIntentInfo(intentInfoDO, request); fillIntentInfo(intentInfoDO, request);
hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO);
} }
redisUtilPool.delKey(cacheKey);
return true; return true;
} }
@Override @Override
public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) { public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) {
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); String cacheKey = MessageFormat.format(RedisConstant.PARTNER_INTENTINFO_CACHE_KEY, partnerId, lineId);
if (intentInfoDO == null){ if (StringUtils.isNotBlank(redisUtilPool.getString(cacheKey))) {
throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST); PartnerIntentInfoVO intentInfoVO = JSONObject.parseObject(redisUtilPool.getString(cacheKey), PartnerIntentInfoVO.class);
return intentInfoVO;
} }
HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId);
PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO(); PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO();
if (intentInfoDO != null){
BeanUtil.copyProperties(intentInfoDO, intentInfoVO); BeanUtil.copyProperties(intentInfoDO, intentInfoVO);
}
return intentInfoVO; return intentInfoVO;
} }

View File

@@ -26,7 +26,6 @@ import com.cool.store.utils.StringUtil;
import com.cool.store.vo.*; import com.cool.store.vo.*;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -366,6 +365,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId); String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, partnerId);
String value = redisUtilPool.getString(coolingPeriodFirstLoginCacheKey); String value = redisUtilPool.getString(coolingPeriodFirstLoginCacheKey);
lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value)); lineBaseInfoVO.setCoolDownFirstLoginFlag(StringUtils.isNotBlank(value));
lineBaseInfoVO.setPartnerLineId(lineInfoDO.getId());
return lineBaseInfoVO; return lineBaseInfoVO;
} }

View File

@@ -1,23 +1,42 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyOpenAreaInfoDAO;
import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO; import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.entity.HyOpenAreaInfoDO;
import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.entity.HyPartnerUserInfoDO; import com.cool.store.entity.HyPartnerUserInfoDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.LineStatusEnum;
import com.cool.store.enums.WorkflowStageEnum;
import com.cool.store.enums.WorkflowStatusEnum;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.BaseUserInfoRequest;
import com.cool.store.request.PartnerUserInfoRequest; import com.cool.store.request.PartnerUserInfoRequest;
import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.service.PartnerUserInfoService; import com.cool.store.service.PartnerUserInfoService;
import com.cool.store.vo.InviteCodeDetailVO; import com.cool.store.vo.InviteCodeDetailVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service @Service
public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
@Autowired @Autowired
private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; private HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
@Resource
private HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource
HyPartnerLineInfoService hyPartnerLineInfoService;
@Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Override @Override
public HyPartnerUserInfoDO selectByPartnerId(String partnerId) { public HyPartnerUserInfoDO selectByPartnerId(String partnerId) {
return hyPartnerUserInfoDAO.selectByPartnerId(partnerId); return hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
@@ -57,9 +76,9 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
} }
@Override @Override
public Boolean updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) { public String updatePartnerUserInfo(PartnerUserInfoRequest partnerUserInfoRequest) {
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId())); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(partnerUserInfoRequest.getPartnerId()));
if (hyPartnerUserInfoDO==null){ if (hyPartnerUserInfoDO == null){
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
} }
hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername()); hyPartnerUserInfoDO.setUsername(partnerUserInfoRequest.getUsername());
@@ -75,6 +94,19 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService {
hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName()); hyPartnerUserInfoDO.setRecommendPartnerName(partnerUserInfoRequest.getRecommendPartnerName());
hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile()); hyPartnerUserInfoDO.setRecommendPartnerMobile(partnerUserInfoRequest.getRecommendPartnerMobile());
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
return Boolean.TRUE;
// 生成一条线索
HyPartnerLineInfoDO exsitLineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if(exsitLineInfoDO == null){
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode());
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode());
Boolean flag = hyPartnerLineInfoService.getLineStatus(Long.valueOf(partnerUserInfoRequest.getWantShopArea()), partnerUserInfoRequest.getAcceptAdjustType());
hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode());
hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO);
}
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerUserInfoRequest.getWantShopArea()));
return hyOpenAreaInfoDO != null ? hyOpenAreaInfoDO.getAreaStatus() : "";
} }
} }

View File

@@ -1,7 +1,6 @@
package com.cool.store.service.impl; package com.cool.store.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
@@ -98,10 +97,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
hyPartnerUserInfoDO.setAcceptAdjustType(0); hyPartnerUserInfoDO.setAcceptAdjustType(0);
hyPartnerUserInfoDO.setIsWritePartnerKnow(0); hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO); hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
// 生成一条线索 也可在提交加盟信息时插入
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO();
hyPartnerLineInfoDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO);
} }
HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid); HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid);
if(hyPartnerUserPlatformBindDO == null){ if(hyPartnerUserPlatformBindDO == null){
@@ -113,6 +108,10 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO); hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO);
} }
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){
userInfoVO.setPartnerLineId(lineInfoDO.getId());
}
} }
userInfoVO.setOpenid(openid); userInfoVO.setOpenid(openid);
userInfoVO.setUnionId(unionId); userInfoVO.setUnionId(unionId);

View File

@@ -89,12 +89,7 @@ public class SignValidateFilter implements Filter {
if ( !isInWhiteList && !method.equals("OPTIONS")) { if ( !isInWhiteList && !method.equals("OPTIONS")) {
String params = ""; String params = "";
if("GET".equalsIgnoreCase(method)){ if("GET".equalsIgnoreCase(method)){
Map<String, String> parameterMap = new HashMap(); params = request.getQueryString();
Map<String, String[]> requestMap = request.getParameterMap();
for(String key : requestMap.keySet()){
parameterMap.put(key, requestMap.get(key)[0]);
}
params = JSONObject.toJSONString(parameterMap);
}else if("POST".equalsIgnoreCase(method)){ }else if("POST".equalsIgnoreCase(method)){
params = wrapper.getBody(); params = wrapper.getBody();
// params = request.getReader().lines().collect(Collectors.joining(System.lineSeparator())); // params = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));

View File

@@ -49,15 +49,12 @@ public class PartnerController {
@Resource @Resource
private RedisUtilPool redisUtilPool; private RedisUtilPool redisUtilPool;
@PostMapping(path = "/applyBaseInfo") @PostMapping(path = "/applyBaseInfo")
@ApiOperation("提交加盟商基本信息") @ApiOperation("提交加盟商基本信息")
public ResponseResult<Boolean> applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){ public ResponseResult<String> applyBaseInfo(@RequestBody PartnerUserInfoRequest partnerUserInfoRequest){
return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest)); return ResponseResult.success(partnerUserInfoService.updatePartnerUserInfo(partnerUserInfoRequest));
} }
@GetMapping(path = "/getSubmitIntentionApplyFlag") @GetMapping(path = "/getSubmitIntentionApplyFlag")
@ApiOperation("获取提交意向申请标识 true 已提交 false 未提交") @ApiOperation("获取提交意向申请标识 true 已提交 false 未提交")
public ResponseResult<Boolean> getSubmitIntentionApplyFlag(){ public ResponseResult<Boolean> getSubmitIntentionApplyFlag(){
@@ -88,8 +85,8 @@ public class PartnerController {
}) })
public ResponseResult<Boolean> changeBinding(@RequestParam(value = "idCard",required = false)String idCard, public ResponseResult<Boolean> changeBinding(@RequestParam(value = "idCard",required = false)String idCard,
@RequestParam(value = "lineId",required = false)Long lineId){ @RequestParam(value = "lineId",required = false)Long lineId){
PartnerUserInfoVO currentUser = PartnerUserHolder.getUser();
return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId)); return ResponseResult.success(hyPartnerBaseInfoService.changeBinding(idCard, lineId, currentUser));
} }
@@ -157,7 +154,8 @@ public class PartnerController {
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false), @ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
}) })
public ResponseResult<PartnerBaseInfoVO> queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){ public ResponseResult<PartnerBaseInfoVO> queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){
return ResponseResult.success(hyPartnerBaseInfoService.getByPartnerLineId(lineId)); PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser();
return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId));
} }