diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index e6650568f..78257f53f 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -55,6 +55,8 @@ public enum ErrorCodeEnum { WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null), PARTNER_USER_NOT_EXIST(500003, "加盟商用户信息不存在!", null), ZONE_NOT_EXIST(500004, "战区不存在!", null), + PARTNER_BASEINFO_NOT_EXIST(500005, "基本信息不存在!", null), + INTENT_INFO_NOT_EXIST(500006, "意向信息不存在!", null), INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null), diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java index edcd63f67..9e141f57d 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerBaseInfoDAO.java @@ -2,7 +2,7 @@ package com.cool.store.dao; import com.cool.store.entity.HyPartnerBaseInfoDO; import com.cool.store.mapper.HyPartnerBaseInfoMapper; -import org.apache.ibatis.annotations.Param; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -38,4 +38,11 @@ public class HyPartnerBaseInfoDAO { return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId); } + public HyPartnerBaseInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || partnerLineId == null){ + return null; + } + return hyPartnerBaseInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java index 5edcb6f2e..8963346a6 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerClerkDAO.java @@ -2,11 +2,14 @@ package com.cool.store.dao; import com.cool.store.entity.HyPartnerClerkDO; import com.cool.store.mapper.HyPartnerClerkMapper; -import org.apache.ibatis.annotations.Param; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; +import java.util.Objects; /** * @Author suzhuhong @@ -31,4 +34,25 @@ public class HyPartnerClerkDAO { return hyPartnerClerkMapper.getHyPartnerClerkList(lineId); } + public int batchInsert(List hyPartnerClerkDOList){ + if (CollectionUtils.isEmpty(hyPartnerClerkDOList)){ + return -1; + } + return hyPartnerClerkMapper.batchInsert(hyPartnerClerkDOList); + } + + public void deleteByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){ + return; + } + hyPartnerClerkMapper.deleteByPartnerIdAndLineId(partnerId, partnerLineId); + } + + public List listByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){ + return Collections.emptyList(); + } + return hyPartnerClerkMapper.listByPartnerIdAndLineId(partnerId, partnerLineId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java index 1196ec32a..c950a1fed 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerIntentInfoDAO.java @@ -4,13 +4,11 @@ import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.entity.HyPartnerIntentInfoDO; import com.cool.store.mapper.HyPartnerIntentInfoMapper; import com.github.pagehelper.PageInfo; -import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; -import java.util.List; +import java.util.Objects; /** * @Author suzhuhong @@ -55,5 +53,12 @@ public class HyPartnerIntentInfoDAO { return hyPartnerIntentInfoMapper.selectByLineId(lineId); } + public HyPartnerIntentInfoDO getByPartnerIdAndLineId(String partnerId, Long partnerLineId){ + if (StringUtils.isEmpty(partnerId) || Objects.isNull(partnerLineId)){ + return null; + } + return hyPartnerIntentInfoMapper.getByPartnerIdAndLineId(partnerId, partnerLineId); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 471c5ad53..5ee627712 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -1,7 +1,6 @@ package com.cool.store.dao; import com.cool.store.dto.partner.PartnerBlackListDTO; -import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.entity.HyPartnerLineInfoDO; @@ -10,7 +9,6 @@ import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -125,7 +123,12 @@ public class HyPartnerLineInfoDAO { return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason); } - + public HyPartnerLineInfoDO getByPartnerId(String partnerId){ + if (StringUtils.isEmpty(partnerId)){ + return null; + } + return hyPartnerLineInfoMapper.getByPartnerId(partnerId); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java index ec703675d..f03520321 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserInfoDAO.java @@ -68,5 +68,12 @@ public class HyPartnerUserInfoDAO { return hyPartnerUserInfoMapper.insertSelective(record); } + public int updateJoinKnowById(Integer isWritePartnerKnow, Long id){ + if (id == null || isWritePartnerKnow == null){ + return 0; + } + return hyPartnerUserInfoMapper.updateJoinKnowById(isWritePartnerKnow, id); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java index a2acbe68b..6488260db 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerBaseInfoMapper.java @@ -33,4 +33,7 @@ public interface HyPartnerBaseInfoMapper { int updateByPartnerId(@Param("userName") String userName, @Param("mobile") String mobile, @Param("partnerId") String partnerId); + + HyPartnerBaseInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java index c463c7bce..5f56188b7 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerClerkMapper.java @@ -27,4 +27,17 @@ public interface HyPartnerClerkMapper { List getHyPartnerClerkList(@Param("lineId") Long lineId); + + int batchInsert(@Param("recordList") List recordList); + + void deleteByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); + + /** + * 查询店员信息 + * @return + */ + List listByPartnerIdAndLineId(@Param("partnerId") String partnerId, + @Param("partnerLineId") Long partnerLineId); + + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java index ea75a2a96..711026290 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerIntentInfoMapper.java @@ -47,4 +47,6 @@ public interface HyPartnerIntentInfoMapper { * @return */ HyPartnerIntentInfoDO selectByLineId(@Param("lineId") Long lineId); + + HyPartnerIntentInfoDO getByPartnerIdAndLineId(@Param("partnerId") String partnerId, @Param("partnerLineId") Long partnerLineId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 274c09095..88e518079 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -1,11 +1,9 @@ package com.cool.store.mapper; import com.cool.store.dto.partner.PartnerBlackListDTO; -import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO; import com.cool.store.dto.partner.PartnerLineInfoAndBaseInfoDTO; import com.cool.store.dto.partner.StageCountDTO; import com.cool.store.entity.HyPartnerLineInfoDO; -import com.cool.store.entity.HyPartnerLineInfoDO; import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Param; @@ -132,4 +130,7 @@ public interface HyPartnerLineInfoMapper { @Param("joinReason") String joinReason, @Param("removeReason") String removeReason); + HyPartnerLineInfoDO getByPartnerId(@Param("partnerId") String partnerId); + + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java index 124d573f6..5bf4ead72 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserInfoMapper.java @@ -40,4 +40,7 @@ public interface HyPartnerUserInfoMapper { * @return */ List selectByPartnerIds(@Param("partnerIdList") List partnerIdList); + + int updateJoinKnowById(@Param("isWritePartnerKnow")Integer isWritePartnerKnow, @Param("id")Long id); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml index 3fde0213b..8168519e8 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerBaseInfoMapper.xml @@ -216,4 +216,12 @@ where partner_id = #{partnerId} + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml index 508288dec..925976e59 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerClerkMapper.xml @@ -108,4 +108,37 @@ from hy_partner_clerk where partner_line_id = #{lineId} + + + insert into + hy_partner_clerk + ( + partner_line_id, + partner_id, + username, + relationship, + age, + choose_reason + ) + values + + (#{record.partnerLineId}, + #{record.partnerId}, + #{record.username}, + #{record.relationship}, + #{record.age}, + #{record.chooseReason}) + + + + + delete from hy_partner_clerk where partner_id = #{partnerId} and partner_line_id = #{partnerLineId} + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml index aa14b21b3..dbb61371e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerIntentInfoMapper.xml @@ -288,4 +288,11 @@ + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index 9c1866d01..8e9a4387f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -384,4 +384,11 @@ where id = #{lineId} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml index 053fa7474..6fd0729d7 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml @@ -147,4 +147,11 @@ where id = #{record.id} + + + update hy_partner_user_info + set `is_write_partner_know`=#{isWritePartnerKnow,jdbcType=INTEGER} + where id=#{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java index 65d164d98..5d74e7ec2 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PartnerIntentInfoRequest.java @@ -18,6 +18,12 @@ public class PartnerIntentInfoRequest { @ApiModelProperty("") private Long id; + @ApiModelProperty("线索表ID") + private Long partnerLineId; + + @ApiModelProperty("加盟商C端用户表ID partnerId ") + private String partnerId; + @ApiModelProperty("常驻区域") private String liveArea; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java index d399e597a..2b57f6384 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerBaseInfoService.java @@ -1,6 +1,8 @@ package com.cool.store.service; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.PartnerBaseInfoRequest; +import com.cool.store.vo.PartnerBaseInfoVO; /** * @Author suzhuhong @@ -16,4 +18,8 @@ public interface HyPartnerBaseInfoService { * @return */ Boolean addTags(AddTagsRequest addTagsRequest); + + Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request); + + PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java index eeeddc963..a499af9df 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerClerkService.java @@ -1,5 +1,6 @@ package com.cool.store.service; +import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.vo.PartnerClerkVO; import java.util.List; @@ -19,6 +20,10 @@ public interface HyPartnerClerkService { */ List getPartnerClerkList(Long lineId); + Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request); + + List queryPartnerClerkInfo(String partnerId, Long lineId); + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java index 915635b6e..1edf577c3 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HyPartnerIntentInfoService.java @@ -1,6 +1,7 @@ package com.cool.store.service; import com.cool.store.request.BaseUserInfoRequest; +import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.vo.PartnerIntentApplyInfoVO; import com.cool.store.vo.PartnerIntentInfoVO; import com.github.pagehelper.PageInfo; @@ -37,4 +38,8 @@ public interface HyPartnerIntentInfoService { */ Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest); + Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest partnerIntentInfoRequest); + + PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java index 778cfd105..6a0e51d28 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/PartnerUserInfoService.java @@ -1,5 +1,12 @@ package com.cool.store.service; +import com.cool.store.entity.HyPartnerUserInfoDO; + public interface PartnerUserInfoService { + HyPartnerUserInfoDO selectByPartnerId(String partnerId); + + Boolean queryJoinNotice(String partnerId); + + Boolean completeJoinNotice(String partnerId); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java index af7181b85..08e6979f2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerBaseInfoServiceImpl.java @@ -1,10 +1,16 @@ package com.cool.store.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.dao.HyPartnerBaseInfoDAO; +import com.cool.store.dao.HyPartnerLineInfoDAO; import com.cool.store.entity.HyPartnerBaseInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.request.AddTagsRequest; +import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.service.HyPartnerBaseInfoService; +import com.cool.store.vo.PartnerBaseInfoVO; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -29,4 +35,49 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService { hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO); return Boolean.TRUE; } + + /** + * //前提 未提交加盟申请 + * //成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域 + * @param request + * @return + */ + @Override + public Boolean submitPartnerBaseInfo(PartnerBaseInfoRequest request) { + HyPartnerBaseInfoDO baseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + if(baseInfoDO == null){ + baseInfoDO = new HyPartnerBaseInfoDO(); + fillBaseInfo(baseInfoDO, request); + hyPartnerBaseInfoDAO.insertSelective(baseInfoDO); + }else { + fillBaseInfo(baseInfoDO, request); + hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(baseInfoDO); + } + return true; + } + + @Override + public PartnerBaseInfoVO queryPartnerBaseInfo(String partnerId, Long lineId) { + HyPartnerBaseInfoDO hyPartnerBaseInfoDO = hyPartnerBaseInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); + if (hyPartnerBaseInfoDO == null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_BASEINFO_NOT_EXIST); + } + PartnerBaseInfoVO baseInfoVO = new PartnerBaseInfoVO(); + BeanUtil.copyProperties(hyPartnerBaseInfoDO, baseInfoVO); + return baseInfoVO; + } + + private void fillBaseInfo(HyPartnerBaseInfoDO baseInfoDO, PartnerBaseInfoRequest request) { + baseInfoDO.setPartnerId(request.getPartnerId()); + baseInfoDO.setPartnerLineId(request.getPartnerLineId()); + baseInfoDO.setMobile(request.getMobile()); + baseInfoDO.setUsername(request.getUsername()); + baseInfoDO.setSex(request.getSex()); + baseInfoDO.setNation(request.getNation()); + baseInfoDO.setBirthdate(request.getBirthdate()); + baseInfoDO.setIdCard(request.getIdCard()); + baseInfoDO.setIdCardPhotoFront(request.getIdCardPhotoFront()); + baseInfoDO.setIdCardPhotoBlack(request.getIdCardPhotoBlack()); + baseInfoDO.setLiveAddress(request.getLiveAddress()); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java deleted file mode 100644 index 26b945c7a..000000000 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.cool.store.service.impl; - -import com.cool.store.dao.HyPartnerClerkDAO; -import com.cool.store.entity.HyPartnerClerkDO; -import com.cool.store.service.HyPartnerClerkService; -import com.cool.store.vo.PartnerClerkVO; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; - -/** - * @Author suzhuhong - * @Date 2023/6/15 11:05 - * @Version 1.0 - */ -@Service -public class HyPartnerClerkImpl implements HyPartnerClerkService { - - @Resource - HyPartnerClerkDAO hyPartnerClerkDAO; - - - @Override - public List getPartnerClerkList(Long lineId) { - List hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); - List result= new ArrayList<>(); - hyPartnerClerkList.forEach(x->{ - PartnerClerkVO partnerClerkVO = new PartnerClerkVO(); - partnerClerkVO.setPartnerId(x.getPartnerId()); - partnerClerkVO.setPartnerLineId(x.getPartnerLineId()); - partnerClerkVO.setAge(x.getAge()); - partnerClerkVO.setChooseReason(x.getChooseReason()); - partnerClerkVO.setUsername(x.getUsername()); - partnerClerkVO.setRelationship(x.getRelationship()); - result.add(partnerClerkVO); - }); - return result; - } -} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java new file mode 100644 index 000000000..e2f81a330 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerClerkServiceImpl.java @@ -0,0 +1,82 @@ +package com.cool.store.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.cool.store.dao.HyPartnerClerkDAO; +import com.cool.store.entity.HyPartnerClerkDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.request.PartnerClerkInfoRequest; +import com.cool.store.service.HyPartnerClerkService; +import com.cool.store.utils.StringUtil; +import com.cool.store.vo.PartnerClerkVO; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @Author wxp + * @Date 2023/6/14 21:37 + * @Version 1.0 + */ +@Service +public class HyPartnerClerkServiceImpl implements HyPartnerClerkService { + + @Resource + HyPartnerClerkDAO hyPartnerClerkDAO; + + @Override + public List getPartnerClerkList(Long lineId) { + List hyPartnerClerkList = hyPartnerClerkDAO.getHyPartnerClerkList(lineId); + List result= new ArrayList<>(); + hyPartnerClerkList.forEach(x->{ + PartnerClerkVO partnerClerkVO = new PartnerClerkVO(); + partnerClerkVO.setPartnerId(x.getPartnerId()); + partnerClerkVO.setPartnerLineId(x.getPartnerLineId()); + partnerClerkVO.setAge(x.getAge()); + partnerClerkVO.setChooseReason(x.getChooseReason()); + partnerClerkVO.setUsername(x.getUsername()); + partnerClerkVO.setRelationship(x.getRelationship()); + result.add(partnerClerkVO); + }); + return result; + } + + @Override + public Boolean submitPartnerClerkInfo(PartnerClerkInfoRequest request) { + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId()) || CollectionUtils.isEmpty(request.getPartnerClerkRequestList())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + hyPartnerClerkDAO.deleteByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + List clerkDOList = new ArrayList<>(); + request.getPartnerClerkRequestList().stream().forEach(x->{ + HyPartnerClerkDO clerkDO = new HyPartnerClerkDO(); + clerkDO.setPartnerLineId(request.getPartnerLineId()); + clerkDO.setPartnerId(request.getPartnerId()); + clerkDO.setUsername(x.getUsername()); + clerkDO.setRelationship(x.getRelationship()); + clerkDO.setAge(x.getAge()); + clerkDO.setChooseReason(x.getChooseReason()); + clerkDOList.add(clerkDO); + }); + hyPartnerClerkDAO.batchInsert(clerkDOList); + return true; + } + + @Override + public List queryPartnerClerkInfo(String partnerId, Long lineId) { + List clerkDOList = hyPartnerClerkDAO.listByPartnerIdAndLineId(partnerId, lineId); + List clerkVOList = ListUtils.emptyIfNull(clerkDOList).stream().map(clerkDO -> { + PartnerClerkVO clerkVO = new PartnerClerkVO(); + BeanUtil.copyProperties(clerkDO, clerkVO); + return clerkVO; + }).collect(Collectors.toList()); + return clerkVOList; + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 02c75d133..026cf28ff 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -1,6 +1,7 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; +import cn.hutool.core.bean.BeanUtil; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.HyPartnerBaseInfoDAO; import com.cool.store.dao.HyPartnerIntentInfoDAO; @@ -14,6 +15,7 @@ import com.cool.store.enums.WorkflowStageEnum; import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.BaseUserInfoRequest; +import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.utils.StringUtil; import com.cool.store.vo.PartnerIntentApplyInfoVO; @@ -27,6 +29,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -107,6 +110,57 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic return partnerIntentInfoVO; } + @Override + public Boolean submitPartnerIntentInfo(PartnerIntentInfoRequest request) { + if (StringUtil.isBlank(request.getPartnerId()) || Objects.isNull(request.getPartnerLineId())){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(request.getPartnerId(), request.getPartnerLineId()); + if(intentInfoDO == null){ + intentInfoDO = new HyPartnerIntentInfoDO(); + fillIntentInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.insertSelective(intentInfoDO); + }else { + fillIntentInfo(intentInfoDO, request); + hyPartnerIntentInfoDAO.updateByPrimaryKeySelective(intentInfoDO); + } + return true; + } + + @Override + public PartnerIntentInfoVO queryPartnerIntentInfo(String partnerId, Long lineId) { + HyPartnerIntentInfoDO intentInfoDO = hyPartnerIntentInfoDAO.getByPartnerIdAndLineId(partnerId, lineId); + if (intentInfoDO == null){ + throw new ServiceException(ErrorCodeEnum.INTENT_INFO_NOT_EXIST); + } + PartnerIntentInfoVO intentInfoVO = new PartnerIntentInfoVO(); + BeanUtil.copyProperties(intentInfoDO, intentInfoVO); + return intentInfoVO; + } + + private void fillIntentInfo(HyPartnerIntentInfoDO intentInfoDO, PartnerIntentInfoRequest request) { + intentInfoDO.setPartnerId(request.getPartnerId()); + intentInfoDO.setPartnerLineId(request.getPartnerLineId()); + intentInfoDO.setLiveArea(request.getLiveArea()); + intentInfoDO.setWantShopArea(request.getWantShopArea()); + intentInfoDO.setAcceptAdjustType(request.getAcceptAdjustType()); + intentInfoDO.setIsHaveWantShop(request.getIsHaveWantShop()); + intentInfoDO.setWantShopInfo(request.getWantShopInfo()); + intentInfoDO.setMaxBudget(request.getMaxBudget()); + intentInfoDO.setMoneySource(request.getMoneySource()); + intentInfoDO.setMoneyProve(String.join(",", request.getMoneyProve())); + intentInfoDO.setEducation(request.getEducation()); + intentInfoDO.setWorkYear(request.getWorkYear()); + intentInfoDO.setIsHaveWorkExp(request.getIsHaveWorkExp()); + intentInfoDO.setWorkExp(request.getWorkExp()); + intentInfoDO.setIsConsumer(request.getIsConsumer()); + intentInfoDO.setOtherBand(request.getOtherBand()); + intentInfoDO.setBrandStrength(request.getBrandStrength()); + intentInfoDO.setNeedImprove(request.getNeedImprove()); + intentInfoDO.setStrength(request.getStrength()); + intentInfoDO.setWeakness(request.getWeakness()); + } + /** * partnerIntentApplyInfoDTOToVo * @param partnerIntentApplyInfoDTO diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java index e7ee84666..8365b31d9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PartnerUserInfoServiceImpl.java @@ -1,6 +1,10 @@ package com.cool.store.service.impl; +import com.cool.store.constants.CommonConstants; import com.cool.store.dao.HyPartnerUserInfoDAO; +import com.cool.store.entity.HyPartnerUserInfoDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.service.PartnerUserInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -11,4 +15,27 @@ public class PartnerUserInfoServiceImpl implements PartnerUserInfoService { @Autowired private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; + @Override + public HyPartnerUserInfoDO selectByPartnerId(String partnerId) { + return hyPartnerUserInfoDAO.selectByPartnerId(partnerId); + } + + @Override + public Boolean queryJoinNotice(String partnerId) { + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); + if (hyPartnerUserInfoDO==null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); + } + return hyPartnerUserInfoDO.getIsWritePartnerKnow() == 1; + } + + @Override + public Boolean completeJoinNotice(String partnerId) { + HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId); + if (hyPartnerUserInfoDO == null){ + throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST); + } + hyPartnerUserInfoDAO.updateJoinKnowById(CommonConstants.ONE, hyPartnerUserInfoDO.getId()); + return true; + } } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java index d589d8732..a32b338b0 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/controller/PartnerController.java @@ -1,14 +1,16 @@ package com.cool.store.controller; +import com.cool.store.context.PartnerUserHolder; import com.cool.store.request.BaseUserInfoRequest; import com.cool.store.request.PartnerBaseInfoRequest; import com.cool.store.request.PartnerClerkInfoRequest; import com.cool.store.request.PartnerIntentInfoRequest; import com.cool.store.response.ResponseResult; +import com.cool.store.service.HyPartnerBaseInfoService; +import com.cool.store.service.HyPartnerClerkService; import com.cool.store.service.HyPartnerIntentInfoService; import com.cool.store.service.PartnerUserInfoService; import com.cool.store.vo.*; -import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -36,6 +38,14 @@ public class PartnerController { @Resource HyPartnerIntentInfoService hyPartnerIntentInfoService; + @Resource + HyPartnerBaseInfoService hyPartnerBaseInfoService; + @Resource + HyPartnerClerkService hyPartnerClerkService; + + + + @PostMapping(path = "/applyBaseInfo") @ApiOperation("提交基本信息") public ResponseResult applyBaseInfo(@RequestBody BaseUserInfoRequest baseUserInfoRequest){ @@ -79,26 +89,24 @@ public class PartnerController { @PostMapping(path = "/submitPartnerBaseInfo") @ApiOperation("提交加盟商基本信息") - public ResponseResult submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest PartnerBaseInfoRequest){ - + public ResponseResult submitPartnerBaseInfo(@RequestBody PartnerBaseInfoRequest baseInfoRequest){ //前提 未提交加盟申请 //成功 意向区域变更成功 失败 您已进入意向申请流程,当前不可变更意向区域 - return ResponseResult.success(); + return ResponseResult.success(hyPartnerBaseInfoService.submitPartnerBaseInfo(baseInfoRequest)); } @PostMapping(path = "/submitPartnerClerkInfo") @ApiOperation("提交加盟商店员信息") public ResponseResult submitPartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){ - return ResponseResult.success(); + return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); } @PostMapping(path = "/submitPartnerIntentInfo") @ApiOperation("提交加盟商意向信息/行业认知") public ResponseResult submitPartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ - - return ResponseResult.success(); + return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } @@ -107,7 +115,7 @@ public class PartnerController { @ApiOperation("修改加盟商店员信息") public ResponseResult changePartnerClerkInfo(@RequestBody PartnerClerkInfoRequest partnerClerkInfoRequest){ - return ResponseResult.success(); + return ResponseResult.success(hyPartnerClerkService.submitPartnerClerkInfo(partnerClerkInfoRequest)); } @@ -115,7 +123,7 @@ public class PartnerController { @ApiOperation("修改加盟商意向信息/行业认知") public ResponseResult changePartnerIntentInfo(@RequestBody PartnerIntentInfoRequest partnerIntentInfoRequest){ - return ResponseResult.success(); + return ResponseResult.success(hyPartnerIntentInfoService.submitPartnerIntentInfo(partnerIntentInfoRequest)); } @@ -140,9 +148,8 @@ public class PartnerController { @ApiImplicitParam(name = "lineId", value = "线索ID", required = false), }) public ResponseResult queryPartnerBaseInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - - - return ResponseResult.success(); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerBaseInfoService.queryPartnerBaseInfo(userInfoVO.getPartnerId(), lineId)); } @@ -153,8 +160,8 @@ public class PartnerController { }) public ResponseResult> queryPartnerClerkInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - - return ResponseResult.success(); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerClerkService.queryPartnerClerkInfo(userInfoVO.getPartnerId(), lineId)); } @@ -165,8 +172,8 @@ public class PartnerController { }) public ResponseResult queryPartnerIntentInfo(@RequestParam(value = "lineId",required = false)Long lineId){ - - return ResponseResult.success(); + PartnerUserInfoVO userInfoVO = PartnerUserHolder.getUser(); + return ResponseResult.success(hyPartnerIntentInfoService.queryPartnerIntentInfo(userInfoVO.getPartnerId(), lineId)); } @@ -177,10 +184,8 @@ public class PartnerController { @ApiImplicitParams({ @ApiImplicitParam(name = "partnerId", value = "加盟商ID", required = false), }) - public ResponseResult completeJoinNotice(@RequestParam(value = "partnerId",required = false)Long partnerId){ - - - return ResponseResult.success(); + public ResponseResult completeJoinNotice(@RequestParam(value = "partnerId",required = false)String partnerId){ + return ResponseResult.success(partnerUserInfoService.completeJoinNotice(partnerId)); } @@ -189,10 +194,8 @@ public class PartnerController { @ApiImplicitParams({ @ApiImplicitParam(name = "partnerId", value = "加盟商ID", required = false), }) - public ResponseResult queryJoinNotice(@RequestParam(value = "partnerId",required = false)Long partnerId){ - - - return ResponseResult.success(); + public ResponseResult queryJoinNotice(@RequestParam(value = "partnerId",required = false)String partnerId){ + return ResponseResult.success(partnerUserInfoService.queryJoinNotice(partnerId)); } }