作者 shenhailong

完善 公开接口的 一些逻辑

... ... @@ -10,7 +10,9 @@ import com.sunyo.energy.location.service.ElectricityMeterService;
import com.sunyo.energy.location.service.WaterMeterService;
import com.sunyo.energy.location.websocket.WebSocketServer;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
... ... @@ -21,7 +23,9 @@ import java.util.Date;
import java.util.UUID;
@Slf4j
@RequestMapping("/payCode")
@Controller
public class PayRseponeController {
... ... @@ -79,6 +83,7 @@ public class PayRseponeController {
@RequestParam(value = "PAYTYPE", required = false) String PAYTYPE,
@RequestParam(value = "SIGN", required = false) String SIGN) throws IOException {
log.info("接受建行返回信息");
PayResponse payResponse = new PayResponse();
payResponse.setId(UUID.randomUUID().toString());
payResponse.setPosid(POSID);
... ... @@ -98,8 +103,10 @@ public class PayRseponeController {
payResponse.setUsrinfo(USRINFO);
payResponse.setPaytype(PAYTYPE);
payResponse.setSign(SIGN);
try {
int msg = 0;
int i = payResponseMapperl.insertSelective(payResponse);
log.info("插入数据库{},信息{}",i, payResponse);
if (i > 0) {
msg = 1;
PayRecords payRecords = new PayRecords();
... ... @@ -119,6 +126,10 @@ public class PayRseponeController {
payRecords.setOrdernumber(ORDERID);
payRecords.setReamke3("0");
}
/**
* 修改订单支付状态
*/
payRecordsMapper.updateOrderStatus(payRecords);
// 查询是水还是电
boolean selectType = payRecordsMapper.selectType(ORDERID);
... ... @@ -129,14 +140,19 @@ public class PayRseponeController {
// 通知充值电费
int eeResult = electricityMeterService.rechargeDevices(eeId, PAYMENT, "0", ORDERID);
if (eeResult > 0) {
// 修改订单状态
log.info("电表信息充值成功{}",eeResult);
/**
* 修改电表充值状态
*/
int i1 = payRecordsMapper.updateByPrimaryKey(payRecords);
log.info("修改电表订单状态{}, 修改信息{}", i1, payRecords);
if (i1 > 0) {
WebSocketServer webSocketServer = new WebSocketServer();
JSONObject jsonObject = new JSONObject();
jsonObject.put("orderNumber", ORDERID);
jsonObject.put("success", "Y");
webSocketServer.broadcast(jsonObject.toJSONString());
log.info("通知前端消息结果");
} else {
WebSocketServer webSocketServer = new WebSocketServer();
JSONObject jsonObject = new JSONObject();
... ... @@ -159,14 +175,20 @@ public class PayRseponeController {
if (!"".equals(wmId)) {
ResultJson resultJson = waterMeterService.payWater(PAYMENT, wmId);
if ("200".equals(resultJson.getCode())) {
// 修改订单状态
log.info("水表信息充值成功{}",resultJson.getCode());
/**
* 修改订单充值状态
*/
int i1 = payRecordsMapper.updateByPrimaryKey(payRecords);
log.info("修改水表订单状态{}, 修改信息{}", i1, payRecords);
if (i1 > 0) {
WebSocketServer webSocketServer = new WebSocketServer();
JSONObject jsonObject = new JSONObject();
jsonObject.put("orderNumber", ORDERID);
jsonObject.put("success", "Y");
webSocketServer.broadcast(jsonObject.toJSONString());
log.info("通知前端消息结果");
} else {
WebSocketServer webSocketServer = new WebSocketServer();
JSONObject jsonObject = new JSONObject();
... ... @@ -186,6 +208,11 @@ public class PayRseponeController {
}
return i == 1 ? new ResultJson("200", "支付回执信息接受成功") : new ResultJson("500", "支付回执信息接受失败");
}catch (Exception e){
e.printStackTrace();
log.info("系统异常-----------");
return null;
}
}
}
... ...
... ... @@ -18,6 +18,8 @@ public interface PayRecordsMapper {
int updateByPrimaryKey(PayRecords record);
int updateOrderStatus(PayRecords record);
List<PayRecords> findAll(@Param(value = "orderNumber") String orderNumber,
@Param(value = "startTime") String startTime,
@Param(value = "endTime") String endTime,
... ...
... ... @@ -217,9 +217,8 @@ public class WaterMeterServiceImp implements WaterMeterService {
// 充值最后立方水数值
String s = AllUtils.nubmerDivision(payFees);
// 查询累计充值量
String oneWmSacc = waterMeterMapper.findOneWmSacc(wmId);
String allSacc = AllUtils.nubmerAdd(s, oneWmSacc);
WaterMeter realTime = findRealTime(wmId);
String allSacc = AllUtils.nubmerAdd(s, realTime.getWmSacc());
Map<String, Object> datas = new HashMap<>();
datas.put("MtId", wmId);
datas.put("Add_sacc", allSacc);
... ...
... ... @@ -260,10 +260,17 @@
<update id="updateByPrimaryKey" parameterType="com.sunyo.energy.location.model.PayRecords">
update pay_records
set
payStatus = 1,
reamke3 = #{reamke3,jdbcType=VARCHAR},
payFessType = #{payfesstype,jdbcType=BIT}
where orderNumber = #{ordernumber,jdbcType=VARCHAR}
</update>
<update id="updateOrderStatus" parameterType="com.sunyo.energy.location.model.PayRecords">
update pay_records
set
payStatus = 1
where orderNumber = #{ordernumber,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
... ...