diff --git a/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java b/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java index 775d848..85c6dc7 100644 --- a/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java +++ b/src/main/java/com/yuyou/openapi/openapi/api/ABClient.java @@ -12,6 +12,7 @@ import com.yuyou.openapi.openapi.service.ABClientService; import com.yuyou.openapi.openapi.utils.SecurityOperationUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -35,6 +36,7 @@ import java.util.List; public class ABClient { @Autowired + @Qualifier("ABClientServiceProxy") private ABClientService abClientService; diff --git a/src/main/java/com/yuyou/openapi/openapi/dao/ZhangmenOrderRepository.java b/src/main/java/com/yuyou/openapi/openapi/dao/ZhangmenMessageRepository.java similarity index 72% rename from src/main/java/com/yuyou/openapi/openapi/dao/ZhangmenOrderRepository.java rename to src/main/java/com/yuyou/openapi/openapi/dao/ZhangmenMessageRepository.java index 0fc96a2..1bf3724 100644 --- a/src/main/java/com/yuyou/openapi/openapi/dao/ZhangmenOrderRepository.java +++ b/src/main/java/com/yuyou/openapi/openapi/dao/ZhangmenMessageRepository.java @@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface ZhangmenOrderRepository extends JpaRepository { +public interface ZhangmenMessageRepository extends JpaRepository { } diff --git a/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java b/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java index 695e8b9..22476a6 100644 --- a/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java +++ b/src/main/java/com/yuyou/openapi/openapi/model/convert/ABMessageConverter.java @@ -1,8 +1,12 @@ package com.yuyou.openapi.openapi.model.convert; +import cn.hutool.core.date.DateUtil; +import com.yuyou.openapi.openapi.common.security.SecurityConstants; +import com.yuyou.openapi.openapi.common.security.SecurityService; import com.yuyou.openapi.openapi.model.dataobject.ABMessageDO; import com.yuyou.openapi.openapi.model.dto.ABMessageDTO; import com.yuyou.openapi.openapi.model.vo.ABClientInterMessageVO; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; @@ -15,6 +19,7 @@ import java.util.List; * @version 1.0 * @date 2020/8/10 */ +@Slf4j public class ABMessageConverter { /** @@ -44,6 +49,25 @@ public class ABMessageConverter { return dataList; } + /** + * 批量转DTO为DO + * @param list + * @return + */ + public static List convertABMessageDOFromDTO(List list) { + if (CollectionUtils.isEmpty(list)) { + return null; + } + List abMessageDOs = new ArrayList<>(); + list.forEach(each -> { + ABMessageDO abMessageDO = convertABMessageDOFromDTO(each); + if (abMessageDO != null) { + abMessageDOs.add(abMessageDO); + } + }); + return abMessageDOs; + } + /** * DTO层转为DO层 * @param abMessageDTO @@ -51,6 +75,20 @@ public class ABMessageConverter { */ public static ABMessageDO convertABMessageDOFromDTO(ABMessageDTO abMessageDTO) { ABMessageDO abMessageDO = new ABMessageDO(); + if (abMessageDTO == null) { + return abMessageDO; + } + + BeanUtils.copyProperties(abMessageDTO, abMessageDO); + abMessageDO.setPushTime(DateUtil.date(abMessageDTO.getTimestamp() * 1000)); + abMessageDO.setStartTime(DateUtil.date(abMessageDTO.getStartTime() * 1000)); + // AES加密 + try { + SecurityService.encrypt(abMessageDTO.getMobile(), SecurityConstants.PHONE); + } catch (Exception e) { + log.error("Encrypt Mobile raise Error, error is :", e); + } + abMessageDO.setPnum(abMessageDTO.getMobile()); return abMessageDO; } } diff --git a/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ABMessageDO.java b/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ABMessageDO.java index ef568ee..9ca9b17 100644 --- a/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ABMessageDO.java +++ b/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ABMessageDO.java @@ -67,4 +67,6 @@ public class ABMessageDO { @Column(name = "push_time") private Date pushTime; + @Column(name = "send_status") + private Integer sendStatus; } diff --git a/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ZhangmenMessageDO.java b/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ZhangmenMessageDO.java index 6f79033..2740875 100644 --- a/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ZhangmenMessageDO.java +++ b/src/main/java/com/yuyou/openapi/openapi/model/dataobject/ZhangmenMessageDO.java @@ -13,7 +13,7 @@ import java.util.Date; * @date 2020/8/10 */ @Data -@Table(name = "zhangmen_order") +@Table(name = "zhangmen_message") public class ZhangmenMessageDO { /** @@ -68,4 +68,7 @@ public class ZhangmenMessageDO { */ @Column(name = "push_time") private Date pushTime; + + @Column(name = "submit_status") + private Integer submitStatus; } diff --git a/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceImpl.java b/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceImpl.java index 85e59d0..5085665 100644 --- a/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceImpl.java +++ b/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceImpl.java @@ -1,6 +1,7 @@ package com.yuyou.openapi.openapi.service.impl; import com.yuyou.openapi.openapi.dao.ABMessageRepository; +import com.yuyou.openapi.openapi.model.convert.ABMessageConverter; import com.yuyou.openapi.openapi.model.dataobject.ABMessageDO; import com.yuyou.openapi.openapi.model.dto.ABMessageDTO; import com.yuyou.openapi.openapi.model.dto.ABZMMessageDTO; @@ -38,7 +39,7 @@ public class ABClientServiceImpl implements ABClientService { @Override public boolean recordAndSendABClientMsg(List dtos) { // 调用接口进行入库 - ArrayList abMessageDOS = new ArrayList<>(); + List abMessageDOS = ABMessageConverter.convertABMessageDOFromDTO(dtos); // TODO: 2020/8/10 0010 加密存储 List dos = abMessageRepository.saveAll(abMessageDOS); if (CollectionUtils.isEmpty(dos)){ @@ -48,7 +49,7 @@ public class ABClientServiceImpl implements ABClientService { // TODO: 2020/8/10 0010 解密 发送 // 调用异步任务进行转发AB单 - 这里是这有一条数据 // 返回处理结果 - abDownTask.doRunTask(dtos); + //abDownTask.doRunTask(dtos); return Boolean.TRUE; } diff --git a/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceProxy.java b/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceProxy.java new file mode 100644 index 0000000..8749a31 --- /dev/null +++ b/src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceProxy.java @@ -0,0 +1,50 @@ +package com.yuyou.openapi.openapi.service.impl; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.StrUtil; +import com.yuyou.openapi.openapi.model.dto.ABMessageDTO; +import com.yuyou.openapi.openapi.model.dto.ABZMMessageDTO; +import com.yuyou.openapi.openapi.service.ABClientService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * ABClientService代理类 + * + * @author queyounan + * @version 1.0 + * @date 2020/8/11 + */ +@Service("ABClientServiceProxy") +public class ABClientServiceProxy implements ABClientService { + + @Resource(name = "ABClientServiceImpl") + private ABClientService abClientService; + + @Override + public boolean recordAndSendABClientMsg(List list) { + // 解密List中的加密字段 + list.forEach(each -> { + each.setActName(each.getActName()); + }); + return abClientService.recordAndSendABClientMsg(list); + } + + @Override + public void recordZMClientMsg(ABZMMessageDTO dto) { + + } + + /** + * 解密加密字段 + * @param base64Value + */ + private String decryptBase64Value(String base64Value) { + if (StrUtil.isBlank(base64Value)) { + return base64Value; + } + return Base64.decodeStr(base64Value); + } +} diff --git a/src/main/java/com/yuyou/openapi/openapi/utils/SecurityOperationUtil.java b/src/main/java/com/yuyou/openapi/openapi/utils/SecurityOperationUtil.java index 427f3aa..10a10a9 100644 --- a/src/main/java/com/yuyou/openapi/openapi/utils/SecurityOperationUtil.java +++ b/src/main/java/com/yuyou/openapi/openapi/utils/SecurityOperationUtil.java @@ -123,4 +123,9 @@ public class SecurityOperationUtil { throw new SecretException(ex); } } + + public static void main(String[] args) throws SecretException { + String decryptValue = aesDecrypt("DqkOjL726BFVqAj5TNkgyw==", "AnOQ&1^lyobm%vUX"); + System.out.println(decryptValue); + } }