Commit 0aea9811 by 王祖波

保存建联记录

parent 029274e2
package com.gic.haoban.manage.api.dto.content;
import java.io.Serializable;
import java.util.Date;
/**
* Created by wangzubo on 2025/3/15.
*/
public class MemberLastInteractDTO {
public class MemberLastInteractDTO implements Serializable {
/**
* 会员id
......
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.api.service.contact;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.contact.ContactLogDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactLogQDTO;
public interface ContactLogApiService {
......@@ -12,4 +13,11 @@ public interface ContactLogApiService {
*/
ServiceResponse<ContactLogDTO> getClerkContactTime(String memberId);
/**
* 保存建联记录
* @param qdto
* @return
*/
ServiceResponse<Void> saveContactLog(ContactLogQDTO qdto);
}
package com.gic.haoban.manage.service.service.contact;
import com.gic.api.base.commons.BusinessException;
import com.gic.haoban.manage.api.qdto.contact.ContactLogQDTO;
import com.gic.haoban.manage.service.entity.contact.TabContactLog;
......@@ -13,7 +14,7 @@ public interface ContactLogService {
*
* @param qdto
*/
void saveContactLog(ContactLogQDTO qdto);
void saveContactLog(ContactLogQDTO qdto) throws BusinessException;
/**
* 清除建联状态
......
......@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.Constant;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
......@@ -18,6 +19,7 @@ import com.gic.haoban.manage.service.entity.contact.TabContactLog;
import com.gic.haoban.manage.service.service.contact.ContactFollowService;
import com.gic.haoban.manage.service.service.contact.ContactLogService;
import com.gic.member.api.dto.MemberStoreClerkDTO;
import com.gic.member.api.dto.MemberStoreDTO;
import com.gic.member.api.service.MemberService;
import com.gic.store.goods.service.StoreGoodsService;
import org.apache.commons.lang3.StringUtils;
......@@ -47,14 +49,23 @@ public class ContactLogServiceImpl implements ContactLogService {
@Override
public void saveContactLog(ContactLogQDTO qdto) {
public void saveContactLog(ContactLogQDTO qdto) throws BusinessException {
logger.info("保存建联记录:{}", JSON.toJSONString(qdto));
String enterpriseId = qdto.getEnterpriseId();
String storeId = qdto.getStoreId();
String clerkId = qdto.getClerkId();
String memberId = qdto.getMemberId();
DateTime date = DateUtil.date();
MemberStoreClerkDTO memberStoreClerk = memberService.getMemberStoreClerk(memberId);
if (memberStoreClerk == null) {
logger.info("无专属导购无法建联");
throw new BusinessException("-1", "无专属导购无法建联");
}
String mainClerkId = memberStoreClerk.getClerkId();
if (!Objects.equals(mainClerkId, clerkId)) {
logger.info("非专属导购无法建联");
throw new BusinessException("-1", "非专属导购无法建联");
}
// 是否周期内首次建联 同周期内是否有记录
Integer contactCycle = 1;
// 建联周期 14天内同周期/14天以上周期+1
......
package com.gic.haoban.manage.service.service.out.impl.contact;
import com.gic.api.base.commons.BusinessException;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.manage.api.dto.contact.ContactLogDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactLogQDTO;
import com.gic.haoban.manage.api.service.contact.ContactLogApiService;
import com.gic.haoban.manage.service.entity.contact.TabContactLog;
import com.gic.haoban.manage.service.service.contact.ContactLogService;
......@@ -24,4 +26,15 @@ public class ContactLogApiServiceImpl implements ContactLogApiService {
ContactLogDTO contactLogDTO = EntityUtil.changeEntityNew(ContactLogDTO.class, contactLog);
return ServiceResponse.success(contactLogDTO);
}
@Override
public ServiceResponse<Void> saveContactLog(ContactLogQDTO qdto) {
try {
contactLogService.saveContactLog(qdto);
} catch (BusinessException e) {
return ServiceResponse.failure(e.getCode(), e.getMessage());
}
return ServiceResponse.success();
}
}
......@@ -9,9 +9,12 @@ import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.api.dto.contact.ContactFollowDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowQDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactFollowSearchQDTO;
import com.gic.haoban.manage.api.qdto.contact.ContactLogQDTO;
import com.gic.haoban.manage.api.service.contact.ContactFollowApiService;
import com.gic.haoban.manage.api.service.contact.ContactLogApiService;
import com.gic.haoban.manage.web.qo.contact.ContactFollowPageQO;
import com.gic.haoban.manage.web.qo.contact.ContactFollowQO;
import com.gic.haoban.manage.web.qo.contact.ContactLogQO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -26,6 +29,8 @@ public class ContactController {
@Autowired
private ContactFollowApiService contactFollowApiService;
@Autowired
private ContactLogApiService contactLogApiService;
/**
* 添加跟进记录
......@@ -63,4 +68,20 @@ public class ContactController {
}
return RestResponse.successResult(serviceResponse.getResult());
}
/**
* 建联
* @param contactLogQO
* @return
*/
@RequestMapping(path = "/log")
public RestResponse<Void> saveLog(@RequestBody ContactLogQO contactLogQO) {
ContactLogQDTO logQDTO = EntityUtil.changeEntityNew(ContactLogQDTO.class, contactLogQO);
ServiceResponse<Void> serviceResponse = contactLogApiService.saveContactLog(logQDTO);
if (!serviceResponse.isSuccess()) {
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
return RestResponse.successResult();
}
}
package com.gic.haoban.manage.web.qo.contact;
import java.io.Serializable;
public class ContactLogQO implements Serializable {
private static final long serialVersionUID = 973688857967269973L;
/**
* 会员id
*/
private String memberId;
/**
* 导购id
*/
private String clerkId;
/**
* 门店id
*/
private String storeId;
/**
* 企业id
*/
private String enterpriseId;
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
}
\ No newline at end of file
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