mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-22 12:05:05 +08:00
commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
package com.jsowell.pile.transaction.dto;
|
||||
|
||||
import com.jsowell.pile.domain.PileBillingDetail;
|
||||
import com.jsowell.pile.domain.PileBillingTemplate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class BillingTemplateTransactionDTO {
|
||||
// 计费模板基本信息
|
||||
private PileBillingTemplate billingTemplate;
|
||||
|
||||
// 计费模板详情
|
||||
private List<PileBillingDetail> detailList;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
|
||||
.append("billingTemplate", billingTemplate)
|
||||
.append("detailList", detailList)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.jsowell.pile.transaction.dto;
|
||||
|
||||
import com.jsowell.pile.domain.MemberBasicInfo;
|
||||
import com.jsowell.pile.domain.MemberWalletInfo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class MemberTransactionDTO {
|
||||
private MemberBasicInfo memberBasicInfo;
|
||||
|
||||
private MemberWalletInfo memberWalletInfo;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.jsowell.pile.transaction.dto;
|
||||
|
||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||
import com.jsowell.pile.domain.OrderDetail;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class OrderTransactionDTO {
|
||||
/**
|
||||
* 订单基本信息
|
||||
*/
|
||||
private OrderBasicInfo orderBasicInfo;
|
||||
|
||||
/**
|
||||
* 订单详情
|
||||
*/
|
||||
private OrderDetail orderDetail;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.jsowell.pile.transaction.dto;
|
||||
|
||||
import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.domain.PileConnectorInfo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class PileTransactionDTO {
|
||||
private List<PileBasicInfo> pileBasicInfoList;
|
||||
|
||||
private List<PileConnectorInfo> pileConnectorInfoList;
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
package com.jsowell.pile.transaction.service;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.MemberWalletInfoMapper;
|
||||
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.PileBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
||||
import com.jsowell.pile.mapper.PileConnectorInfoMapper;
|
||||
import com.jsowell.pile.transaction.dto.BillingTemplateTransactionDTO;
|
||||
import com.jsowell.pile.transaction.dto.MemberTransactionDTO;
|
||||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||||
import com.jsowell.pile.transaction.dto.PileTransactionDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 用来入库的service
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class TransactionService {
|
||||
@Resource
|
||||
private PileBasicInfoMapper pileBasicInfoMapper;
|
||||
|
||||
@Resource
|
||||
private PileConnectorInfoMapper pileConnectorInfoMapper;
|
||||
|
||||
@Resource
|
||||
private PileBillingTemplateMapper pileBillingTemplateMapper;
|
||||
|
||||
@Autowired
|
||||
private OrderBasicInfoMapper orderBasicInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private MemberBasicInfoMapper memberBasicInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private MemberWalletInfoMapper memberWalletInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
/**
|
||||
* 批量新增充电桩和充电桩接口
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
|
||||
public int doCreatePileTransaction(PileTransactionDTO dto) {
|
||||
int result = 0;
|
||||
if (CollectionUtils.isNotEmpty(dto.getPileBasicInfoList())) {
|
||||
result = pileBasicInfoMapper.batchInsertPileBasicInfo(dto.getPileBasicInfoList());
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(dto.getPileConnectorInfoList())) {
|
||||
pileConnectorInfoMapper.batchInsertConnectorInfo(dto.getPileConnectorInfoList());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增计费模板和详情
|
||||
*/
|
||||
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
|
||||
public void doCreateBillingTemplate(BillingTemplateTransactionDTO dto) {
|
||||
log.info("新增计费模板和详情 param:{}", dto.toString());
|
||||
if (dto.getBillingTemplate() == null || CollectionUtils.isEmpty(dto.getDetailList())) {
|
||||
return;
|
||||
}
|
||||
// 保存计费模板基本信息
|
||||
pileBillingTemplateMapper.insertPileBillingTemplate(dto.getBillingTemplate());
|
||||
// log.info("自增id:{}", dto.getBillingTemplate().getId());
|
||||
// 保存计费模板详情
|
||||
pileBillingTemplateMapper.batchPileBillingDetail(dto.getDetailList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新计费模板
|
||||
* @param dto
|
||||
*/
|
||||
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
|
||||
public void doUpdateBillingTemplate(BillingTemplateTransactionDTO dto) {
|
||||
if (dto.getBillingTemplate() == null || CollectionUtils.isEmpty(dto.getDetailList())) {
|
||||
return;
|
||||
}
|
||||
// 保存计费模板基本信息
|
||||
pileBillingTemplateMapper.updatePileBillingTemplate(dto.getBillingTemplate());
|
||||
// 计费模板 先删后插
|
||||
pileBillingTemplateMapper.deletePileBillingDetailByTemplateCode(dto.getBillingTemplate().getTemplateCode());
|
||||
// 保存计费模板详情
|
||||
pileBillingTemplateMapper.batchPileBillingDetail(dto.getDetailList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入订单
|
||||
*/
|
||||
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
|
||||
public void doCreateOrder(OrderTransactionDTO dto) {
|
||||
if (Objects.nonNull(dto.getOrderBasicInfo())) {
|
||||
orderBasicInfoMapper.insertOrderBasicInfo(dto.getOrderBasicInfo());
|
||||
}
|
||||
|
||||
if (Objects.nonNull(dto.getOrderDetail())) {
|
||||
orderBasicInfoMapper.batchOrderDetail(Lists.newArrayList(dto.getOrderDetail()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新订单信息
|
||||
* @param dto
|
||||
*/
|
||||
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
|
||||
public void doUpdateOrder(OrderTransactionDTO dto) {
|
||||
String orderCode = null;
|
||||
if (Objects.nonNull(dto.getOrderBasicInfo())) {
|
||||
orderCode = dto.getOrderBasicInfo().getOrderCode();
|
||||
orderBasicInfoMapper.updateOrderBasicInfo(dto.getOrderBasicInfo());
|
||||
}
|
||||
|
||||
if (Objects.nonNull(dto.getOrderDetail())) {
|
||||
orderCode = dto.getOrderDetail().getOrderCode();
|
||||
orderBasicInfoMapper.updateOrderDetail(dto.getOrderDetail());
|
||||
}
|
||||
// 清缓存
|
||||
if (StringUtils.isNotBlank(orderCode)) {
|
||||
String redisKey = CacheConstants.GET_ORDER_INFO_BY_ORDER_CODE + orderCode;
|
||||
redisCache.deleteObject(redisKey);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新建会员
|
||||
* @param dto
|
||||
*/
|
||||
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
|
||||
public void createMember(MemberTransactionDTO dto) {
|
||||
if (Objects.nonNull(dto.getMemberBasicInfo())) {
|
||||
memberBasicInfoMapper.insertMemberBasicInfo(dto.getMemberBasicInfo());
|
||||
}
|
||||
if (Objects.nonNull(dto.getMemberWalletInfo())) {
|
||||
memberWalletInfoMapper.insertSelective(dto.getMemberWalletInfo());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user