@ -0,0 +1,44 @@ | |||||
package com.digiwin.athena.app.infra.entity; | |||||
import com.baomidou.mybatisplus.annotation.TableName; | |||||
import com.digiwin.athena.opt.persistence.domain.BaseMgrEntity; | |||||
import com.google.gson.annotations.SerializedName; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Data; | |||||
import lombok.NoArgsConstructor; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 16:12 | |||||
* Description: | |||||
*/ | |||||
@Data | |||||
@AllArgsConstructor | |||||
@NoArgsConstructor | |||||
@TableName(value = "cim_supplier_contact", autoResultMap = true) | |||||
public class SupplierContactEntity extends BaseMgrEntity<SupplierContactEntity> { | |||||
/** | |||||
* 供应商编号 | |||||
*/ | |||||
@SerializedName(value = "supplier_no") | |||||
private String supplierNo; | |||||
/** | |||||
* 供应商名称 | |||||
*/ | |||||
@SerializedName(value = "supplier_name") | |||||
private String supplierName; | |||||
/** | |||||
* 联系人名称 | |||||
*/ | |||||
@SerializedName(value = "contact_name") | |||||
private String contactName; | |||||
/** | |||||
* 联系人邮箱 | |||||
*/ | |||||
@SerializedName(value = "contact_email") | |||||
private String contactEmail; | |||||
} |
@ -0,0 +1,7 @@ | |||||
package com.digiwin.athena.app.infra.repository; | |||||
import com.digiwin.athena.app.infra.entity.SupplierContactEntity; | |||||
import com.digiwin.athena.opt.persistence.repository.BaseRepository; | |||||
public interface SupplierContactInfoRepository extends BaseRepository<SupplierContactEntity> { | |||||
} |
@ -0,0 +1,16 @@ | |||||
package com.digiwin.athena.app.infra.service.Impl; | |||||
import com.digiwin.athena.app.infra.entity.SupplierContactEntity; | |||||
import com.digiwin.athena.app.infra.repository.SupplierContactInfoRepository; | |||||
import com.digiwin.athena.app.infra.service.SupplierContactInfoService; | |||||
import com.digiwin.athena.opt.persistence.service.impl.AbsBaseService; | |||||
import org.springframework.stereotype.Service; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 16:16 | |||||
* Description: | |||||
*/ | |||||
@Service | |||||
public class SupplierContactInfoServiceImpl extends AbsBaseService<SupplierContactInfoRepository, SupplierContactEntity> implements SupplierContactInfoService { | |||||
} |
@ -0,0 +1,7 @@ | |||||
package com.digiwin.athena.app.infra.service; | |||||
import com.digiwin.athena.app.infra.entity.SupplierContactEntity; | |||||
import com.digiwin.athena.opt.persistence.service.IBaseService; | |||||
public interface SupplierContactInfoService extends IBaseService<SupplierContactEntity> { | |||||
} |
@ -0,0 +1,52 @@ | |||||
package com.digiwin.athena.app.provider; | |||||
import com.digiwin.app.service.DWEAIResult; | |||||
import com.digiwin.app.service.DWService; | |||||
import com.digiwin.app.service.eai.EAIService; | |||||
import com.digiwin.athena.app.service.supplier.SupplierContactUtil; | |||||
import java.util.Map; | |||||
public interface SupplierContactInfoEAIService extends DWService { | |||||
/** | |||||
* 供应商联系人查询 | |||||
* @param headers | |||||
* @param messageBody | |||||
* @return | |||||
* @throws Exception | |||||
*/ | |||||
@EAIService(id = SupplierContactUtil.DEMO_DATA_CONTACT_INFO_GET) | |||||
DWEAIResult get(Map<String, String> headers, String messageBody) throws Exception; | |||||
/** | |||||
* 供应商联系人新增 | |||||
* @param headers | |||||
* @param messageBody | |||||
* @return | |||||
* @throws Exception | |||||
*/ | |||||
@EAIService(id = SupplierContactUtil.DEMO_DATA_CONTACT_INFO_CREATE) | |||||
DWEAIResult create(Map<String, String> headers, String messageBody) throws Exception; | |||||
/** | |||||
* 供应商联系人修改 | |||||
* @param headers | |||||
* @param messageBody | |||||
* @return | |||||
* @throws Exception | |||||
*/ | |||||
@EAIService(id = SupplierContactUtil.DEMO_DATA_CONTACT_INFO_UPDATE) | |||||
DWEAIResult update(Map<String, String> headers, String messageBody) throws Exception; | |||||
/** | |||||
* 供应商联系人删除 | |||||
* @param headers | |||||
* @param messageBody | |||||
* @return | |||||
* @throws Exception | |||||
*/ | |||||
@EAIService(id = SupplierContactUtil.DEMO_DATA_CONTACT_INFO_DELETE) | |||||
DWEAIResult delete(Map<String, String> headers, String messageBody) throws Exception; | |||||
} |
@ -0,0 +1,41 @@ | |||||
package com.digiwin.athena.app.provider.impl; | |||||
import com.digiwin.app.service.DWEAIResult; | |||||
import com.digiwin.athena.app.provider.SupplierContactInfoEAIService; | |||||
import com.digiwin.athena.app.service.supplier.SupplierContactUtil; | |||||
import com.digiwin.athena.opt.common.eai.service.EAIServiceContext; | |||||
import javax.annotation.Resource; | |||||
import java.util.Map; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 15:54 | |||||
* Description: | |||||
*/ | |||||
public class SupplierContactInfoEAIServiceImpl implements SupplierContactInfoEAIService { | |||||
@Resource | |||||
private EAIServiceContext eaiServiceContext; | |||||
@Override | |||||
public DWEAIResult get(Map<String, String> headers, String messageBody) throws Exception { | |||||
return eaiServiceContext.execute(SupplierContactUtil.DEMO_DATA_CONTACT_INFO_GET,headers,messageBody); | |||||
} | |||||
@Override | |||||
public DWEAIResult create(Map<String, String> headers, String messageBody) throws Exception { | |||||
return eaiServiceContext.execute(SupplierContactUtil.DEMO_DATA_CONTACT_INFO_CREATE,headers,messageBody); | |||||
} | |||||
@Override | |||||
public DWEAIResult update(Map<String, String> headers, String messageBody) throws Exception { | |||||
return eaiServiceContext.execute(SupplierContactUtil.DEMO_DATA_CONTACT_INFO_UPDATE,headers,messageBody); | |||||
} | |||||
@Override | |||||
public DWEAIResult delete(Map<String, String> headers, String messageBody) throws Exception { | |||||
return eaiServiceContext.execute(SupplierContactUtil.DEMO_DATA_CONTACT_INFO_DELETE,headers,messageBody); | |||||
} | |||||
} |
@ -0,0 +1,56 @@ | |||||
package com.digiwin.athena.app.service.supplier; | |||||
import com.alibaba.fastjson.TypeReference; | |||||
import com.digiwin.app.service.DWEAIResult; | |||||
import com.digiwin.athena.app.infra.entity.SupplierContactEntity; | |||||
import com.digiwin.athena.app.infra.service.SupplierContactInfoService; | |||||
import com.digiwin.athena.opt.common.eai.EAIRequest; | |||||
import com.digiwin.athena.opt.common.eai.EAIUtil; | |||||
import com.digiwin.athena.opt.common.eai.service.AbsEAIService; | |||||
import com.digiwin.athena.opt.common.generator.SnowflakeWorker; | |||||
import lombok.extern.log4j.Log4j2; | |||||
import org.springframework.beans.BeanUtils; | |||||
import org.springframework.stereotype.Service; | |||||
import javax.annotation.Resource; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
import java.util.stream.Collectors; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 16:03 | |||||
* Description: | |||||
*/ | |||||
@Log4j2 | |||||
@Service | |||||
public class SupplierContactInfoCreateEAIService extends AbsEAIService { | |||||
@Resource | |||||
SupplierContactInfoService supplierContactInfoService; | |||||
@Override | |||||
public String getServiceName() { | |||||
return SupplierContactUtil.DEMO_DATA_CONTACT_INFO_CREATE; | |||||
} | |||||
@Override | |||||
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception { | |||||
// 入参反序列化 | |||||
EAIRequest request = new EAIRequest(messageBody); | |||||
List<SupplierContactEntity> supplierContactEntityList = request.getObject("contact_info", new TypeReference<List<SupplierContactEntity>>(){}); | |||||
List<SupplierContactEntity> supplierContactEntities = supplierContactEntityList.stream().map(assemble->{ | |||||
SupplierContactEntity supplierContactEntity = new SupplierContactEntity(); | |||||
supplierContactEntity.setId(SnowflakeWorker.nextId()); | |||||
BeanUtils.copyProperties(assemble,supplierContactEntity); | |||||
return supplierContactEntity; | |||||
}).collect(Collectors.toList()); | |||||
this.supplierContactInfoService.saveBatch(supplierContactEntities); | |||||
return EAIUtil.buildEAIResult(new HashMap<>()); | |||||
} | |||||
} |
@ -0,0 +1,49 @@ | |||||
package com.digiwin.athena.app.service.supplier; | |||||
import com.digiwin.app.service.DWEAIResult; | |||||
import com.digiwin.athena.app.infra.service.SupplierContactInfoService; | |||||
import com.digiwin.athena.opt.common.eai.EAIUtil; | |||||
import com.digiwin.athena.opt.common.eai.service.AbsEAIService; | |||||
import lombok.extern.log4j.Log4j2; | |||||
import org.assertj.core.util.Lists; | |||||
import org.json.JSONArray; | |||||
import org.json.JSONObject; | |||||
import org.springframework.stereotype.Service; | |||||
import javax.annotation.Resource; | |||||
import java.util.*; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 16:05 | |||||
* Description: | |||||
*/ | |||||
@Log4j2 | |||||
@Service | |||||
public class SupplierContactInfoDeleteEAIService extends AbsEAIService { | |||||
@Resource | |||||
SupplierContactInfoService supplierContactInfoService; | |||||
@Override | |||||
public String getServiceName() { | |||||
return SupplierContactUtil.DEMO_DATA_CONTACT_INFO_DELETE; | |||||
} | |||||
@Override | |||||
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception { | |||||
// 入参反序列化 | |||||
JSONObject parameter = new JSONObject(messageBody).getJSONObject("std_data").getJSONObject("parameter"); | |||||
JSONArray jsonArray = parameter.getJSONArray("contact_info"); | |||||
ArrayList<Long> list = null; | |||||
for(int i=0;i<jsonArray.length();i++){ | |||||
list = Lists.newArrayList(jsonArray.getJSONObject(i).getLong("id")); | |||||
} | |||||
this.supplierContactInfoService.removeByIds(list); | |||||
return EAIUtil.buildEAIResult(new HashMap<>()); | |||||
} | |||||
} |
@ -0,0 +1,59 @@ | |||||
package com.digiwin.athena.app.service.supplier; | |||||
import com.alibaba.fastjson.JSON; | |||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; | |||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||
import com.digiwin.app.service.DWEAIResult; | |||||
import com.digiwin.athena.app.infra.entity.SupplierContactEntity; | |||||
import com.digiwin.athena.app.infra.service.SupplierContactInfoService; | |||||
import com.digiwin.athena.opt.common.eai.EAIUtil; | |||||
import com.digiwin.athena.opt.common.eai.service.AbsEAIService; | |||||
import com.digiwin.athena.opt.common.security.SecurityUtil; | |||||
import lombok.extern.log4j.Log4j2; | |||||
import org.apache.commons.lang3.StringUtils; | |||||
import org.json.JSONArray; | |||||
import org.json.JSONObject; | |||||
import org.springframework.stereotype.Service; | |||||
import javax.annotation.Resource; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 16:02 | |||||
* Description: | |||||
*/ | |||||
@Log4j2 | |||||
@Service | |||||
public class SupplierContactInfoGetEAIService extends AbsEAIService { | |||||
@Resource | |||||
SupplierContactInfoService supplierContactInfoService; | |||||
@Override | |||||
public String getServiceName() { | |||||
return SupplierContactUtil.DEMO_DATA_CONTACT_INFO_GET; | |||||
} | |||||
@Override | |||||
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception { | |||||
JSONObject parameter = new JSONObject(messageBody).getJSONObject("std_data").getJSONObject("parameter"); | |||||
JSONArray jsonArray = parameter.getJSONArray("contact_info"); | |||||
LambdaQueryWrapper<SupplierContactEntity> queryWrapper = Wrappers.<SupplierContactEntity>lambdaQuery() | |||||
.eq(SupplierContactEntity::getTenantId, SecurityUtil.getUserProfile().getTenantId()) | |||||
.in(!StringUtils.isEmpty(jsonArray.getJSONObject(0).get("supplier_no").toString()), | |||||
SupplierContactEntity::getSupplierNo, jsonArray.getJSONObject(0).get("supplier_no")); | |||||
List<SupplierContactEntity> list = supplierContactInfoService.list(queryWrapper); | |||||
return EAIUtil.buildEAIResult(new com.alibaba.fastjson.JSONObject().fluentPut("contact_info",list)); | |||||
} | |||||
} |
@ -0,0 +1,48 @@ | |||||
package com.digiwin.athena.app.service.supplier; | |||||
import com.alibaba.fastjson.TypeReference; | |||||
import com.digiwin.app.service.DWEAIResult; | |||||
import com.digiwin.athena.app.infra.entity.SupplierContactEntity; | |||||
import com.digiwin.athena.app.infra.service.SupplierContactInfoService; | |||||
import com.digiwin.athena.opt.common.eai.EAIRequest; | |||||
import com.digiwin.athena.opt.common.eai.EAIUtil; | |||||
import com.digiwin.athena.opt.common.eai.service.AbsEAIService; | |||||
import com.digiwin.athena.opt.common.generator.SnowflakeWorker; | |||||
import lombok.extern.log4j.Log4j2; | |||||
import org.springframework.beans.BeanUtils; | |||||
import org.springframework.stereotype.Service; | |||||
import javax.annotation.Resource; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
import java.util.stream.Collectors; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 16:04 | |||||
* Description: | |||||
*/ | |||||
@Log4j2 | |||||
@Service | |||||
public class SupplierContactInfoUpdateEAIService extends AbsEAIService { | |||||
@Resource | |||||
SupplierContactInfoService supplierContactInfoService; | |||||
@Override | |||||
public String getServiceName() { | |||||
return SupplierContactUtil.DEMO_DATA_CONTACT_INFO_UPDATE; | |||||
} | |||||
@Override | |||||
public DWEAIResult execute(Map<String, String> headers, String messageBody) throws Exception { | |||||
// 入参反序列化 | |||||
EAIRequest request = new EAIRequest(messageBody); | |||||
List<SupplierContactEntity> supplierContactEntityList = request.getObject("contact_info", new TypeReference<List<SupplierContactEntity>>(){}); | |||||
this.supplierContactInfoService.updateBatchById(supplierContactEntityList); | |||||
return EAIUtil.buildEAIResult(new HashMap<>()); | |||||
} | |||||
} |
@ -0,0 +1,29 @@ | |||||
package com.digiwin.athena.app.service.supplier; | |||||
/** | |||||
* @author CR-7 | |||||
* create: 2023-09-01 15:54 | |||||
* Description: | |||||
*/ | |||||
public class SupplierContactUtil { | |||||
/** | |||||
* 供应商联系人查询 | |||||
*/ | |||||
public static final String DEMO_DATA_CONTACT_INFO_GET = "demo.data.contact.info.get"; | |||||
/** | |||||
* 供应商联系人新增 | |||||
*/ | |||||
public static final String DEMO_DATA_CONTACT_INFO_CREATE = "demo.data.contact.info.create"; | |||||
/** | |||||
* 供应商联系人修改 | |||||
*/ | |||||
public static final String DEMO_DATA_CONTACT_INFO_UPDATE = "demo.data.contact.info.update"; | |||||
/** | |||||
* 供应商联系人删除 | |||||
*/ | |||||
public static final String DEMO_DATA_CONTACT_INFO_DELETE = "demo.data.contact.info.delete"; | |||||
} |