定时任务

master
wyq 7 months ago
parent e9e0841d1d
commit c5f52f0821
  1. 31
      crmeb-admin/src/main/java/com/zbkj/admin/config/RestTemplateConfig.java
  2. 1
      crmeb-admin/src/main/java/com/zbkj/admin/config/WebSecurityConfig.java
  3. 31
      crmeb-admin/src/main/java/com/zbkj/admin/controller/ReshippingController.java
  4. 14
      crmeb-admin/src/main/java/com/zbkj/admin/controller/extend/TestController.java
  5. 70
      crmeb-common/src/main/java/com/zbkj/common/model/reshipping/ReshippingStockAddressPO.java
  6. 31
      crmeb-front/src/main/java/com/zbkj/front/config/RestTemplateConfig.java
  7. 21
      crmeb-service/src/main/java/com/zbkj/service/dao/ReshippingStockAddressDao.java
  8. 12
      crmeb-service/src/main/java/com/zbkj/service/service/ReshippingService.java
  9. 26
      crmeb-service/src/main/java/com/zbkj/service/service/impl/ReshippingServiceImpl.java
  10. 2
      crmeb-service/src/main/java/com/zbkj/service/service/impl/WechatNewServiceImpl.java
  11. 8
      crmeb-service/src/main/java/com/zbkj/service/util/RedisLockUtil.java
  12. 2
      pom.xml

@ -1,15 +1,22 @@
package com.zbkj.admin.config;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import javax.net.ssl.SSLContext;
import java.nio.charset.StandardCharsets;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
@ -29,10 +36,26 @@ import java.util.List;
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
RestTemplate restTemplate = new RestTemplate(factory);
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
restTemplate.getMessageConverters().add(new WxMappingJackson2HttpMessageConverter());
return restTemplate;
try {
TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
.loadTrustMaterial(null, acceptingTrustStrategy)
.build();
SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(csf)
.build();
HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClient);
return new RestTemplate(requestFactory);
}catch (Exception e){
return null;
}
}
@Bean

@ -113,6 +113,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
// .antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
// 对于登录login 验证码captchaImage 和其他放行的目录 允许匿名访问"/citylife/front/**"
.antMatchers("/api/admin/login", "/api/admin/validate/code/get").permitAll()
.antMatchers("/api/extend/**").permitAll()
.antMatchers("/api/admin/getLoginPic").permitAll()
.antMatchers("/api/admin/login/account/detection").permitAll()
.antMatchers("/api/admin/validate/code/getcaptchaconfig").permitAll()

@ -0,0 +1,31 @@
package com.zbkj.admin.controller;
import com.zbkj.common.model.reshipping.ReshippingStockAddressPO;
import com.zbkj.service.service.ReshippingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author wyq
*/
@Slf4j
@RestController
@RequestMapping("api/admin/reshipping")
@Api(tags = "退货")
public class ReshippingController {
@Autowired
ReshippingService reservationService;
@ApiOperation(value = "退货地址列表")
@RequestMapping(value = "/queryAddress", method = RequestMethod.GET)
public List<ReshippingStockAddressPO> queryAddress() {
return reservationService.queryAddress();
}
}

@ -31,14 +31,15 @@ import java.util.List;
@RequestMapping("api/extend/test")
@Api(tags = "测试接口")
public class TestController {
@Autowired
private OrderTaskService orderTaskService;
@Autowired
private StoreOrderDao storeOrderDao;
@Autowired
private StoreOrderRefundService storeOrderRefundService;
@Autowired
private WechatNewService wechatNewService;
@PostMapping("/aa")
String createDelivery(@RequestBody MallDelivery mallDelivery){
StoreOrder storeOrder = storeOrderDao.selectOne(new LambdaQueryWrapper<StoreOrder>().eq(StoreOrder::getOrderId, mallDelivery.getPlatformCode()));
@ -46,6 +47,15 @@ public class TestController {
request.setAmount(storeOrder.getRefundPrice());
storeOrderRefundService.refund(request,storeOrder);
return "";
}
@PostMapping("/bb")
String bb(@RequestBody MallDelivery mallDelivery){
StoreOrder storeOrder = storeOrderDao.selectOne(new LambdaQueryWrapper<StoreOrder>().eq(StoreOrder::getOrderId, mallDelivery.getPlatformCode()));
wechatNewService.payRefundQuery(storeOrder);
return "";
}
}

@ -0,0 +1,70 @@
package com.zbkj.common.model.reshipping;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* @author wyq
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("eb_reshipping_stock_address")
@ApiModel(value="ReshippingStockAddressPO", description="退货仓库地址")
public class ReshippingStockAddressPO {
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
@ApiModelProperty(value = "回寄收货人手机号")
private String reshippingPhone;
@ApiModelProperty(value = "回寄地址")
private String reshippingAddress;
@ApiModelProperty(value = "回寄收货人")
private String reshippingName;
@ApiModelProperty(value = "是否默认")
private Integer hasDefault;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createdBy;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updatedBy;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createdTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updatedTime;
/**
* 是否逻辑删除0未删除1已删除
*/
private Integer deleted;
}

@ -1,15 +1,22 @@
package com.zbkj.front.config;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
import javax.net.ssl.SSLContext;
import java.nio.charset.StandardCharsets;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
@ -29,10 +36,26 @@ import java.util.List;
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
RestTemplate restTemplate = new RestTemplate(factory);
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
restTemplate.getMessageConverters().add(new WxMappingJackson2HttpMessageConverter());
return restTemplate;
try {
TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
.loadTrustMaterial(null, acceptingTrustStrategy)
.build();
SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);
CloseableHttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(csf)
.build();
HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClient);
return new RestTemplate(requestFactory);
}catch (Exception e){
return null;
}
}
@Bean

@ -0,0 +1,21 @@
package com.zbkj.service.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zbkj.common.model.reshipping.ReshippingStockAddressPO;
/**
* 订单表 Mapper 接口
* +----------------------------------------------------------------------
* | CRMEB [ CRMEB赋能开发者助力企业发展 ]
* +----------------------------------------------------------------------
* | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
* +----------------------------------------------------------------------
* | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
* +----------------------------------------------------------------------
* | Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
public interface ReshippingStockAddressDao extends BaseMapper<ReshippingStockAddressPO> {
}

@ -0,0 +1,12 @@
package com.zbkj.service.service;
import com.zbkj.common.model.reshipping.ReshippingStockAddressPO;
import java.util.List;
/**
* @author wyq
*/
public interface ReshippingService {
List<ReshippingStockAddressPO> queryAddress();
}

@ -0,0 +1,26 @@
package com.zbkj.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zbkj.common.model.reshipping.ReshippingStockAddressPO;
import com.zbkj.service.dao.ReshippingStockAddressDao;
import com.zbkj.service.service.ReshippingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wyq
*/
@Service
public class ReshippingServiceImpl implements ReshippingService {
@Autowired
private ReshippingStockAddressDao reshippingStockAddressDao;
@Override
public List<ReshippingStockAddressPO> queryAddress() {
return reshippingStockAddressDao.selectList(new LambdaQueryWrapper<ReshippingStockAddressPO>().eq(ReshippingStockAddressPO::getDeleted, 0)
.orderByDesc(ReshippingStockAddressPO::getHasDefault).orderByDesc(ReshippingStockAddressPO::getId));
}
}

@ -658,8 +658,10 @@ public class WechatNewServiceImpl implements WechatNewService {
HashMap<String, Object> map = CollUtil.newHashMap();
String xml = "";
try {
log.info("查询退款入参:{}",JSON.toJSONString(wxRefundVo));
xml = restTemplateUtil.postXml(url, xmlStr);
map = XmlUtil.xmlToMap(xml);
log.info("查询退款返回:{}",JSON.toJSONString(map));
} catch (Exception e) {
e.printStackTrace();
throw new CrmebException("xmlToMap错误,xml = " + xml);

@ -3,7 +3,6 @@ package com.zbkj.service.util;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
@ -11,6 +10,7 @@ import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSeriali
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.TimeUnit;
@ -24,10 +24,10 @@ import java.util.concurrent.TimeUnit;
public class RedisLockUtil {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
@Resource
private RedisTemplate redisTemplate;
public RedisLockUtil(RedisTemplate<String, Object> redisTemplate) {
public RedisLockUtil(RedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
}

@ -61,7 +61,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.24</version>
<version>5.1.49</version>
</dependency>
<!--代码自动生成工具-->

Loading…
Cancel
Save