lidongdong
2023-03-20 998379e6b0e234ab42a06cfe7b79c450d9d1bba1
修改银联退款接口
7个文件已添加
3个文件已修改
244 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/unionpay/UnifiedOrder.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/wx/UnionpayCarWash.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/UnionpayCarWashApi.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/UnionpayCarWashDao.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/UnionpayCarWash.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/UnionpayCarWashService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/UnionpayCarWashServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/unionpay_car_wash.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WxCallbackApi.java
@@ -12,6 +12,8 @@
import com.panzhihua.applets.umf.MyAESUtil;
import com.panzhihua.applets.umf.UmfPayUtil;
import com.panzhihua.applets.unionpay.Refund;
import com.panzhihua.common.model.dtos.wx.UnionpayCarWash;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.DateUtils;
@@ -126,6 +128,7 @@
            e.printStackTrace();
        }
    }
    @GetMapping("wxNotifyAll")
    public void payCallbackAll(HttpServletRequest request, HttpServletResponse response) {
        //获取联动发送请求的参数
@@ -166,14 +169,76 @@
        out.flush();
        out.close();
    }
    /**
     * 银联支付回调专用  银联方面只能是有个post
     * @param request
     * @param response
     */
    @PostMapping("wxNotifyAllUnionpay")
    public void payCallbackAllUnionpay(HttpServletRequest request, HttpServletResponse response) {
        //获取联动发送请求的参数
        String requestParam =  request.getQueryString();
        log.error("花城洗车请求参数 :" + requestParam);
        System.out.println("花城洗车请求参数 :" + requestParam);
        //调用异步通知解析方法
        UmfService service = new UmfServiceImpl("53461",file);
        Map respMap = null;
        try {
            respMap = service.notifyDataParserMap(requestParam);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if(respMap.get("error_code").equals("0000")){
            //调用uu洗车支付成功回调
            Map map=new HashMap();
            map.put("orderId",respMap.get("order_id"));
            HttpClientUtil.sendPostByJson("https://uu-api.imashuo.com/notify/wx/pzh-pay",JSONObject.toJSONString(map),
                    1,"appid","10000");
            log.error("花城洗车回调成功 :" + respMap.get("order_id"));
        }
        //调用SDK生成返回联动平台字符串,加到CONTENT中
        String resMetaData = service.responseUMFMap(respMap);
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = null;
        try {
            out = response.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
        out.println("<HTML>");
        out.println("<HEAD><META NAME=\"MobilePayPlatform\" CONTENT=\"" + resMetaData + "\" /></HEAD>");
        out.println("<BODY>");
        out.println("</BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }
    @ApiOperation("uu洗车退款接口")
    @PostMapping("/uuRepay")
    public R uuRepay(@RequestBody String aesString){
    public R uuRepay(@RequestBody String aesString)
    {
        try {
            Map<String, String> aesMap= (Map<String, String>) JSON.parse(aesString);
            String desString=MyAESUtil.Decrypt(aesMap.get("aesString"),"Ryo7M3n8loC5Abcd");
            Map<String,String> desMap= (Map) JSON.parse(desString);
            Map map=umfPayUtil.repay(desMap.get("orderId"),desMap.get("merdate"), DateUtils.getDateFormatString(new Date(),"yyMMddHHmmss")+"0001",desMap.get("refundAmount"),desMap.get("orgAmount"));
            Map map=umfPayUtil.repay(desMap.get("orderId"),desMap.get("merdate"), DateUtils.getDateFormatString(new Date(),
                    "yyMMddHHmmss")+"0001",desMap.get("refundAmount"),desMap.get("orgAmount"));
            if(desMap.get("orderId")!=null)
            {
                R r=communityService.queryById(desMap.get("orderId"));
                UnionpayCarWash wash=(UnionpayCarWash)r.getData();
                if(wash!=null)
                {
                    String re=Refund.sendOrder(wash.getMoney(),wash.getUnionpayOrderId());
                    map.put("unionpay","退款成功");
                }
            }
            return R.ok(map);
        } catch (Exception e) {
            e.printStackTrace();
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/unionpay/UnifiedOrder.java
@@ -42,8 +42,6 @@
@Component
public class UnifiedOrder {
    @Value("${umf.notify_url}")
    static String NOTIFYURL;
//    static String url = "https://test-api-open.chinaums.com/v1/netpay/wx/unified-order";
    static String url = "https://api-mop.chinaums.com/v1/netpay/wx/unified-order";
@@ -62,7 +60,7 @@
        reqBody.secureTransaction = "false";
        reqBody.orderDesc = orderDesc;
        reqBody.productId = productId;
        reqBody.notifyUrl = "https://huacheng.psciio.com/api/huacheng-applets/wx/wxNotifyAll";
        reqBody.notifyUrl = "https://huacheng.psciio.com/api/huacheng-applets/wx/wxNotifyAllUnionpay";
        reqBody.tradeType = "MINI";
        reqBody.subOpenId = OpenId;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/wx/UnionpayCarWash.java
New file
@@ -0,0 +1,26 @@
package com.panzhihua.common.model.dtos.wx;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("银联支付和洗车订单关联表")
public class UnionpayCarWash
{
    @ApiModelProperty(value = "主键")
    private String id;
    @ApiModelProperty(value = "洗车id")
    private String carWashId;
    @ApiModelProperty(value = "银联id")
    private String unionpayOrderId;
    @ApiModelProperty(value = "交易金额")
    private String money;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -11215,4 +11215,16 @@
    @GetMapping("/pudaScreen/specialPeople")
    R specialPeople();
    /**
     * 通过洗车订单查询银联订单
     *
     * @param Id
     * @return
     */
    @GetMapping("/unionpay/detail")
    R queryById(@RequestParam("Id") String id);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/UnionpayCarWashApi.java
New file
@@ -0,0 +1,29 @@
package com.panzhihua.service_community.api;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.service.UnionpayCarWashService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Slf4j
@RestController
@RequestMapping("/unionpay")
public class UnionpayCarWashApi
{
    @Resource
    private UnionpayCarWashService unionpayCarWashService;
    @GetMapping("/detail")
    public R queryById(@RequestParam("Id") String id) {
        return R.ok(unionpayCarWashService.queryById(id));
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/UnionpayCarWashDao.java
New file
@@ -0,0 +1,14 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_community.entity.UnionpayCarWash;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface UnionpayCarWashDao extends BaseMapper<UnionpayCarWash>
{
    UnionpayCarWash queryById(@Param("carWashId") String carWashId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/UnionpayCarWash.java
New file
@@ -0,0 +1,26 @@
package com.panzhihua.service_community.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("银联支付和洗车订单关联表")
public class UnionpayCarWash
{
    @ApiModelProperty(value = "主键")
    private String id;
    @ApiModelProperty(value = "洗车id")
    private String carWashId;
    @ApiModelProperty(value = "银联id")
    private String unionpayOrderId;
    @ApiModelProperty(value = "交易金额")
    private String money;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/UnionpayCarWashService.java
New file
@@ -0,0 +1,8 @@
package com.panzhihua.service_community.service;
import com.panzhihua.service_community.entity.UnionpayCarWash;
public interface UnionpayCarWashService
{
    UnionpayCarWash queryById(String carWashId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/UnionpayCarWashServiceImpl.java
New file
@@ -0,0 +1,32 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.service_community.dao.AutomessageSysUserDao;
import com.panzhihua.service_community.dao.UnionpayCarWashDao;
import com.panzhihua.service_community.entity.AutomessageSysUser;
import com.panzhihua.service_community.entity.UnionpayCarWash;
import com.panzhihua.service_community.service.AutomessageSysUserService;
import com.panzhihua.service_community.service.UnionpayCarWashService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * @ClassName: UnionpayCarWashServiceImpl
 * @Author: yh
 * @Date: 2022/10/21 9:39
 * @Description:
 */
@Slf4j
@Service
public class UnionpayCarWashServiceImpl extends ServiceImpl<UnionpayCarWashDao, UnionpayCarWash>
        implements UnionpayCarWashService
{
    @Override
    public UnionpayCarWash queryById(String carWashId) {
        return baseMapper.queryById(carWashId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/unionpay_car_wash.xml
New file
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.panzhihua.service_community.dao.UnionpayCarWashDao">
    <resultMap type="com.panzhihua.service_community.entity.UnionpayCarWash" id="UnionpayCarWashMap">
        <result property="id" column="id"/>
        <result property="carWashId" column="car_wash_id"/>
        <result property="unionpayOrderId" column="unionpay_order_id"/>
        <result property="money" column="money"/>
    </resultMap>
    <!--查询单个-->
    <select id="queryById" resultMap="UnionpayCarWashMap">
        select
            id,
            car_wash_id,
            unionpay_order_id,
            money
        from unionpay_car_wash
        where car_wash_id = #{carWashId}
    </select>
</mapper>