diff --git a/src/main/java/org/springblade/business/salesOrder/pojo/entity/OrderDetails.java b/src/main/java/org/springblade/business/salesOrder/pojo/entity/OrderDetails.java new file mode 100644 index 0000000..a6f4302 --- /dev/null +++ b/src/main/java/org/springblade/business/salesOrder/pojo/entity/OrderDetails.java @@ -0,0 +1,19 @@ +package org.springblade.business.salesOrder.pojo.entity; + +import lombok.Data; + +/** + * @author litao + */ +@Data +public class OrderDetails { + + /** + * 物料编码 + */ + private String productCode; + /** + * 数量 + */ + private Integer quantity; +} diff --git a/src/main/java/org/springblade/business/salesOrder/pojo/entity/SalesOrderRequest.java b/src/main/java/org/springblade/business/salesOrder/pojo/entity/SalesOrderRequest.java new file mode 100644 index 0000000..846b568 --- /dev/null +++ b/src/main/java/org/springblade/business/salesOrder/pojo/entity/SalesOrderRequest.java @@ -0,0 +1,40 @@ +package org.springblade.business.salesOrder.pojo.entity; + +import lombok.Data; + +import java.util.List; + +/** + * @author litao + */ +@Data +public class SalesOrderRequest { + + /** + * 接口类型 + * 新增:Add + * 修改:Modify + * 删除:Delete + */ + private String methodName; + /** + * 订单编号 + */ + private String erpOrderCode; + /** + * 客户编号 + */ + private String customerCode; + /** + * 交货日期 + */ + private String deliveryDate; + /** + * 运输地址 + */ + private String transportationAddress; + /** + * 订单详情 + */ + private List orderDetail; +} diff --git a/src/main/java/org/springblade/business/salesOrder/service/impl/SalesOrderServiceImpl.java b/src/main/java/org/springblade/business/salesOrder/service/impl/SalesOrderServiceImpl.java index c88708d..e1847a1 100644 --- a/src/main/java/org/springblade/business/salesOrder/service/impl/SalesOrderServiceImpl.java +++ b/src/main/java/org/springblade/business/salesOrder/service/impl/SalesOrderServiceImpl.java @@ -1,19 +1,37 @@ package org.springblade.business.salesOrder.service.impl; +import com.qiniu.util.Auth; import lombok.AllArgsConstructor; import org.apache.commons.collections.CollectionUtils; import org.springblade.business.salesOrder.mapper.SalesOrderMapper; import org.springblade.business.salesOrder.pojo.dto.SalesOrderDTO; +import org.springblade.business.salesOrder.pojo.entity.OrderDetails; import org.springblade.business.salesOrder.pojo.entity.SalesOrder; import org.springblade.business.salesOrder.pojo.entity.SalesOrderDetail; +import org.springblade.business.salesOrder.pojo.entity.SalesOrderRequest; import org.springblade.business.salesOrder.service.ISalesOrderDetailService; import org.springblade.business.salesOrder.service.ISalesOrderService; import org.springblade.common.utils.CommonUtil; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.modules.system.pojo.entity.ApiResponse; +import org.springblade.modules.system.pojo.entity.CustomerRequest; +import org.springblade.modules.system.pojo.entity.User; +import org.springblade.modules.system.service.IUserService; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; +import java.text.SimpleDateFormat; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 销售订单表 服务实现类 @@ -26,6 +44,7 @@ import java.util.List; public class SalesOrderServiceImpl extends BaseServiceImpl implements ISalesOrderService { private final ISalesOrderDetailService salesOrderDetailService; + private final IUserService userService; @Override @Transactional(rollbackFor = Exception.class) public boolean saveAndDetail(SalesOrderDTO salesOrder) { @@ -40,7 +59,37 @@ public class SalesOrderServiceImpl extends BaseServiceImpl detailList = salesOrder.getDetailList(); + if (CollectionUtils.isNotEmpty(detailList)) { + List orderDetailsList = new ArrayList<>(); + for (SalesOrderDetail salesOrderDetail : detailList) { + OrderDetails orderDetails = new OrderDetails(); + orderDetails.setProductCode(salesOrderDetail.getCommodityCode()); + orderDetails.setQuantity(salesOrderDetail.getCommodityCount()); + orderDetailsList.add(orderDetails); + } + request.setOrderDetail(orderDetailsList); + } + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + + HttpEntity entity = new HttpEntity<>(request, headers); + + ResponseEntity response = restTemplate.postForEntity(url, entity, ApiResponse.class); + + ApiResponse body = response.getBody(); + save = Objects.requireNonNull(body).isState(); } return save; } diff --git a/src/main/java/org/springblade/modules/system/pojo/entity/ApiResponse.java b/src/main/java/org/springblade/modules/system/pojo/entity/ApiResponse.java new file mode 100644 index 0000000..004d645 --- /dev/null +++ b/src/main/java/org/springblade/modules/system/pojo/entity/ApiResponse.java @@ -0,0 +1,13 @@ +package org.springblade.modules.system.pojo.entity; + +import lombok.Data; + +/** + * @author AAA + */ +@Data +public class ApiResponse { + private int code; + private boolean state; + private String msg; +} diff --git a/src/main/java/org/springblade/modules/system/pojo/entity/CustomerRequest.java b/src/main/java/org/springblade/modules/system/pojo/entity/CustomerRequest.java new file mode 100644 index 0000000..9629fdb --- /dev/null +++ b/src/main/java/org/springblade/modules/system/pojo/entity/CustomerRequest.java @@ -0,0 +1,41 @@ +package org.springblade.modules.system.pojo.entity; + +import lombok.Data; + +/** + * @author litao + */ +@Data +public class CustomerRequest { + /** + * 接口类型 + * 新增:Add + * 修改:Modify + * 删除:Delete + */ + private String methodName; + /** + * 客户名称 + */ + private String customerName; + /** + * 联系人姓名 + */ + private String contactName; + /** + * 公司地址 + */ + private String companyAddress; + /** + * 手机号码 + */ + private String mobileNumber; + /** + * 客户账号 + */ + private String customerAccount; + /** + * 客户密码 + */ + private String customerPassWord; +} diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java index 40ebcfc..40826d4 100644 --- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java +++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java @@ -59,8 +59,13 @@ import org.springblade.modules.system.service.IUserDeptService; import org.springblade.modules.system.service.IUserOauthService; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.system.wrapper.UserWrapper; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; import java.util.ArrayList; import java.util.Collections; @@ -596,10 +601,30 @@ public class UserServiceImpl extends BaseServiceImpl implement @Override public boolean registerUserApp(User user) { + String password = user.getPassword(); boolean submit = this.submit(user); if (submit) { // 将用户信息同步给mes - + String url = "http://118.253.182.64:8001/CrmCustomer/SyncCustomer"; + RestTemplate restTemplate = new RestTemplate(); + CustomerRequest request = new CustomerRequest(); + request.setMethodName("Add"); + request.setCustomerName(user.getName()); + request.setContactName(user.getRealName()); + request.setCompanyAddress(user.getAvatar()); + request.setMobileNumber(user.getPhone()); + request.setCustomerAccount(user.getAccount()); + request.setCustomerPassWord(password); + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + + HttpEntity entity = new HttpEntity<>(request, headers); + + ResponseEntity response = restTemplate.postForEntity(url, entity, ApiResponse.class); + + ApiResponse body = response.getBody(); + submit = Objects.requireNonNull(body).isState(); } return submit; }