Merge branch 'dev' of http://139.159.177.244:3000/hurui/hai-server into dev
commit
3340ea1beb
@ -0,0 +1,167 @@ |
|||||||
|
package com.bweb.controller; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON; |
||||||
|
import com.alibaba.fastjson.JSONObject; |
||||||
|
import com.hai.common.exception.ErrorCode; |
||||||
|
import com.hai.common.exception.ErrorHelp; |
||||||
|
import com.hai.common.exception.SysCode; |
||||||
|
import com.hai.common.pay.util.IOUtil; |
||||||
|
import com.hai.common.pay.util.XmlUtil; |
||||||
|
import com.hai.common.utils.*; |
||||||
|
import com.hai.entity.HighDiscount; |
||||||
|
import com.hai.entity.HighTelOrder; |
||||||
|
import com.hai.model.ResponseData; |
||||||
|
import com.hai.service.TelApiService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import org.apache.commons.lang3.StringUtils; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.BufferedOutputStream; |
||||||
|
import java.math.BigDecimal; |
||||||
|
import java.text.SimpleDateFormat; |
||||||
|
import java.util.Date; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.SortedMap; |
||||||
|
import java.util.regex.Pattern; |
||||||
|
|
||||||
|
@RestController |
||||||
|
@RequestMapping(value = "/telApi") |
||||||
|
@Api(value = "电话费充值数据接口") |
||||||
|
public class TelApiController { |
||||||
|
private static Logger log = LoggerFactory.getLogger(TelApiController.class); |
||||||
|
|
||||||
|
@Resource |
||||||
|
private TelApiService telApiService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173,199 |
||||||
|
**/ |
||||||
|
private static final String CHINA_TELECOM_PATTERN = "(^1(33|53|77|73|99|8[019])\\d{8}$)|(^1700\\d{7}$)"; |
||||||
|
|
||||||
|
/** |
||||||
|
* 中国联通号码格式验证 手机段:130,131,132,155,156,185,186,145,176,1709 |
||||||
|
**/ |
||||||
|
private static final String CHINA_UNICOM_PATTERN = "(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\\d{8}$)|(^1709\\d{7}$)"; |
||||||
|
|
||||||
|
/** |
||||||
|
* 中国移动号码格式验证 |
||||||
|
* 手机段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705 |
||||||
|
**/ |
||||||
|
private static final String CHINA_MOBILE_PATTERN = "(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(^1705\\d{7}$)"; |
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = "/telPay", method = RequestMethod.POST) |
||||||
|
@ResponseBody |
||||||
|
@ApiOperation(value = "充值话费") |
||||||
|
public ResponseData certification(@RequestBody HighTelOrder highTelOrder) { |
||||||
|
try { |
||||||
|
|
||||||
|
if (StringUtils.isBlank(highTelOrder.getTel()) || |
||||||
|
highTelOrder.getPrice() == null |
||||||
|
) { |
||||||
|
log.error("telApi -> telPay() error!", "参数错误"); |
||||||
|
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||||
|
} |
||||||
|
|
||||||
|
int random = (int) (1 + Math.random() * (999999 - 100000 + 1)); |
||||||
|
|
||||||
|
Map<String, Object> map = new HashMap<>(); |
||||||
|
|
||||||
|
String mchid = "HFb44f8_10004"; |
||||||
|
String tel = highTelOrder.getTel(); |
||||||
|
String orderid = "HF" + DateUtil.date2String(new Date(), "yyyyMMddHHmmss") + IDGenerator.nextId(5); |
||||||
|
BigDecimal price = BigDecimal.valueOf(highTelOrder.getPrice()); |
||||||
|
String teltype = isChinaMobilePhoneNum(highTelOrder.getTel()).toString(); |
||||||
|
int timeout = 300; |
||||||
|
String notify = "notify"; |
||||||
|
String time = String.valueOf(new Date().getTime()); |
||||||
|
String APIKEY = "483e5a68fe9bda2f7ab3f2665a0006cd"; |
||||||
|
String sign = mchid + tel + price + orderid + teltype + notify + time + random + APIKEY; |
||||||
|
|
||||||
|
String param = "mchid=" + mchid + |
||||||
|
"&tel=" + tel + |
||||||
|
"&orderid=" + orderid + |
||||||
|
"&price=" + price + |
||||||
|
"&teltype=" + teltype + |
||||||
|
"¬ify=" + notify + |
||||||
|
"&time=" + time + |
||||||
|
"&rand=" + random + |
||||||
|
"&sign=" + MD5Util.encode(sign.getBytes()); |
||||||
|
map.put("from", param); |
||||||
|
|
||||||
|
JSONObject object = HttpsUtils.doSmsPost("http://45.130.154.125:9998/api/telpay", map, new HashMap<>()); |
||||||
|
return ResponseMsgUtil.success(object); |
||||||
|
} catch (Exception e) { |
||||||
|
log.error("HighMerchantController -> insertMerchant() error!", e); |
||||||
|
return ResponseMsgUtil.exception(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@RequestMapping(value = "/notify", method = RequestMethod.POST) |
||||||
|
@ApiOperation(value = "话费充值 -> 异步回调") |
||||||
|
public void wechatNotify(HttpServletRequest request, HttpServletResponse response) { |
||||||
|
try { |
||||||
|
|
||||||
|
log.info("话费充值 -> 异步通知:处理开始"); |
||||||
|
|
||||||
|
String notifyXml = null; // 话费充值系统发送的数据(<![CDATA[product_001]]>格式)
|
||||||
|
notifyXml = IOUtil.inputStreamToString(request.getInputStream(), "UTF-8"); |
||||||
|
|
||||||
|
log.info("话费充值系统发送的数据:" + notifyXml); |
||||||
|
SortedMap<String, String> map = XmlUtil.parseXmlToTreeMap(notifyXml, "UTF-8"); |
||||||
|
|
||||||
|
// resXml = notifyService.wechatNotify(map);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
|
||||||
|
// out.write(resXml.getBytes());
|
||||||
|
// out.flush();
|
||||||
|
// out.close();
|
||||||
|
log.info("话费充值 -> 异步通知:处理完成"); |
||||||
|
} catch (Exception e) { |
||||||
|
log.error("WechatPayController --> wechatNotify() error!", e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 查询电话属于哪个运营商 |
||||||
|
* |
||||||
|
* @param tel 手机号码 |
||||||
|
* @return 0:不属于任何一个运营商,0:移动,1:联通,2:电信 99: 什么都不是 |
||||||
|
*/ |
||||||
|
public Integer isChinaMobilePhoneNum(String tel) { |
||||||
|
boolean b1 = tel != null && !tel.trim().equals("") && match(CHINA_MOBILE_PATTERN, tel); |
||||||
|
if (b1) { |
||||||
|
return 0; |
||||||
|
} |
||||||
|
b1 = tel != null && !tel.trim().equals("") && match(CHINA_UNICOM_PATTERN, tel); |
||||||
|
if (b1) { |
||||||
|
return 1; |
||||||
|
} |
||||||
|
b1 = tel != null && !tel.trim().equals("") && match(CHINA_TELECOM_PATTERN, tel); |
||||||
|
if (b1) { |
||||||
|
return 2; |
||||||
|
} |
||||||
|
return 99; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 匹配函数 |
||||||
|
* |
||||||
|
* @param regex |
||||||
|
* @param tel |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
private static boolean match(String regex, String tel) { |
||||||
|
return Pattern.matches(regex, tel); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,128 @@ |
|||||||
|
package com.hai.dao; |
||||||
|
|
||||||
|
import com.hai.entity.HighTelOrder; |
||||||
|
import com.hai.entity.HighTelOrderExample; |
||||||
|
import java.util.List; |
||||||
|
import org.apache.ibatis.annotations.Delete; |
||||||
|
import org.apache.ibatis.annotations.DeleteProvider; |
||||||
|
import org.apache.ibatis.annotations.Insert; |
||||||
|
import org.apache.ibatis.annotations.InsertProvider; |
||||||
|
import org.apache.ibatis.annotations.Options; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
import org.apache.ibatis.annotations.Result; |
||||||
|
import org.apache.ibatis.annotations.Results; |
||||||
|
import org.apache.ibatis.annotations.Select; |
||||||
|
import org.apache.ibatis.annotations.SelectProvider; |
||||||
|
import org.apache.ibatis.annotations.Update; |
||||||
|
import org.apache.ibatis.annotations.UpdateProvider; |
||||||
|
import org.apache.ibatis.type.JdbcType; |
||||||
|
import org.springframework.stereotype.Repository; |
||||||
|
|
||||||
|
/** |
||||||
|
* |
||||||
|
* 代码由工具生成,请勿修改!!! |
||||||
|
* 如果需要扩展请在其父类进行扩展 |
||||||
|
* |
||||||
|
**/ |
||||||
|
@Repository |
||||||
|
public interface HighTelOrderMapper extends HighTelOrderMapperExt { |
||||||
|
@SelectProvider(type=HighTelOrderSqlProvider.class, method="countByExample") |
||||||
|
long countByExample(HighTelOrderExample example); |
||||||
|
|
||||||
|
@DeleteProvider(type=HighTelOrderSqlProvider.class, method="deleteByExample") |
||||||
|
int deleteByExample(HighTelOrderExample example); |
||||||
|
|
||||||
|
@Delete({ |
||||||
|
"delete from high_tel_order", |
||||||
|
"where id = #{id,jdbcType=INTEGER}" |
||||||
|
}) |
||||||
|
int deleteByPrimaryKey(Integer id); |
||||||
|
|
||||||
|
@Insert({ |
||||||
|
"insert into high_tel_order (order_id, out_order_id, ", |
||||||
|
"mchid, tel, price, ", |
||||||
|
"`status`, pay_time, ", |
||||||
|
"create_time, update_time, ", |
||||||
|
"ext_1, ext_2, ext_3)", |
||||||
|
"values (#{orderId,jdbcType=VARCHAR}, #{outOrderId,jdbcType=VARCHAR}, ", |
||||||
|
"#{mchid,jdbcType=VARCHAR}, #{tel,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, ", |
||||||
|
"#{status,jdbcType=INTEGER}, #{payTime,jdbcType=TIMESTAMP}, ", |
||||||
|
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ", |
||||||
|
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" |
||||||
|
}) |
||||||
|
@Options(useGeneratedKeys=true,keyProperty="id") |
||||||
|
int insert(HighTelOrder record); |
||||||
|
|
||||||
|
@InsertProvider(type=HighTelOrderSqlProvider.class, method="insertSelective") |
||||||
|
@Options(useGeneratedKeys=true,keyProperty="id") |
||||||
|
int insertSelective(HighTelOrder record); |
||||||
|
|
||||||
|
@SelectProvider(type=HighTelOrderSqlProvider.class, method="selectByExample") |
||||||
|
@Results({ |
||||||
|
@Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true), |
||||||
|
@Result(column="order_id", property="orderId", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="out_order_id", property="outOrderId", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="mchid", property="mchid", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="tel", property="tel", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="price", property="price", jdbcType=JdbcType.DECIMAL), |
||||||
|
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||||
|
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) |
||||||
|
}) |
||||||
|
List<HighTelOrder> selectByExample(HighTelOrderExample example); |
||||||
|
|
||||||
|
@Select({ |
||||||
|
"select", |
||||||
|
"id, order_id, out_order_id, mchid, tel, price, `status`, pay_time, create_time, ", |
||||||
|
"update_time, ext_1, ext_2, ext_3", |
||||||
|
"from high_tel_order", |
||||||
|
"where id = #{id,jdbcType=INTEGER}" |
||||||
|
}) |
||||||
|
@Results({ |
||||||
|
@Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true), |
||||||
|
@Result(column="order_id", property="orderId", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="out_order_id", property="outOrderId", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="mchid", property="mchid", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="tel", property="tel", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="price", property="price", jdbcType=JdbcType.DECIMAL), |
||||||
|
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||||
|
@Result(column="pay_time", property="payTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), |
||||||
|
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), |
||||||
|
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) |
||||||
|
}) |
||||||
|
HighTelOrder selectByPrimaryKey(Integer id); |
||||||
|
|
||||||
|
@UpdateProvider(type=HighTelOrderSqlProvider.class, method="updateByExampleSelective") |
||||||
|
int updateByExampleSelective(@Param("record") HighTelOrder record, @Param("example") HighTelOrderExample example); |
||||||
|
|
||||||
|
@UpdateProvider(type=HighTelOrderSqlProvider.class, method="updateByExample") |
||||||
|
int updateByExample(@Param("record") HighTelOrder record, @Param("example") HighTelOrderExample example); |
||||||
|
|
||||||
|
@UpdateProvider(type=HighTelOrderSqlProvider.class, method="updateByPrimaryKeySelective") |
||||||
|
int updateByPrimaryKeySelective(HighTelOrder record); |
||||||
|
|
||||||
|
@Update({ |
||||||
|
"update high_tel_order", |
||||||
|
"set order_id = #{orderId,jdbcType=VARCHAR},", |
||||||
|
"out_order_id = #{outOrderId,jdbcType=VARCHAR},", |
||||||
|
"mchid = #{mchid,jdbcType=VARCHAR},", |
||||||
|
"tel = #{tel,jdbcType=VARCHAR},", |
||||||
|
"price = #{price,jdbcType=DECIMAL},", |
||||||
|
"`status` = #{status,jdbcType=INTEGER},", |
||||||
|
"pay_time = #{payTime,jdbcType=TIMESTAMP},", |
||||||
|
"create_time = #{createTime,jdbcType=TIMESTAMP},", |
||||||
|
"update_time = #{updateTime,jdbcType=TIMESTAMP},", |
||||||
|
"ext_1 = #{ext1,jdbcType=VARCHAR},", |
||||||
|
"ext_2 = #{ext2,jdbcType=VARCHAR},", |
||||||
|
"ext_3 = #{ext3,jdbcType=VARCHAR}", |
||||||
|
"where id = #{id,jdbcType=INTEGER}" |
||||||
|
}) |
||||||
|
int updateByPrimaryKey(HighTelOrder record); |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
package com.hai.dao; |
||||||
|
|
||||||
|
/** |
||||||
|
* mapper扩展类 |
||||||
|
*/ |
||||||
|
public interface HighTelOrderMapperExt { |
||||||
|
} |
@ -0,0 +1,346 @@ |
|||||||
|
package com.hai.dao; |
||||||
|
|
||||||
|
import com.hai.entity.HighTelOrder; |
||||||
|
import com.hai.entity.HighTelOrderExample.Criteria; |
||||||
|
import com.hai.entity.HighTelOrderExample.Criterion; |
||||||
|
import com.hai.entity.HighTelOrderExample; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import org.apache.ibatis.jdbc.SQL; |
||||||
|
|
||||||
|
public class HighTelOrderSqlProvider { |
||||||
|
|
||||||
|
public String countByExample(HighTelOrderExample example) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.SELECT("count(*)").FROM("high_tel_order"); |
||||||
|
applyWhere(sql, example, false); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String deleteByExample(HighTelOrderExample example) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.DELETE_FROM("high_tel_order"); |
||||||
|
applyWhere(sql, example, false); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String insertSelective(HighTelOrder record) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.INSERT_INTO("high_tel_order"); |
||||||
|
|
||||||
|
if (record.getOrderId() != null) { |
||||||
|
sql.VALUES("order_id", "#{orderId,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getOutOrderId() != null) { |
||||||
|
sql.VALUES("out_order_id", "#{outOrderId,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getMchid() != null) { |
||||||
|
sql.VALUES("mchid", "#{mchid,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getTel() != null) { |
||||||
|
sql.VALUES("tel", "#{tel,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPrice() != null) { |
||||||
|
sql.VALUES("price", "#{price,jdbcType=DECIMAL}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getStatus() != null) { |
||||||
|
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPayTime() != null) { |
||||||
|
sql.VALUES("pay_time", "#{payTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getCreateTime() != null) { |
||||||
|
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getUpdateTime() != null) { |
||||||
|
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt1() != null) { |
||||||
|
sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt2() != null) { |
||||||
|
sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt3() != null) { |
||||||
|
sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String selectByExample(HighTelOrderExample example) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
if (example != null && example.isDistinct()) { |
||||||
|
sql.SELECT_DISTINCT("id"); |
||||||
|
} else { |
||||||
|
sql.SELECT("id"); |
||||||
|
} |
||||||
|
sql.SELECT("order_id"); |
||||||
|
sql.SELECT("out_order_id"); |
||||||
|
sql.SELECT("mchid"); |
||||||
|
sql.SELECT("tel"); |
||||||
|
sql.SELECT("price"); |
||||||
|
sql.SELECT("`status`"); |
||||||
|
sql.SELECT("pay_time"); |
||||||
|
sql.SELECT("create_time"); |
||||||
|
sql.SELECT("update_time"); |
||||||
|
sql.SELECT("ext_1"); |
||||||
|
sql.SELECT("ext_2"); |
||||||
|
sql.SELECT("ext_3"); |
||||||
|
sql.FROM("high_tel_order"); |
||||||
|
applyWhere(sql, example, false); |
||||||
|
|
||||||
|
if (example != null && example.getOrderByClause() != null) { |
||||||
|
sql.ORDER_BY(example.getOrderByClause()); |
||||||
|
} |
||||||
|
|
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String updateByExampleSelective(Map<String, Object> parameter) { |
||||||
|
HighTelOrder record = (HighTelOrder) parameter.get("record"); |
||||||
|
HighTelOrderExample example = (HighTelOrderExample) parameter.get("example"); |
||||||
|
|
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.UPDATE("high_tel_order"); |
||||||
|
|
||||||
|
if (record.getId() != null) { |
||||||
|
sql.SET("id = #{record.id,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getOrderId() != null) { |
||||||
|
sql.SET("order_id = #{record.orderId,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getOutOrderId() != null) { |
||||||
|
sql.SET("out_order_id = #{record.outOrderId,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getMchid() != null) { |
||||||
|
sql.SET("mchid = #{record.mchid,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getTel() != null) { |
||||||
|
sql.SET("tel = #{record.tel,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPrice() != null) { |
||||||
|
sql.SET("price = #{record.price,jdbcType=DECIMAL}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getStatus() != null) { |
||||||
|
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPayTime() != null) { |
||||||
|
sql.SET("pay_time = #{record.payTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getCreateTime() != null) { |
||||||
|
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getUpdateTime() != null) { |
||||||
|
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt1() != null) { |
||||||
|
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt2() != null) { |
||||||
|
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt3() != null) { |
||||||
|
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
applyWhere(sql, example, true); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String updateByExample(Map<String, Object> parameter) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.UPDATE("high_tel_order"); |
||||||
|
|
||||||
|
sql.SET("id = #{record.id,jdbcType=INTEGER}"); |
||||||
|
sql.SET("order_id = #{record.orderId,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("out_order_id = #{record.outOrderId,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("mchid = #{record.mchid,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("tel = #{record.tel,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("price = #{record.price,jdbcType=DECIMAL}"); |
||||||
|
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||||
|
sql.SET("pay_time = #{record.payTime,jdbcType=TIMESTAMP}"); |
||||||
|
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); |
||||||
|
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); |
||||||
|
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); |
||||||
|
|
||||||
|
HighTelOrderExample example = (HighTelOrderExample) parameter.get("example"); |
||||||
|
applyWhere(sql, example, true); |
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
public String updateByPrimaryKeySelective(HighTelOrder record) { |
||||||
|
SQL sql = new SQL(); |
||||||
|
sql.UPDATE("high_tel_order"); |
||||||
|
|
||||||
|
if (record.getOrderId() != null) { |
||||||
|
sql.SET("order_id = #{orderId,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getOutOrderId() != null) { |
||||||
|
sql.SET("out_order_id = #{outOrderId,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getMchid() != null) { |
||||||
|
sql.SET("mchid = #{mchid,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getTel() != null) { |
||||||
|
sql.SET("tel = #{tel,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPrice() != null) { |
||||||
|
sql.SET("price = #{price,jdbcType=DECIMAL}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getStatus() != null) { |
||||||
|
sql.SET("`status` = #{status,jdbcType=INTEGER}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getPayTime() != null) { |
||||||
|
sql.SET("pay_time = #{payTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getCreateTime() != null) { |
||||||
|
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getUpdateTime() != null) { |
||||||
|
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt1() != null) { |
||||||
|
sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt2() != null) { |
||||||
|
sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
if (record.getExt3() != null) { |
||||||
|
sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}"); |
||||||
|
} |
||||||
|
|
||||||
|
sql.WHERE("id = #{id,jdbcType=INTEGER}"); |
||||||
|
|
||||||
|
return sql.toString(); |
||||||
|
} |
||||||
|
|
||||||
|
protected void applyWhere(SQL sql, HighTelOrderExample example, boolean includeExamplePhrase) { |
||||||
|
if (example == null) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
String parmPhrase1; |
||||||
|
String parmPhrase1_th; |
||||||
|
String parmPhrase2; |
||||||
|
String parmPhrase2_th; |
||||||
|
String parmPhrase3; |
||||||
|
String parmPhrase3_th; |
||||||
|
if (includeExamplePhrase) { |
||||||
|
parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; |
||||||
|
parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; |
||||||
|
parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; |
||||||
|
parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; |
||||||
|
parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; |
||||||
|
parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; |
||||||
|
} else { |
||||||
|
parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; |
||||||
|
parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; |
||||||
|
parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; |
||||||
|
parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; |
||||||
|
parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; |
||||||
|
parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; |
||||||
|
} |
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
List<Criteria> oredCriteria = example.getOredCriteria(); |
||||||
|
boolean firstCriteria = true; |
||||||
|
for (int i = 0; i < oredCriteria.size(); i++) { |
||||||
|
Criteria criteria = oredCriteria.get(i); |
||||||
|
if (criteria.isValid()) { |
||||||
|
if (firstCriteria) { |
||||||
|
firstCriteria = false; |
||||||
|
} else { |
||||||
|
sb.append(" or "); |
||||||
|
} |
||||||
|
|
||||||
|
sb.append('('); |
||||||
|
List<Criterion> criterions = criteria.getAllCriteria(); |
||||||
|
boolean firstCriterion = true; |
||||||
|
for (int j = 0; j < criterions.size(); j++) { |
||||||
|
Criterion criterion = criterions.get(j); |
||||||
|
if (firstCriterion) { |
||||||
|
firstCriterion = false; |
||||||
|
} else { |
||||||
|
sb.append(" and "); |
||||||
|
} |
||||||
|
|
||||||
|
if (criterion.isNoValue()) { |
||||||
|
sb.append(criterion.getCondition()); |
||||||
|
} else if (criterion.isSingleValue()) { |
||||||
|
if (criterion.getTypeHandler() == null) { |
||||||
|
sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); |
||||||
|
} else { |
||||||
|
sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); |
||||||
|
} |
||||||
|
} else if (criterion.isBetweenValue()) { |
||||||
|
if (criterion.getTypeHandler() == null) { |
||||||
|
sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); |
||||||
|
} else { |
||||||
|
sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); |
||||||
|
} |
||||||
|
} else if (criterion.isListValue()) { |
||||||
|
sb.append(criterion.getCondition()); |
||||||
|
sb.append(" ("); |
||||||
|
List<?> listItems = (List<?>) criterion.getValue(); |
||||||
|
boolean comma = false; |
||||||
|
for (int k = 0; k < listItems.size(); k++) { |
||||||
|
if (comma) { |
||||||
|
sb.append(", "); |
||||||
|
} else { |
||||||
|
comma = true; |
||||||
|
} |
||||||
|
if (criterion.getTypeHandler() == null) { |
||||||
|
sb.append(String.format(parmPhrase3, i, j, k)); |
||||||
|
} else { |
||||||
|
sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); |
||||||
|
} |
||||||
|
} |
||||||
|
sb.append(')'); |
||||||
|
} |
||||||
|
} |
||||||
|
sb.append(')'); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
if (sb.length() > 0) { |
||||||
|
sql.WHERE(sb.toString()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,257 @@ |
|||||||
|
package com.hai.entity; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
import java.util.Date; |
||||||
|
|
||||||
|
/** |
||||||
|
* high_tel_order |
||||||
|
* @author |
||||||
|
*/ |
||||||
|
/** |
||||||
|
* |
||||||
|
* 代码由工具生成 |
||||||
|
* |
||||||
|
**/ |
||||||
|
public class HighTelOrder implements Serializable { |
||||||
|
/** |
||||||
|
* 主键ID |
||||||
|
*/ |
||||||
|
private Integer id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 充值订单ID |
||||||
|
*/ |
||||||
|
private String orderId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 官方订单号 |
||||||
|
*/ |
||||||
|
private String outOrderId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 商户ID |
||||||
|
*/ |
||||||
|
private String mchid; |
||||||
|
|
||||||
|
/** |
||||||
|
* 充值手机号码 |
||||||
|
*/ |
||||||
|
private String tel; |
||||||
|
|
||||||
|
/** |
||||||
|
* 充值金额 |
||||||
|
*/ |
||||||
|
private Long price; |
||||||
|
|
||||||
|
/** |
||||||
|
* 交易结果(1 未支付 ,2 支付中 3.已支付 4.支付失败 |
||||||
|
*/ |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
/** |
||||||
|
* 支付时间 |
||||||
|
*/ |
||||||
|
private Date payTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 创建时间 |
||||||
|
*/ |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* 更新时间 |
||||||
|
*/ |
||||||
|
private Date updateTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* ext_1 |
||||||
|
*/ |
||||||
|
private String ext1; |
||||||
|
|
||||||
|
/** |
||||||
|
* ext_2 |
||||||
|
*/ |
||||||
|
private String ext2; |
||||||
|
|
||||||
|
/** |
||||||
|
* ext_3 |
||||||
|
*/ |
||||||
|
private String ext3; |
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
public Integer getId() { |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setId(Integer id) { |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
public String getOrderId() { |
||||||
|
return orderId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setOrderId(String orderId) { |
||||||
|
this.orderId = orderId; |
||||||
|
} |
||||||
|
|
||||||
|
public String getOutOrderId() { |
||||||
|
return outOrderId; |
||||||
|
} |
||||||
|
|
||||||
|
public void setOutOrderId(String outOrderId) { |
||||||
|
this.outOrderId = outOrderId; |
||||||
|
} |
||||||
|
|
||||||
|
public String getMchid() { |
||||||
|
return mchid; |
||||||
|
} |
||||||
|
|
||||||
|
public void setMchid(String mchid) { |
||||||
|
this.mchid = mchid; |
||||||
|
} |
||||||
|
|
||||||
|
public String getTel() { |
||||||
|
return tel; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTel(String tel) { |
||||||
|
this.tel = tel; |
||||||
|
} |
||||||
|
|
||||||
|
public Long getPrice() { |
||||||
|
return price; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPrice(Long price) { |
||||||
|
this.price = price; |
||||||
|
} |
||||||
|
|
||||||
|
public Integer getStatus() { |
||||||
|
return status; |
||||||
|
} |
||||||
|
|
||||||
|
public void setStatus(Integer status) { |
||||||
|
this.status = status; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getPayTime() { |
||||||
|
return payTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPayTime(Date payTime) { |
||||||
|
this.payTime = payTime; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getCreateTime() { |
||||||
|
return createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) { |
||||||
|
this.createTime = createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getUpdateTime() { |
||||||
|
return updateTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) { |
||||||
|
this.updateTime = updateTime; |
||||||
|
} |
||||||
|
|
||||||
|
public String getExt1() { |
||||||
|
return ext1; |
||||||
|
} |
||||||
|
|
||||||
|
public void setExt1(String ext1) { |
||||||
|
this.ext1 = ext1; |
||||||
|
} |
||||||
|
|
||||||
|
public String getExt2() { |
||||||
|
return ext2; |
||||||
|
} |
||||||
|
|
||||||
|
public void setExt2(String ext2) { |
||||||
|
this.ext2 = ext2; |
||||||
|
} |
||||||
|
|
||||||
|
public String getExt3() { |
||||||
|
return ext3; |
||||||
|
} |
||||||
|
|
||||||
|
public void setExt3(String ext3) { |
||||||
|
this.ext3 = ext3; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object that) { |
||||||
|
if (this == that) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
if (that == null) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (getClass() != that.getClass()) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
HighTelOrder other = (HighTelOrder) that; |
||||||
|
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||||
|
&& (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId())) |
||||||
|
&& (this.getOutOrderId() == null ? other.getOutOrderId() == null : this.getOutOrderId().equals(other.getOutOrderId())) |
||||||
|
&& (this.getMchid() == null ? other.getMchid() == null : this.getMchid().equals(other.getMchid())) |
||||||
|
&& (this.getTel() == null ? other.getTel() == null : this.getTel().equals(other.getTel())) |
||||||
|
&& (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice())) |
||||||
|
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) |
||||||
|
&& (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime())) |
||||||
|
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) |
||||||
|
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime())) |
||||||
|
&& (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1())) |
||||||
|
&& (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2())) |
||||||
|
&& (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3())); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
final int prime = 31; |
||||||
|
int result = 1; |
||||||
|
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); |
||||||
|
result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode()); |
||||||
|
result = prime * result + ((getOutOrderId() == null) ? 0 : getOutOrderId().hashCode()); |
||||||
|
result = prime * result + ((getMchid() == null) ? 0 : getMchid().hashCode()); |
||||||
|
result = prime * result + ((getTel() == null) ? 0 : getTel().hashCode()); |
||||||
|
result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode()); |
||||||
|
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); |
||||||
|
result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode()); |
||||||
|
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); |
||||||
|
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode()); |
||||||
|
result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode()); |
||||||
|
result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode()); |
||||||
|
result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode()); |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
sb.append(getClass().getSimpleName()); |
||||||
|
sb.append(" ["); |
||||||
|
sb.append("Hash = ").append(hashCode()); |
||||||
|
sb.append(", id=").append(id); |
||||||
|
sb.append(", orderId=").append(orderId); |
||||||
|
sb.append(", outOrderId=").append(outOrderId); |
||||||
|
sb.append(", mchid=").append(mchid); |
||||||
|
sb.append(", tel=").append(tel); |
||||||
|
sb.append(", price=").append(price); |
||||||
|
sb.append(", status=").append(status); |
||||||
|
sb.append(", payTime=").append(payTime); |
||||||
|
sb.append(", createTime=").append(createTime); |
||||||
|
sb.append(", updateTime=").append(updateTime); |
||||||
|
sb.append(", ext1=").append(ext1); |
||||||
|
sb.append(", ext2=").append(ext2); |
||||||
|
sb.append(", ext3=").append(ext3); |
||||||
|
sb.append(", serialVersionUID=").append(serialVersionUID); |
||||||
|
sb.append("]"); |
||||||
|
return sb.toString(); |
||||||
|
} |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,61 @@ |
|||||||
|
package com.hai.service; |
||||||
|
|
||||||
|
import com.hai.entity.HighTelOrder; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @ClassName TelApiService.java |
||||||
|
* @author Sum1Dream |
||||||
|
* @version 1.0.0 |
||||||
|
* @Description //话费充值管理
|
||||||
|
* @createTime 14:17 2021/5/28 |
||||||
|
**/ |
||||||
|
public interface TelApiService { |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author Sum1Dream |
||||||
|
* @Description // 查询话费订单列表
|
||||||
|
* @Date 11:33 2021/5/28 |
||||||
|
* @Param [map] |
||||||
|
* @return java.util.List<com.hai.entity.HighTelOrder> |
||||||
|
**/ |
||||||
|
List<HighTelOrder> getTelOrderList(Map<String , Object> map); |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author Sum1Dream |
||||||
|
* @Description //新增话费订单
|
||||||
|
* @Date 11:34 2021/5/28 |
||||||
|
* @Param [highTelOrder] |
||||||
|
* @return void |
||||||
|
**/ |
||||||
|
void insertOrder(HighTelOrder highTelOrder); |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author Sum1Dream |
||||||
|
* @Description //修改话费订单
|
||||||
|
* @Date 11:35 2021/5/28 |
||||||
|
* @Param [highTelOrder] |
||||||
|
* @return void |
||||||
|
**/ |
||||||
|
void updateOrder(HighTelOrder highTelOrder); |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author Sum1Dream |
||||||
|
* @Description // 根据ID查询订单详情
|
||||||
|
* @Date 11:36 2021/5/28 |
||||||
|
* @Param [id] |
||||||
|
* @return com.hai.entity.HighTelOrder |
||||||
|
**/ |
||||||
|
HighTelOrder findOrderById(Integer id); |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author Sum1Dream |
||||||
|
* @Description //话费充值 验签成功后业务调用
|
||||||
|
* @Date 16:44 2021/5/28 |
||||||
|
* @Param [paramsMap] 异步回调返回的参数 |
||||||
|
* @return java.lang.String |
||||||
|
**/ |
||||||
|
String telApiNotify(Map<String, String> paramsMap) throws Exception; |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
package com.hai.service.impl; |
||||||
|
|
||||||
|
import com.hai.dao.HighTelOrderMapper; |
||||||
|
import com.hai.entity.HighTelOrder; |
||||||
|
import com.hai.service.TelApiService; |
||||||
|
import com.hai.service.pay.PayService; |
||||||
|
import com.hai.service.pay.impl.NotifyServiceImpl; |
||||||
|
import org.slf4j.Logger; |
||||||
|
import org.slf4j.LoggerFactory; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
import org.springframework.transaction.annotation.Propagation; |
||||||
|
import org.springframework.transaction.annotation.Transactional; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
@Service("telApiService") |
||||||
|
public class TelApiServiceImpl implements TelApiService { |
||||||
|
|
||||||
|
@Resource |
||||||
|
private HighTelOrderMapper highTelOrderMapper; |
||||||
|
|
||||||
|
private static Logger log = LoggerFactory.getLogger(TelApiServiceImpl.class); |
||||||
|
|
||||||
|
@Override |
||||||
|
public List<HighTelOrder> getTelOrderList(Map<String, Object> map) { |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void insertOrder(HighTelOrder highTelOrder) { |
||||||
|
highTelOrderMapper.insert(highTelOrder); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateOrder(HighTelOrder highTelOrder) { |
||||||
|
highTelOrderMapper.updateByPrimaryKey(highTelOrder); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public HighTelOrder findOrderById(Integer id) { |
||||||
|
return highTelOrderMapper.selectByPrimaryKey(id); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
||||||
|
public String telApiNotify(Map<String, String> paramsMap) throws Exception { |
||||||
|
String resXml = null; |
||||||
|
|
||||||
|
if ("1".equals(paramsMap.get("status"))) { |
||||||
|
log.info("话费充值 -> 异步通知:支付成功,进入订单处理"); |
||||||
|
|
||||||
|
String orderId = paramsMap.get("order_id"); |
||||||
|
|
||||||
|
// if (payService != null) {
|
||||||
|
// payService.paySuccess(paramsMap, "WechatPay"); // 商户内部实际的交易业务处理
|
||||||
|
// log.info("微信支付 -> 异步通知:订单处理完成");
|
||||||
|
// } else {
|
||||||
|
// log.error("微信支付 -> 异步通知:业务处理,payService获取失败");
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 通知微信.异步确认成功.必写.不然会一直通知后台.八次之后就认为交易失败了
|
||||||
|
resXml = "<xml>" + "<return_code><![CDATA[SUCCESS]]></return_code>" |
||||||
|
+ "<return_msg><![CDATA[OK]]></return_msg>" + "</xml> "; |
||||||
|
} else { |
||||||
|
log.error("微信支付 -> 异步通知:支付失败,错误信息:" + paramsMap.get("err_code_des")); |
||||||
|
resXml = "<xml>" + "<return_code><![CDATA[FAIL]]></return_code>" + "<return_msg><![CDATA[" |
||||||
|
+ paramsMap.get("err_code_des") + "]]></return_msg>" + "</xml> "; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
return resXml; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue