From d0c8bb3267a8a666b9a7ad1ae406c88b2fceff58 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期四, 08 六月 2023 10:16:11 +0800
Subject: [PATCH] 修改
---
src/main/java/com/boying/controller/phone/TicketController.java | 16 ++
src/main/java/com/boying/service/impl/NowPayOrderServiceImpl.java | 41 ++++++
src/main/java/com/boying/job/PayResult2Scheduled.java | 88 ++++++++++++++
src/main/java/com/boying/job/PayResultScheduled.java | 2
src/main/java/com/boying/mapper/NowPayOrderMapper.java | 18 +++
src/main/java/com/boying/controller/phone/PayController.java | 106 +++++++++++++++-
src/main/java/com/boying/entity/NowPayOrder.java | 38 ++++++
src/main/java/com/boying/service/NowPayOrderService.java | 16 ++
8 files changed, 311 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/boying/controller/phone/PayController.java b/src/main/java/com/boying/controller/phone/PayController.java
index 5480726..e696599 100644
--- a/src/main/java/com/boying/controller/phone/PayController.java
+++ b/src/main/java/com/boying/controller/phone/PayController.java
@@ -42,7 +42,7 @@
* @createTime 2022骞�11鏈�22鏃� 15:19:00
*/
@RestController
-@RequestMapping("ffPay")
+@RequestMapping("ffzf/ffPay")
@RequiredArgsConstructor
public class PayController extends BaseController {
@@ -167,7 +167,7 @@
@PostMapping("result")
public String result(HttpServletRequest request, String payKey, String payerTypeCode, String payerNum, String payCode, Double amt, String status, String errorInfo, String sign, String signType) throws Exception{
try {
- updateOrderRecord(payCode,status);
+ // updateOrderRecord(payCode,status);
}catch (Exception e){
e.printStackTrace();
}
@@ -381,6 +381,92 @@
}
+ /**
+ * 缂存涔�
+ */
+ @PostMapping("zhifa")
+ public Object zhifa(Long id){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
+ String logs = sdf.format(new Date())+"寮�濮嬫壂鐮佺即璐�------銆媆n";
+ logs += "缃氬崟琛╥d涓猴細"+id+",\n";
+ Ticket ticket = ticketService.getById(id);
+ if(ticket.getMoney()==0){
+ updateTicket(ticket.getId(),"03");
+ logs += "鏀粯閲戦涓�0,\n";
+ writeTxt(logs);
+ return R.failed("鏈綒鍗曟棤闇�鏀粯璐圭敤");
+ }
+ if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getStatus() == 0){
+ return R.ok("鐢熸垚鐢靛瓙缃氬崟缂存鐮�", "https://hbfs.govpay.ccb.com/online/fssm?fee=130000000001&PyfScnCgycd=01&pyfTpcd=3&BNo="+ticket.getPayCode());
+ }else if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getStatus() == 1){
+ return R.failed("宸茬即璐�");
+ }
+ if(StringUtils.isBlank(ticket.getPayCode())){
+ return R.ok("鐢熸垚鐢靛瓙缃氬崟缂存鐮�", getPayUrl2(ticket));
+ }else {
+ return R.failed("鍑洪敊");
+ }
+
+ }
+
+ /**
+ * 鑾峰彇缂存鐮�
+ * @param ticket
+ * @return
+ */
+ public String getPayUrl2(Ticket ticket){
+ String urlIP = systemConfigProperties.getIp4();
+ String applyetcketnum = systemConfigProperties.getAPPLYETCKETNUM();
+ //鐢宠缂存涔�,鍞竴鐮佷负鍑哄満id+鏃堕棿鎴�
+ String idStr = ticket.getId()+"";
+ String dateStr = DateUtil.currentSeconds()+"";
+ String l = idStr + dateStr;
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
+ String format = sdf2.format(new Date());
+ List< ApplyTicket.detail> details = new ArrayList<>();
+ ApplyTicket.detail detail = new ApplyTicket.detail();
+ detail.setItemstandardtype("");
+ detail.setAmount(1);
+ detail.setAmt(ticket.getMoney());
+ detail.setIncitemcode("050114");
+ detail.setMeasureunit("");
+ details.add(detail);
+
+ ApplyTicket applyTicket = new ApplyTicket();
+ applyTicket.setBusinum(l);
+ applyTicket.setFilldate(format);
+ applyTicket.setPayer(ticket.getCarNo());
+ applyTicket.setPayeraccount("");
+ applyTicket.setPayerbank("");
+ applyTicket.setPayerphonenumber("18888888888");
+ applyTicket.setPayee("娌冲寳鐪佽储鏀垮巺");
+ applyTicket.setAmt(ticket.getMoney());
+ applyTicket.setMemo("");
+ applyTicket.setOverdate("");
+ applyTicket.setState(1);
+ applyTicket.setDetails(details);
+ String jsonStr = JSON.toJSONString(applyTicket, SerializerFeature.WriteDateUseDateFormat);
+ Map<String, Object> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Object>>() {});
+ RestTemplate restTemplate = new RestTemplate();
+ ResponseEntity<ReturnData> entity = restTemplate.postForEntity(urlIP+applyetcketnum, HTTPEntityUtil.setEntity(map), ReturnData.class);
+ if(entity.getBody().getCode() == 1){
+ System.out.println("鏀粯鐢宠缂存鐮佽繑鍥炰负锛�"+entity.getBody());
+ Object o = entity.getBody().getData().get(0);
+ String s = JSON.toJSONString(o);
+ Map<String,Object> map1 = (Map)JSON.parse(s);
+ String payurl = (String)map1.get("payurl");
+ String eticketnum = (String)map1.get("eticketnum");
+ ticket.setPayCode(eticketnum);
+ ticket.setCode2(l);
+ ticketService.saveOrUpdate(ticket);
+ addOrderRecord2(ticket);
+ return payurl+eticketnum;
+ }else {
+ return null;
+ }
+ }
+
+
@@ -392,24 +478,23 @@
*/
+
//鏇存柊璁㈠崟璁板綍
- public void updateOrderRecord(String payCode,String status){
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH_mm_ss");
- String s = sdf.format(new Date())+"鏇存柊璁㈠崟璁板綍锛歱ayCode===="+payCode+",status==="+status+",\n";
+ public void updateOrderRecord(Integer queryId,String status){
QueryWrapper<OrderRecord> wrapper = new QueryWrapper<>();
wrapper.lambda()
- .eq(OrderRecord::getPayCode,payCode)
+ .eq(OrderRecord::getQueryId,queryId)
.orderByDesc(OrderRecord::getCreateTime);
List<OrderRecord> all = orderRecordService.list(wrapper);
- s += "鏌ヨ鍒拌鍗曡褰曚负锛�"+all.size()+"鏉★紝\n";
if(all.size()>=1){
OrderRecord orderRecord = all.get(0);
- s += "鏌ヨ鍒拌鍗曚负锛�"+orderRecord.getId()+"锛孿n";
if(status.equals("01")){
orderRecord.setStatus(0);
}
if(status.equals("03")){
orderRecord.setStatus(1);
+ //娴嬭瘯鐜锛屾殏鏃舵妸寮�绁ㄨ缃负2
+ orderRecord.setTicketStatus(2);
}
if(status.equals("04")||status.equals("05")||status.equals("06")){
orderRecord.setStatus(2);
@@ -418,12 +503,9 @@
if(orderRecord.getType()==0){
updateTicket(orderRecord.getQueryId(),status);
}else{
- s += "淇敼鍑哄満琛細"+orderRecord.getQueryId()+"锛宻tatus==="+status+",\n";
- writeTxt(s);
updateOutPark(orderRecord.getQueryId(),status);
}
}
- writeTxt(s);
}
//鏇存柊缃氬崟鐨勭姸鎬�
@@ -510,9 +592,11 @@
orderRecord.setAddress(ticket.getAddress());
orderRecord.setCarNo(ticket.getCarNo());
orderRecord.setCode(ticket.getCode());
+ orderRecord.setCode2(ticket.getCode2());
orderRecord.setMoney(ticket.getMoney());
orderRecord.setQueryId(ticket.getId());
orderRecord.setType(0);
+ orderRecord.setTicketStatus(2);
orderRecord.setPayCode(ticket.getPayCode());
orderRecordService.saveOrUpdate(orderRecord);
}
diff --git a/src/main/java/com/boying/controller/phone/TicketController.java b/src/main/java/com/boying/controller/phone/TicketController.java
index b05ef68..c8528b3 100644
--- a/src/main/java/com/boying/controller/phone/TicketController.java
+++ b/src/main/java/com/boying/controller/phone/TicketController.java
@@ -50,6 +50,8 @@
private final StreetLogoService streetLogoService;
+ private final NowPayOrderService nowPayOrderService;
+
//鍥剧墖鍥炴樉
@RequestMapping(value = "/showImg", method = RequestMethod.GET)
public void getAwardAsByteArray(HttpServletResponse response, HttpServletRequest request) throws IOException {
@@ -325,7 +327,17 @@
@PostMapping("/jiaofei" )
public R jiaofei(Integer id) {
Ticket byId = ticketService.getById(id);
- byId.setContent(violationTypeService.getById(byId.getViolationTypeId()).getContent());
- return R.ok(byId);
+ if(byId.getPayStatus() == 1){
+ return R.failed("姝ょ綒鍗曞凡鏀粯");
+ }else if(byId.getMoney() == 0){
+ return R.failed("姝ょ綒鍗曟棤闇�缂磋垂");
+ }else {
+ NowPayOrder nowPayOrder = new NowPayOrder();
+ nowPayOrder.setQueryId(byId.getId());
+ nowPayOrder.setType(0);
+ nowPayOrder.setCarNo(byId.getCarNo());
+ nowPayOrderService.saveOrder(nowPayOrder);
+ return R.ok("璇锋壂鐮佺即璐�");
+ }
}
}
diff --git a/src/main/java/com/boying/entity/NowPayOrder.java b/src/main/java/com/boying/entity/NowPayOrder.java
new file mode 100644
index 0000000..007b305
--- /dev/null
+++ b/src/main/java/com/boying/entity/NowPayOrder.java
@@ -0,0 +1,38 @@
+package com.boying.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.boying.common.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName NowPayOrder.java
+ * @Description TODO
+ * @createTime 2023骞�06鏈�07鏃� 16:46:00
+ */
+@Data
+@TableName("now_pay_order")
+@javax.persistence.Table(name = "now_pay_order")
+@Entity
+@org.hibernate.annotations.Table(appliesTo = "now_pay_order", comment = "鐜板満璁㈠崟鏀粯琛�")
+@ApiModel(value = "鐜板満璁㈠崟鏀粯琛�")
+public class NowPayOrder extends BaseEntity<NowPayOrder> {
+
+ @ApiModelProperty(value = "0锛氭墽娉� 1锛氬仠杞� 2锛氶粦鍚嶅崟")
+ @Column(columnDefinition = "int comment '0锛氭墽娉� 1锛氬仠杞� 2锛氶粦鍚嶅崟'")
+ private int type;
+
+ @ApiModelProperty(value = "鍑哄仠杞﹀満id鎴栫綒鍗昳d")
+ @Column(columnDefinition = "int comment '鍑哄仠杞﹀満id鎴栫綒鍗昳d'")
+ private Integer queryId;
+
+ @ApiModelProperty(value = "杞︾墝鍙�")
+ @Column(columnDefinition = "varchar(50) comment '杞︾墝鍙�'")
+ private String carNo;
+}
diff --git a/src/main/java/com/boying/job/PayResult2Scheduled.java b/src/main/java/com/boying/job/PayResult2Scheduled.java
new file mode 100644
index 0000000..aa6814e
--- /dev/null
+++ b/src/main/java/com/boying/job/PayResult2Scheduled.java
@@ -0,0 +1,88 @@
+package com.boying.job;
+
+import cn.hutool.core.thread.ThreadUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.boying.common.ReturnData;
+import com.boying.common.SystemConfigProperties;
+import com.boying.controller.phone.PayController;
+import com.boying.entity.Barrier;
+import com.boying.entity.OutPark;
+import com.boying.entity.Ticket;
+import com.boying.service.BarrierService;
+import com.boying.service.OutParkService;
+import com.boying.service.TicketService;
+import com.boying.util.HTTPEntityUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Component
+public class PayResult2Scheduled {
+
+
+ @Autowired
+ private TicketService ticketService;
+ @Autowired
+ private SystemConfigProperties systemConfigProperties;
+ @Autowired
+ private PayController payController;
+
+ Boolean taskFlag = false;
+
+ //@Scheduled(cron = "0/2 * * * * ?")
+ public void execute() throws Exception {
+ if(taskFlag == true){
+ System.out.println("姝e湪杩愯锛屽己鍒堕��鍑�-------銆�");
+ return;
+ }
+ taskFlag = true;
+ QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(Ticket::getStatus,0)
+ .ne(Ticket::getMoney,0)
+ .isNotNull(Ticket::getPayCode)
+ .orderByDesc(Ticket::getCreateTime);
+ List<Ticket> list = ticketService.list(wrapper);
+ if(list.size()>0){
+ for (Ticket ticket : list) {
+ doPay(ticket);
+ }
+ }
+ taskFlag = false;
+ }
+
+ public void doPay(Ticket ticket){
+ ThreadUtil.execute(() -> {
+ //鏌ヨ缂存鐮佽褰曟洿鏂�
+ Map<String,Object> map1 = new HashMap<>();
+ map1.put("eticketnum",ticket.getPayCode());
+ String urlRoad = systemConfigProperties.getETICKET();
+ String urlIp = systemConfigProperties.getIp4();
+ RestTemplate restTemplate = new RestTemplate();
+ ResponseEntity<ReturnData> entity = restTemplate.postForEntity(urlIp+urlRoad, HTTPEntityUtil.setEntity(map1), ReturnData.class);
+ log.info("鏌ヨ鏄惁鏀粯鎴愬姛杩斿洖涓猴細"+entity.getBody());
+ System.out.println("鏌ヨ鏄惁鏀粯鎴愬姛杩斿洖涓猴細"+entity.getBody());
+ if(entity.getBody().getCode() == 1){
+ //鏇存柊璁㈠崟
+ payController.updateOrderRecord(ticket.getId(),"03");
+ }
+
+ });
+ }
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 10; i++) {
+ String s= i+"";
+ ThreadUtil.execute(() -> {
+ // System.out.println(s);
+ });
+ }
+ }
+}
diff --git a/src/main/java/com/boying/job/PayResultScheduled.java b/src/main/java/com/boying/job/PayResultScheduled.java
index 44eab42..e6523f8 100644
--- a/src/main/java/com/boying/job/PayResultScheduled.java
+++ b/src/main/java/com/boying/job/PayResultScheduled.java
@@ -82,7 +82,7 @@
System.out.println("鏌ヨ鏄惁鏀粯鎴愬姛杩斿洖涓猴細"+entity.getBody());
if(entity.getBody().getCode() == 1){
//鏇存柊璁㈠崟
- payController.updateOrderRecord(outPark.getPayCode(),"03");
+ // payController.updateOrderRecord(outPark.getPayCode(),"03");
}
});
diff --git a/src/main/java/com/boying/mapper/NowPayOrderMapper.java b/src/main/java/com/boying/mapper/NowPayOrderMapper.java
new file mode 100644
index 0000000..6896dd2
--- /dev/null
+++ b/src/main/java/com/boying/mapper/NowPayOrderMapper.java
@@ -0,0 +1,18 @@
+package com.boying.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.boying.entity.LedShow;
+import com.boying.entity.NowPayOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName NowPayOrderMapper.java
+ * @Description TODO
+ * @createTime 2023骞�06鏈�07鏃� 16:50:00
+ */
+@Mapper
+public interface NowPayOrderMapper extends BaseMapper<NowPayOrder> {
+
+}
diff --git a/src/main/java/com/boying/service/NowPayOrderService.java b/src/main/java/com/boying/service/NowPayOrderService.java
new file mode 100644
index 0000000..3d0bcee
--- /dev/null
+++ b/src/main/java/com/boying/service/NowPayOrderService.java
@@ -0,0 +1,16 @@
+package com.boying.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.boying.entity.NowPayOrder;
+import com.boying.entity.OrderRecord;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName NowPayOrderService.java
+ * @Description TODO
+ * @createTime 2023骞�06鏈�07鏃� 16:51:00
+ */
+public interface NowPayOrderService extends IService<NowPayOrder> {
+ void saveOrder(NowPayOrder nowPayOrder);
+}
diff --git a/src/main/java/com/boying/service/impl/NowPayOrderServiceImpl.java b/src/main/java/com/boying/service/impl/NowPayOrderServiceImpl.java
new file mode 100644
index 0000000..f38ad14
--- /dev/null
+++ b/src/main/java/com/boying/service/impl/NowPayOrderServiceImpl.java
@@ -0,0 +1,41 @@
+package com.boying.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.boying.entity.LedShow;
+import com.boying.entity.NowPayOrder;
+import com.boying.mapper.LedShowMapper;
+import com.boying.mapper.NowPayOrderMapper;
+import com.boying.service.LedShowService;
+import com.boying.service.NowPayOrderService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName NowPayOrderServiceImpl.java
+ * @Description TODO
+ * @createTime 2023骞�06鏈�07鏃� 16:52:00
+ */
+@Service
+@AllArgsConstructor
+public class NowPayOrderServiceImpl extends ServiceImpl<NowPayOrderMapper, NowPayOrder> implements NowPayOrderService {
+
+ @Override
+ public void saveOrder(NowPayOrder nowPayOrder) {
+ QueryWrapper<NowPayOrder> wrapper = new QueryWrapper<>();
+ wrapper.lambda().eq(NowPayOrder::getType,nowPayOrder.getType());
+ List<NowPayOrder> list = list(wrapper);
+ if(list.size()>0){
+ for (NowPayOrder payOrder : list) {
+ removeById(payOrder);
+ }
+ save(nowPayOrder);
+ }else {
+ save(nowPayOrder);
+ }
+ }
+}
--
Gitblit v1.9.1