记得上下班打卡 | git大法好,push需谨慎

Commit 843dc54f authored by 胡佳晨's avatar 胡佳晨

代码提交

parent e345a236
...@@ -14,6 +14,8 @@ public class KylinRedisConst { ...@@ -14,6 +14,8 @@ public class KylinRedisConst {
public static final String BANNERS = "kylin:banners:id:"; public static final String BANNERS = "kylin:banners:id:";
public static final String AGENT = "kylin:agent:info"; public static final String AGENT = "kylin:agent:info";
public static final String ENTER_INFO = "kylin:enter:info:id:";//入场须知
public static final String CHECK_USER = "kylin:checkUser:id:"; public static final String CHECK_USER = "kylin:checkUser:id:";
public static final String CHECK_USER_RELATION = "kylin:checkUser:relation:id:"; public static final String CHECK_USER_RELATION = "kylin:checkUser:relation:id:";
} }
...@@ -11,13 +11,17 @@ public class KylinOrderListVo implements Serializable { ...@@ -11,13 +11,17 @@ public class KylinOrderListVo implements Serializable {
private String orderTicketsId; private String orderTicketsId;
private String performanceTitle; private String performanceTitle;
private String performanceImg; private String performanceImg;
private String orderCode;
private String timeStart; private String timeStart;
private String ticketTitle; private String ticketTitle;
private String useStart; private String useStart;
private String overdueAt; private String overdueAt;
private int canBuyTime; private Long restTime;
private BigDecimal priceActual; private BigDecimal priceActual;
private Integer number; private Integer number;
private Integer status; private Integer status;
private String express_number;
private String express_company;
private Integer kuaidi_status;
private String createdAt; private String createdAt;
} }
...@@ -82,6 +82,10 @@ public class KylinTicketVo { ...@@ -82,6 +82,10 @@ public class KylinTicketVo {
private Integer isMemberStatus; private Integer isMemberStatus;
@ApiModelProperty(value = "是否分销 0否 1是") @ApiModelProperty(value = "是否分销 0否 1是")
private Integer isAgent; private Integer isAgent;
@ApiModelProperty(value = "是否显示二维码 0否 1是")
private Integer isShowCode;
@ApiModelProperty(value = "二维码显示时间")
private String qrCodeShowTime;
public void setTicket(KylinTickets ticket) { public void setTicket(KylinTickets ticket) {
this.ticketsId = ticket.getTicketsId(); this.ticketsId = ticket.getTicketsId();
...@@ -123,6 +127,9 @@ public class KylinTicketVo { ...@@ -123,6 +127,9 @@ public class KylinTicketVo {
this.limitCount = ticketStatus.getLimitCount(); this.limitCount = ticketStatus.getLimitCount();
this.counts = ticketStatus.getCounts(); this.counts = ticketStatus.getCounts();
this.sysDamai = ticketStatus.getSyncDamai(); this.sysDamai = ticketStatus.getSyncDamai();
this.isShowCode=ticketStatus.getIsShowCode();
this.qrCodeShowTime=ticketStatus.getQrCodeShowTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
} }
} }
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.Expresses;
import lombok.Data;
import java.util.List;
@Data
public class OrderDetailsVo {
private KylinOrderTicketVo orderTicketVo;
private List<KylinOrderTicketEntitiesVo> orderTicketEntitiesVo;
private KylinPerformanceVo performanceVo;
private KylinTicketVo ticketVo;
private String express_number;
private String express_company;
private Integer kuaidi_status;
private Long restTime;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
import java.io.File;
import java.util.List;
@Data
public class BatchImportParam {
private String admin_id;
private String order_type;
private File excel;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import com.liquidnet.service.kylin.entity.ExpressTimelines;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class CourierListVo implements Serializable {
private static final long serialVersionUID = 4283677861855377186L;
private String expressNumber;
private String expressCompany;
private List<ExpressTimelines> expressTimeLine;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
import java.io.Serializable;
@Data
public class ExpressTimeLineVo implements Serializable {
private static final long serialVersionUID = 7800739802323711435L;
private Integer id;
private Integer express_id;
private String context;
private String time;
private String ftime;
private String created_at;
private String updated_at;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class Kuaidi100Param {
private LastResultParam lastResultParam;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class KuaidiAdminParam {
private int admin_id;
private int order_id;
private String order_code;
private String order_type;
private String number;
private String company;
// private String name;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class KuaidiDatasParam {
private String context;
private String time;
private String ftime;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
@Data
public class KuaidiReturn {
private boolean boolResult;
private Integer returnCode;
private String message;
}
package com.liquidnet.service.kylin.dto.vo.tmp;
import lombok.Data;
import java.util.List;
@Data
public class LastResultParam {
private List<KuaidiDatasParam> data;
private String nu;
private String com;
private Integer state;
}
package com.liquidnet.service.kylin.service; package com.liquidnet.service.kylin.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.tmp.CourierListVo;
import com.liquidnet.service.kylin.dto.vo.tmp.KuaidiAdminParam;
import com.liquidnet.service.kylin.dto.vo.tmp.KuaidiReturn;
import com.liquidnet.service.kylin.entity.ExpressBatches;
import com.liquidnet.service.kylin.entity.Expresses; import com.liquidnet.service.kylin.entity.Expresses;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -13,17 +19,28 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,17 +19,28 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IExpressesService extends IService<Expresses> { public interface IExpressesService extends IService<Expresses> {
// void courierList(); /**
// void observer(); * 根据订单ID查询快递信息
// void observerResult(); * order_id :订单号
// void addExpress(); * type:订单类型 (订单类型 order_product 商品订单 , order_ticket 票务订单, order_integration 积分订单)
// void editExpress(); */
// void getExpressCompany(); ResponseDto<CourierListVo> courierList(String orderId, String type);
// void getExpressCompanyEn();
// void innerAddExpress(); /**
// void expressObserveUnSuccess(); * 快递100 订阅接«口
// void expressBatchImport(); * company 快递公司
// void expressImport(); * number 快递单号
// void expressEdit(); */
// void expressEditLog(); KuaidiReturn observer(String company , String number);
void observerResult(String param);
String addExpress(KuaidiAdminParam param);
String editExpress(KuaidiAdminParam param);
String getExpressCompany(String name);
String getExpressCompanyEn(String name);
String innerAddExpress(KuaidiAdminParam param);
PageInfo<ExpressBatches> expressObserveUnSuccess(int page , int size);
// void expressBatchImport(); // 批量导入
// void expressImport(); // 单条导入
// void expressEdit(); // 编辑快递收货地址
// void expressEditLog(); //快递收货地址修改记录
} }
...@@ -5,10 +5,7 @@ import com.liquidnet.service.base.ResponseDto; ...@@ -5,10 +5,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.PayAgainParam; import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam; import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam; import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.*;
import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.PayResultVo;
import com.liquidnet.service.kylin.entity.KylinOrderTickets; import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -39,6 +36,7 @@ public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> { ...@@ -39,6 +36,7 @@ public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
PageInfo<List<KylinOrderListVo>> orderList(int page,int size); PageInfo<List<KylinOrderListVo>> orderList(int page,int size);
//订单详情 //订单详情
OrderDetailsVo orderDetails(String orderId);
//TASK 倒计时 //TASK 倒计时
boolean checkOrderTime(String userId); boolean checkOrderTime(String userId);
......
...@@ -2,6 +2,9 @@ package com.liquidnet.service.kylin.mapper; ...@@ -2,6 +2,9 @@ package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.ExpressBatches; import com.liquidnet.service.kylin.entity.ExpressBatches;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.Expresses;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface ExpressBatchesMapper extends BaseMapper<ExpressBatches> { public interface ExpressBatchesMapper extends BaseMapper<ExpressBatches> {
List<ExpressBatches> selectStatusOrder();
} }
...@@ -2,6 +2,10 @@ package com.liquidnet.service.kylin.mapper; ...@@ -2,6 +2,10 @@ package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.ExpressTimelines; import com.liquidnet.service.kylin.entity.ExpressTimelines;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.entity.Expresses;
import io.swagger.models.auth.In;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface ExpressTimelinesMapper extends BaseMapper<ExpressTimelines> { public interface ExpressTimelinesMapper extends BaseMapper<ExpressTimelines> {
List<ExpressTimelines> selectListOrder(Integer expressId);
} }
...@@ -3,6 +3,8 @@ package com.liquidnet.service.kylin.mapper; ...@@ -3,6 +3,8 @@ package com.liquidnet.service.kylin.mapper;
import com.liquidnet.service.kylin.entity.Expresses; import com.liquidnet.service.kylin.entity.Expresses;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* <p> * <p>
* 快递表 Mapper 接口 * 快递表 Mapper 接口
...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface ExpressesMapper extends BaseMapper<Expresses> { public interface ExpressesMapper extends BaseMapper<Expresses> {
List<Expresses> selectListOrder(String orderId,String type);
Expresses selectListNumByCom(String com,String nu);
} }
...@@ -2,4 +2,13 @@ ...@@ -2,4 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.ExpressBatchesMapper"> <mapper namespace="com.liquidnet.service.kylin.mapper.ExpressBatchesMapper">
<select id="selectStatusOrder" parameterType="java.lang.String"
resultType="com.liquidnet.service.kylin.entity.ExpressBatches">
SELECT *
FROM express_batches
where status = 0
or status = 2
ORDER BY batch, status DESC
</select>
</mapper> </mapper>
...@@ -2,4 +2,12 @@ ...@@ -2,4 +2,12 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.ExpressTimelinesMapper"> <mapper namespace="com.liquidnet.service.kylin.mapper.ExpressTimelinesMapper">
<select id="selectListOrder" parameterType="java.lang.Integer"
resultType="com.liquidnet.service.kylin.entity.ExpressTimelines">
SELECT ftime, context
FROM express_timelines
where express_id = #{expressId}
ORDER BY created_at DESC
</select>
</mapper> </mapper>
...@@ -2,4 +2,23 @@ ...@@ -2,4 +2,23 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.ExpressesMapper"> <mapper namespace="com.liquidnet.service.kylin.mapper.ExpressesMapper">
<select id="selectListOrder" parameterType="java.lang.String"
resultType="com.liquidnet.service.kylin.entity.Expresses">
SELECT *
FROM expresses
where order_type = #{type}
and order_id = #{orderId}
ORDER BY created_at DESC
</select>
<select id="selectListNumByCom" parameterType="java.lang.String"
resultType="com.liquidnet.service.kylin.entity.Expresses">
SELECT *
FROM expresses
where company = #{com}
and number = #{nu}
ORDER BY id DESC
limit 1
</select>
</mapper> </mapper>
...@@ -511,27 +511,27 @@ CREATE TABLE `kylin_order_ticket_entities` ...@@ -511,27 +511,27 @@ CREATE TABLE `kylin_order_ticket_entities`
) ENGINE = InnoDB ) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '订单详情'; DEFAULT CHARSET = utf8mb4 COMMENT '订单详情';
-- 订单退款 <初步> # -- 订单退款 <初步>
drop TABLE if exists `kylin_order_tickets_refund`; # drop TABLE if exists `kylin_order_tickets_refund`;
CREATE TABLE `kylin_order_tickets_refund` # CREATE TABLE `kylin_order_tickets_refund`
( # (
`mid` int(10) unsigned NOT NULL AUTO_INCREMENT, # `mid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`order_tickets_refund_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'order_tickets_refund_id', # `order_tickets_refund_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'order_tickets_refund_id',
`order_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id', # `order_id` varchar(255) NOT NULL DEFAULT '' COMMENT '订单id',
`reason` varchar(255) NOT NULL DEFAULT '' COMMENT '退款原因', # `reason` varchar(255) NOT NULL DEFAULT '' COMMENT '退款原因',
`refund_type` varchar(10) NOT NULL DEFAULT '' COMMENT '退款类型 票ticket,快递express', # `refund_type` varchar(10) NOT NULL DEFAULT '' COMMENT '退款类型 票ticket,快递express',
`order_ticket_entities_id` varchar(255) NOT NULL DEFAULT '' COMMENT '入场人id', # `order_ticket_entities_id` varchar(255) NOT NULL DEFAULT '' COMMENT '入场人id',
`refund_status` tinyint NOT NULL DEFAULT 0 COMMENT '1完成退款,2关闭或者取消退款,3正在退款,4已退款', # `refund_status` tinyint NOT NULL DEFAULT 0 COMMENT '1完成退款,2关闭或者取消退款,3正在退款,4已退款',
`refund_price` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '退款金额', # `refund_price` decimal(8, 2) NOT NULL DEFAULT '0.00' COMMENT '退款金额',
`coupon_type` varchar(10) NOT NULL DEFAULT '' COMMENT '优惠券类型', # `coupon_type` varchar(10) NOT NULL DEFAULT '' COMMENT '优惠券类型',
`coupon_id` varchar(255) NOT NULL DEFAULT '' COMMENT '优惠券id', # `coupon_id` varchar(255) NOT NULL DEFAULT '' COMMENT '优惠券id',
`comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment', # `comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间', # `created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间', # `updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_order_tickets_refund_uid_index` (`order_tickets_refund_id`), # KEY `kylin_order_tickets_refund_uid_index` (`order_tickets_refund_id`),
PRIMARY KEY (`mid`) # PRIMARY KEY (`mid`)
) ENGINE = InnoDB # ) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '订单退款'; # DEFAULT CHARSET = utf8mb4 COMMENT '订单退款';
-- 购票须知表 -- 购票须知表
drop TABLE if exists `kylin_buy_notice`; drop TABLE if exists `kylin_buy_notice`;
......
...@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dto.param.PayAgainParam; ...@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dto.param.PayAgainParam;
import com.liquidnet.service.kylin.dto.param.PayOrderParam; import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam; import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.OrderDetailsVo;
import com.liquidnet.service.kylin.dto.vo.PayResultVo; import com.liquidnet.service.kylin.dto.vo.PayResultVo;
import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl; import com.liquidnet.service.kylin.service.impl.KylinOrderTicketsServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -62,6 +63,13 @@ public class KylinOrderTicketsController { ...@@ -62,6 +63,13 @@ public class KylinOrderTicketsController {
return ResponseDto.success(orderTicketsService.orderList(page,size)); return ResponseDto.success(orderTicketsService.orderList(page,size));
} }
@GetMapping("details")
@ApiOperation("订单详情")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<OrderDetailsVo> orderDetails(@RequestParam("orderId") String orderId) {
return ResponseDto.success(orderTicketsService.orderDetails(orderId));
}
@GetMapping("checkOrderTime") @GetMapping("checkOrderTime")
@ApiOperation("订单过期脚本") @ApiOperation("订单过期脚本")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
......
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dto.vo.tmp.*;
import com.liquidnet.service.kylin.entity.ExpressBatches;
import com.liquidnet.service.kylin.entity.ExpressTimelines;
import com.liquidnet.service.kylin.entity.Expresses; import com.liquidnet.service.kylin.entity.Expresses;
import com.liquidnet.service.kylin.mapper.ExpressBatchesMapper;
import com.liquidnet.service.kylin.mapper.ExpressTimelinesMapper;
import com.liquidnet.service.kylin.mapper.ExpressesMapper; import com.liquidnet.service.kylin.mapper.ExpressesMapper;
import com.liquidnet.service.kylin.service.IExpressesService; import com.liquidnet.service.kylin.service.IExpressesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.http.client.utils.URLEncodedUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -17,4 +40,278 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +40,278 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ExpressesServiceImpl extends ServiceImpl<ExpressesMapper, Expresses> implements IExpressesService { public class ExpressesServiceImpl extends ServiceImpl<ExpressesMapper, Expresses> implements IExpressesService {
@Value("")
private String localUrl;
@Autowired
private ExpressesMapper expressesMapper;
@Autowired
private ExpressTimelinesMapper expressTimelinesMapper;
@Autowired
private ExpressBatchesMapper expressBatchesMapper;
@Override
public ResponseDto<CourierListVo> courierList(String orderId, String type) {
List<Expresses> list = expressesMapper.selectListOrder(orderId, type);
CourierListVo vo = new CourierListVo();
if (list.size() > 0) {
Expresses expresses = list.get(0);
Integer expressId = expresses.getId();
String expressNumber = expresses.getNumber();
String expressCompany = expresses.getName();
vo.setExpressNumber(expressNumber);
vo.setExpressCompany(expressCompany);
List<ExpressTimelines> expressTimelines = expressTimelinesMapper.selectListOrder(expressId);
vo.setExpressTimeLine(expressTimelines);
} else {
vo.setExpressNumber("");
vo.setExpressCompany("");
}
return ResponseDto.success(vo);
}
@Override
public KuaidiReturn observer(String company, String number) {
String param = "{\"company\":\"" + company + "\", \"number\":\"" + number + "\",\"from\":\"\", \"to\":\"\", \"key\":\"" + "DxjgEfKw8868" + "\", \"parameters\":{\"callbackurl\":\"http://" + localUrl + "/common/kuaidiCallBack\"}}";
LinkedMultiValueMap<String, String> postData = new LinkedMultiValueMap<>();
postData.add("schema", "json");
postData.add("param", param);
String url = "http://www.kuaidi100.com/poll";
// String o = "";
// for(Map.Entry<String, String> entry : postData.entrySet()){
// String mapKey = entry.getKey();
// String mapValue = entry.getValue();
// o += ""+mapKey+"=" + URLEncodedUtils.formatSegments(mapValue) + "&";
// }
// String postDataString = o.substring(0,o.length()-1);
String result = HttpUtil.post(url, postData);
System.out.println("\n\n" + result + "\n\n");
return JsonUtils.fromJson(result, KuaidiReturn.class);
}
@Override
public void observerResult(String param) {
Kuaidi100Param kuaidiParam = JsonUtils.fromJson(param, Kuaidi100Param.class);
try {
LastResultParam lastResultParam = kuaidiParam.getLastResultParam();
List<KuaidiDatasParam> datas = lastResultParam.getData();
String nu = lastResultParam.getNu();
String com = lastResultParam.getCom();
ExpressTimelines timeLineData = new ExpressTimelines();
Expresses expresses = expressesMapper.selectListNumByCom(com, nu);
Integer expressId = expresses.getId();
if (!expresses.getStatus().equals(lastResultParam.getState())) {
Integer statusInt = 0;
if (lastResultParam.getState() >= 4 && lastResultParam.getState() <= 7) {
statusInt = 0;
} else {
statusInt = lastResultParam.getState();
}
Expresses changeData = new Expresses();
changeData.setStatus(statusInt);
expressesMapper.update(changeData, new UpdateWrapper<Expresses>().eq("id", expresses.getId()));
timeLineData.setExpressId(expressId);
HashMap<String, Object> deleteMap = new HashMap<>();
deleteMap.put("express_id", expressId);
expressTimelinesMapper.deleteByMap(deleteMap);
for (KuaidiDatasParam item : datas) {
timeLineData.setContext(item.getContext());
timeLineData.setTime(item.getTime());
timeLineData.setFtime(LocalDateTime.parse(item.getFtime()));
expressTimelinesMapper.insert(timeLineData);
}
System.out.println("{\"result\":\"true\",\t\"returnCode\":\"200\",\"message\":\"成功\"}");
}
} catch (Exception e) {
System.out.println("{\"result\":\"false\",\t\"returnCode\":\"500\",\"message\":\"失败\"}");
}
}
@Override
public String addExpress(KuaidiAdminParam param) {
String message = "创建快递信息失败";
String name = getExpressCompany(param.getCompany());
try {
if (name.equals("order")) {
return "不支持填写的快递公司";
}
Expresses expresses = new Expresses();
BeanUtils.copyProperties(param, expresses);
expresses.setName(name);
int count = expressesMapper.insert(expresses);
if (count == 1) {
KuaidiReturn result100 = observer(expresses.getCompany(), expresses.getNumber());
if(result100.isBoolResult() && result100.getReturnCode()==200){
return "OK";
}else{
return message;
}
} else {
return message;
}
} catch (Exception e) {
return message;
}
}
@Override
public String editExpress(KuaidiAdminParam param) {
String message = "创建快递信息失败";
String name = getExpressCompany(param.getCompany());
try {
if (name.equals("order")) {
return "不支持填写的快递公司";
}
Expresses expresses = new Expresses();
BeanUtils.copyProperties(param, expresses);
expresses.setName(name);
int count = expressesMapper.update(expresses,new UpdateWrapper<Expresses>().eq("order_id",expresses.getOrderId()).eq("order_type",expresses.getOrderType()));
if (count == 1) {
KuaidiReturn result100 = observer(expresses.getCompany(), expresses.getNumber());
if(result100.isBoolResult() && result100.getReturnCode()==200){
return "OK";
}else{
return message;
}
} else {
return message;
}
} catch (Exception e) {
return message;
}
}
@Override
public String getExpressCompany(String name) {
String company;
switch (name) {
case "shunfeng": {
company = "顺丰";
break;
}
case "shentong": {
company = "申通";
break;
}
case "yuantong": {
company = "圆通";
break;
}
case "zhongtong": {
company = "中通";
break;
}
case "yunda": {
company = "韵达";
break;
}
case "huitongkuaidi": {
company = "汇通";
break;
}
case "debangwuliu": {
company = "德邦";
break;
}
case "tiantian": {
company = "天天";
break;
}
case "rufengda": {
company = "如风达";
break;
}
case "ems": {
company = "EMS";
break;
}
case "jd": {
company = "京东";
break;
}
default: {
company = "other";
break;
}
}
return company;
}
@Override
public String getExpressCompanyEn(String name) {
if (name.contains("顺丰")) {
return "shunfeng";
} else if (name.contains("申通")) {
return "shentong";
} else if (name.contains("圆通")) {
return "yuantong";
} else if (name.contains("中通")) {
return "zhongtong";
} else if (name.contains("韵达")) {
return "yunda";
} else if (name.contains("汇通")) {
return "huitongkuaidi";
} else if (name.contains("德邦")) {
return "debangwuliu";
} else if (name.contains("天天")) {
return "tiantian";
} else if (name.contains("如风达")) {
return "rufengda";
} else if (name.contains("EMS")) {
return "ems";
} else if (name.contains("京东")) {
return "jd";
} else if (name.contains("百世")) {
return "baishi";
} else {
return "";
}
}
@Override
public String innerAddExpress(KuaidiAdminParam param) {
String message = param.getNumber().toString();
String name = getExpressCompany(param.getCompany());
try {
if (name.equals("order")) {
return "不支持填写的快递公司";
}
Expresses expresses = new Expresses();
BeanUtils.copyProperties(param, expresses);
expresses.setName(name);
int count = expressesMapper.insert(expresses);
if (count == 1) {
KuaidiReturn result100 = observer(expresses.getCompany(), expresses.getNumber());
if(result100.isBoolResult() && result100.getReturnCode()==200){
return "OK";
}else{
return message;
}
} else {
return message;
}
} catch (Exception e) {
return message;
}
}
@Override
public PageInfo<ExpressBatches> expressObserveUnSuccess(int page, int size) {
PageInfo<ExpressBatches> pageInfoTmp = null;
try {
PageHelper.startPage(page, size);
List<ExpressBatches> voList = expressBatchesMapper.selectStatusOrder();
pageInfoTmp = new PageInfo(voList);
} catch (Exception e) {
return null;
}
return pageInfoTmp;
}
} }
package com.liquidnet.service.kylin.service.impl; package com.liquidnet.service.kylin.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.cache.redisson.util.RedisLockUtil; import com.liquidnet.common.cache.redisson.util.RedisLockUtil;
...@@ -16,11 +17,13 @@ import com.liquidnet.service.kylin.dto.param.PayOrderParam; ...@@ -16,11 +17,13 @@ import com.liquidnet.service.kylin.dto.param.PayOrderParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam; import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.*; import com.liquidnet.service.kylin.dto.vo.*;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.ExpressesMapper;
import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper; import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService; import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.kylin.utils.DataUtils; import com.liquidnet.service.kylin.utils.DataUtils;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import io.micrometer.core.instrument.util.TimeUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -70,6 +73,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -70,6 +73,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
private RabbitTemplate rabbitTemplate; private RabbitTemplate rabbitTemplate;
@Autowired @Autowired
private FeignAdamBaseClient feignAdamBaseClient; private FeignAdamBaseClient feignAdamBaseClient;
@Autowired
private ExpressesMapper expressesMapper;
@Override @Override
public ResponseDto<PayResultVo> checkCanOrder(PayOrderParam payOrderParam) { public ResponseDto<PayResultVo> checkCanOrder(PayOrderParam payOrderParam) {
...@@ -660,9 +665,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -660,9 +665,10 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//TODO 缺快递 //TODO 缺快递
PageInfo<List<KylinOrderListVo>> mPageInfo = null; PageInfo<List<KylinOrderListVo>> mPageInfo = null;
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
checkOrderTime(uid);
try { try {
// 排序 分页 // 排序 分页
Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt")); Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "orderTicketsId"));
//条件 //条件
Query query = new Query(); Query query = new Query();
...@@ -675,15 +681,88 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -675,15 +681,88 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
query.with(pageable); query.with(pageable);
List<KylinOrderListVo> voList = mongoTemplate.find(query, KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName()); List<KylinOrderListVo> voList = mongoTemplate.find(query, KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderListVo item : voList) {
Expresses expresses = expressesMapper.selectOne(new UpdateWrapper<Expresses>().eq("order_code", item.getOrderCode()).eq("order_type", "order_ticket"));
if (null != expresses) {
item.setExpress_number(expresses.getNumber());
item.setExpress_company(expresses.getName());
item.setKuaidi_status(expresses.getStatus());
} else {
item.setExpress_number("");
item.setExpress_company("");
item.setKuaidi_status(-2);
}
if (item.getStatus() == 0) {
item.setRestTime(DateUtil.intervalSeconds(
DateUtil.parse(item.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
));
} else {
item.setRestTime(0L);
}
}
mPageInfo = new PageInfo(voList); mPageInfo = new PageInfo(voList);
mPageInfo.setTotal(count); mPageInfo.setTotal(count);
return mPageInfo; return mPageInfo;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return mPageInfo; return mPageInfo;
} }
} }
@Override
public OrderDetailsVo orderDetails(String orderId) {
OrderDetailsVo vo = new OrderDetailsVo();
try {
String uid = CurrentUtil.getCurrentUid();
checkOrderTime(uid);
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
if (null != orderTicketVo) {
Expresses expresses = expressesMapper.selectOne(new UpdateWrapper<Expresses>().eq("order_id", orderId).eq("order_type", "order_ticket"));
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
KylinTicketVo ticketVo = dataUtils.getTicketVo(orderTicketVo.getTicketId());
List<KylinOrderTicketEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderId").is(orderTicketVo.getOrderTicketsId())), KylinOrderTicketEntitiesVo.class, KylinOrderTicketEntitiesVo.class.getSimpleName());
// 数据脱敏
for (KylinOrderTicketEntitiesVo item : kylinOrderTicketEntitiesVoList) {
if (item.getEnterIdCode().length() == 18) {
item.setEnterIdCode(item.getEnterIdCode().substring(0, 3) + "*************" + item.getEnterIdCode().substring(16));
}
if (item.getEnterMobile().length() == 11) {
item.setEnterMobile(item.getEnterMobile().substring(0, 3) + "****" + item.getEnterMobile().substring(7));
}
}
//计算 倒计时
if (orderTicketVo.getStatus() == 0) {
vo.setRestTime(DateUtil.intervalSeconds(
DateUtil.parse(orderTicketVo.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
));
} else {
vo.setRestTime(0L);
}
//快递
if (null != expresses) {
vo.setExpress_number(expresses.getNumber());
vo.setExpress_company(expresses.getName());
vo.setKuaidi_status(expresses.getStatus());
} else {
vo.setExpress_number("");
vo.setExpress_company("");
vo.setKuaidi_status(-2);
}
vo.setOrderTicketEntitiesVo(kylinOrderTicketEntitiesVoList);
vo.setPerformanceVo(performanceVo);
vo.setTicketVo(ticketVo);
vo.setOrderTicketVo(orderTicketVo);
}
return vo;
}catch (Exception e){
return vo;
}
}
@Override @Override
public boolean checkOrderTime(String userId) { public boolean checkOrderTime(String userId) {
Query query = new Query(); Query query = new Query();
...@@ -695,7 +774,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -695,7 +774,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName()); KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderTicketVo item : orderTicketVo) { for (KylinOrderTicketVo item : orderTicketVo) {
RLock lock = redisLockUtil.lock("order_lock:" + item.getOrderCode()); RLock lock = redisLockUtil.lock("order_lock:" + item.getOrderCode(),2);
if (lock.isLocked()) { if (lock.isLocked()) {
continue; continue;
} }
......
...@@ -305,4 +305,17 @@ public class DataUtils { ...@@ -305,4 +305,17 @@ public class DataUtils {
public void delCheckUserRelationRedis(String checkUserId) { public void delCheckUserRelationRedis(String checkUserId) {
redisUtil.del(KylinRedisConst.CHECK_USER_RELATION + checkUserId); redisUtil.del(KylinRedisConst.CHECK_USER_RELATION + checkUserId);
} }
/**
* 获取入场须知
* @param enterInfoId
* @return
*/
public String getEnterInfo(String enterInfoId){
if (redisUtil.hasKey(KylinRedisConst.ENTER_INFO + enterInfoId)) {
} else {
return "入场须知";
}
return (String) redisUtil.get(KylinRedisConst.ENTER_INFO + enterInfoId);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment