支付模块-下单接口
This commit is contained in:
@ -0,0 +1,18 @@
|
||||
package com.fastbee.rechargecard.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@Data
|
||||
public class WeChatRecharge {
|
||||
private Integer cardnumber;//卡号
|
||||
private BigDecimal amount;//充值金额
|
||||
private Integer type;//充值方式
|
||||
private Integer areacode;//区域码
|
||||
private String deviceNumber;//设备码
|
||||
private Integer water;//充值水量
|
||||
private String rechargeCode;//订单号
|
||||
private String openId;//openId
|
||||
private BigDecimal total;//amount中的total
|
||||
private String currency;//amount中的currency
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.fastbee.rechargecard.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WeChatRechargeBacktracking {
|
||||
private String id;
|
||||
private String create_time;
|
||||
private String resource_type;
|
||||
private String event_type;
|
||||
private String summary;
|
||||
private WeChatRechargeBacktrackingResource resource;
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.fastbee.rechargecard.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WeChatRechargeBacktrackingResource{
|
||||
private String original_type;
|
||||
private String algorithm;
|
||||
private String cliphertext;
|
||||
private String associated_data;
|
||||
private String nonce;
|
||||
|
||||
}
|
@ -3,6 +3,7 @@ package com.fastbee.rechargecard.mapper;
|
||||
import java.util.List;
|
||||
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 用户充值记录Mapper接口
|
||||
@ -13,6 +14,13 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface NgUserRechargeRecordsMapper
|
||||
{
|
||||
/**
|
||||
* 根据订单号查询充值记录
|
||||
* @param rechargeCode
|
||||
* @return
|
||||
*/
|
||||
@Select("select * from ng_user_recharge_records where recharge_code=#{rechargeCode}")
|
||||
public NgUserRechargeRecords SelectRechargeRecodeByRechargeCode(String rechargeCode);
|
||||
/**
|
||||
* 查询用户充值记录
|
||||
*
|
||||
@ -21,6 +29,13 @@ public interface NgUserRechargeRecordsMapper
|
||||
*/
|
||||
public List<NgUserRechargeRecords> selectNgUserRechargeRecordsByCardNumber(NgUserRechargeRecords ngUserRechargeRecords);
|
||||
|
||||
/**
|
||||
* 根据订单编号查询用户充值记录
|
||||
* @param rechargeCode
|
||||
* @return
|
||||
*/
|
||||
public NgUserRechargeRecords selectNgUserRechargeRecordsByRechargeCode(String rechargeCode);
|
||||
|
||||
/**
|
||||
* 查询充值机充值记录
|
||||
*
|
||||
@ -53,6 +68,11 @@ public interface NgUserRechargeRecordsMapper
|
||||
*/
|
||||
public int updateNgUserRechargeRecords(NgUserRechargeRecords ngUserRechargeRecords);
|
||||
|
||||
/**
|
||||
* 微信支付成功后修改用户充值记录状态为已支付
|
||||
*/
|
||||
public int updateNgUserRechargeRecordsWechat(NgUserRechargeRecords ngUserRechargeRecords);
|
||||
|
||||
/**
|
||||
* 删除用户充值记录
|
||||
*
|
||||
|
@ -2,6 +2,8 @@ package com.fastbee.rechargecard.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
|
||||
import com.fastbee.rechargecard.domain.dto.RechargecardUser;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatRecharge;
|
||||
import com.fastbee.rechargecard.mapper.NgUserRechargeRecordsMapper;
|
||||
|
||||
/**
|
||||
@ -12,6 +14,21 @@ import com.fastbee.rechargecard.mapper.NgUserRechargeRecordsMapper;
|
||||
*/
|
||||
public interface INgUserRechargeRecordsService
|
||||
{
|
||||
/**
|
||||
* 根据订单编号查找充值记录
|
||||
* @param rechargeCode
|
||||
* @return
|
||||
*/
|
||||
public NgUserRechargeRecords SelectRechargeRecodeByRechargeCode(String rechargeCode);
|
||||
|
||||
/**
|
||||
* 微信充值-新增用户充值记录
|
||||
*
|
||||
* @param
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertNgUserRechargeRecordsWeChat(WeChatRecharge recharge);
|
||||
|
||||
/**
|
||||
* 查询用户充值记录
|
||||
*
|
||||
|
@ -3,6 +3,7 @@ package com.fastbee.rechargecard.service;
|
||||
import java.util.List;
|
||||
import com.fastbee.rechargecard.domain.UserConsumptionDetails;
|
||||
import com.fastbee.rechargecard.domain.dto.UserConsumptionDetailsDto;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatRecharge;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@ -83,4 +84,9 @@ public interface IUserConsumptionDetailsService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteUserConsumptionDetailsById(Long id);
|
||||
|
||||
/**
|
||||
* 插入微信支付用户充值卡账单明细记录
|
||||
*/
|
||||
public int insertUserConsumptionDetailsWechat(WeChatRecharge recharge);
|
||||
}
|
||||
|
@ -48,6 +48,13 @@ public interface IUserRechargeCardsService
|
||||
*/
|
||||
public int updateUserRechargeCards(UserRechargeCards userRechargeCards);
|
||||
|
||||
/**
|
||||
* 微信支付后修改用户充值卡余额以及订单状态
|
||||
* @param rechargeCode
|
||||
* @return
|
||||
*/
|
||||
public int updateUserRechargeWechat(String rechargeCode);
|
||||
|
||||
/**
|
||||
* 批量删除用户充值卡
|
||||
*
|
||||
|
@ -2,6 +2,8 @@ package com.fastbee.rechargecard.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.rechargecard.domain.dto.RechargecardUser;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatRecharge;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.fastbee.rechargecard.mapper.NgUserRechargeRecordsMapper;
|
||||
@ -20,6 +22,24 @@ public class NgUserRechargeRecordsServiceImpl implements INgUserRechargeRecordsS
|
||||
@Autowired
|
||||
private NgUserRechargeRecordsMapper ngUserRechargeRecordsMapper;
|
||||
|
||||
@Override
|
||||
public NgUserRechargeRecords SelectRechargeRecodeByRechargeCode(String rechargeCode) {
|
||||
return ngUserRechargeRecordsMapper.SelectRechargeRecodeByRechargeCode(rechargeCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertNgUserRechargeRecordsWeChat(WeChatRecharge rechargecardUser) {
|
||||
NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords();
|
||||
ngUserRechargeRecords.setRechargeTime(DateUtils.getNowDate());
|
||||
ngUserRechargeRecords.setBalance(rechargecardUser.getAmount());
|
||||
ngUserRechargeRecords.setType(1);//微信
|
||||
ngUserRechargeRecords.setStatus(0);//生成订单
|
||||
ngUserRechargeRecords.setAreaCode(String.valueOf(rechargecardUser.getAreacode()));
|
||||
ngUserRechargeRecords.setCardNumber(String.valueOf(rechargecardUser.getCardnumber()));
|
||||
ngUserRechargeRecords.setRechargeCode(rechargecardUser.getRechargeCode());
|
||||
return ngUserRechargeRecordsMapper.insertNgUserRechargeRecords(ngUserRechargeRecords);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户充值记录
|
||||
*
|
||||
|
@ -6,6 +6,7 @@ import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.rechargecard.domain.dto.UserConsumptionDetailsDto;
|
||||
import com.fastbee.rechargecard.domain.dto.WeChatRecharge;
|
||||
import com.fastbee.system.mapper.SysUserMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -201,4 +202,21 @@ public class UserConsumptionDetailsServiceImpl implements IUserConsumptionDetail
|
||||
{
|
||||
return userConsumptionDetailsMapper.deleteUserConsumptionDetailsById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertUserConsumptionDetailsWechat(WeChatRecharge recharge) {
|
||||
UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
|
||||
userConsumptionDetails.setCardNumber(String.valueOf(recharge.getCardnumber()));
|
||||
userConsumptionDetails.setBillingType(0);
|
||||
userConsumptionDetails.setAreaCode(String.valueOf(recharge.getAreacode()));
|
||||
userConsumptionDetails.setAmountDue(recharge.getAmount());
|
||||
userConsumptionDetails.setBillingDate(DateUtils.getNowDate());
|
||||
userConsumptionDetails.setPaymentStatus(0);
|
||||
userConsumptionDetails.setPaymentMethod(recharge.getType());
|
||||
userConsumptionDetails.setPaymentTime(DateUtils.getNowDate());
|
||||
userConsumptionDetails.setStatus(0);
|
||||
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
||||
return userConsumptionDetailsMapper.insertUserConsumptionDetails(userConsumptionDetails);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -100,6 +100,58 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
|
||||
return userRechargeCardsMapper.updateUserRechargeCards(userRechargeCards);
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信支付后修改用户充值卡余额以及订单状态
|
||||
* @param rechargeCode
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int updateUserRechargeWechat(String rechargeCode) {
|
||||
|
||||
NgUserRechargeRecords ngUserRechargeRecords=new NgUserRechargeRecords();
|
||||
ngUserRechargeRecords=userRechargeRecordsMapper.selectNgUserRechargeRecordsByRechargeCode(rechargeCode);//查询订单信息
|
||||
ngUserRechargeRecords.setStatus(1);//状态更改为已支付
|
||||
ngUserRechargeRecords.setRechargeCode(rechargeCode);
|
||||
|
||||
|
||||
/* userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
|
||||
NgUserRechargeRecords ngUserRechargeRecords = NgUserRechargeRecords.builder()
|
||||
.userId(info.getUserId()).userName(info.getUserName())
|
||||
.cardNumber(info.getCardNumber()).areaCode(rechargecardUser.getAreacode())
|
||||
.type(rechargecardUser.getStatus()).amount(rechargecardUser.getNumber())
|
||||
.balance(info.getBalance()).rechargeTime(DateUtils.getNowDate())
|
||||
.rechargeCode(null).status(0).serialNumber(null).deviceNumber(null).projectId(null)
|
||||
.deptId(null)
|
||||
.areaCode(rechargecardUser.getAreacode())
|
||||
.build();*/
|
||||
userRechargeRecordsMapper.updateNgUserRechargeRecordsWechat(ngUserRechargeRecords);
|
||||
/*RechargecardUser rechargecardUser=new RechargecardUser();
|
||||
// 计算新的余额
|
||||
BigDecimal newBalance = rechargecardUser.getAmount().add(info.getBalance());*/
|
||||
// 更新用户充值卡信息,包括新的余额
|
||||
// info.setBalance(newBalance);
|
||||
// info.setUpdateTime(DateUtils.getNowDate());
|
||||
// info.setAreaCode(String.valueOf(rechargecardUser.getAreaCode()));
|
||||
|
||||
/*//构建主题
|
||||
String topic ="hzlink/147/"+rechargecardUser.getDeviceNumber()+"/cmd/down";
|
||||
//构建消息
|
||||
Map<String,Object> param = new HashMap<>();
|
||||
//远程阀控
|
||||
param.put("cmd",1000);
|
||||
Map<String,Object> data = new HashMap<>();
|
||||
data.put("orderNum", ngUserRechargeRecords.getId());
|
||||
data.put("cardNum",rechargecardUser.getCardnumber());
|
||||
data.put("areaCode",rechargecardUser.getAreacode());
|
||||
data.put("investBalance",rechargecardUser.getAmount().doubleValue());
|
||||
data.put("investWater",rechargecardUser.getWater());
|
||||
|
||||
param.put("data",data);
|
||||
pubMqttClient.publish(1,true,topic, JSONUtil.toJsonStr(param));*/
|
||||
// int i = userRechargeCardsMapper.updateUserRechargeCards(info);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除用户充值卡
|
||||
*
|
||||
|
@ -76,6 +76,27 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectNgUserRechargeRecordsByRechargeCode" parameterType="String" resultMap="NgUserRechargeRecordsResult">
|
||||
<include refid="selectNgUserRechargeRecordsVo"/>
|
||||
<where>
|
||||
|
||||
<if test="cardNumber != null and cardNumber != ''"> card_number = #{cardNumber}</if>
|
||||
<if test="userId != null "> and user_id = #{userId}</if>
|
||||
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
|
||||
<if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
|
||||
<if test="type != null "> and type = #{type}</if>
|
||||
<if test="amount != null "> and amount = #{amount}</if>
|
||||
<if test="balance != null "> and balance = #{balance}</if>
|
||||
<if test="rechargeTime != null "> and recharge_time = #{rechargeTime}</if>
|
||||
<if test="rechargeCode != null and rechargeCode != ''"> and recharge_code = #{rechargeCode}</if>
|
||||
<if test="status != null "> and status = #{status}</if>
|
||||
<if test="serialNumber != null and serialNumber != ''"> and serial_number = #{serialNumber}</if>
|
||||
<if test="deviceNumber != null and deviceNumber != ''"> and device_number = #{deviceNumber}</if>
|
||||
<if test="projectId != null "> and project_id = #{projectId}</if>
|
||||
<if test="deptId != null "> and dept_id = #{deptId}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectNgUserRechargeRecordsBySerialNumber" parameterType="NgUserRechargeRecords" resultMap="NgUserRechargeRecordsResult">
|
||||
<include refid="selectNgUserRechargeRecordsVo"/>
|
||||
<where>
|
||||
@ -168,6 +189,31 @@
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateNgUserRechargeRecordsWechat" parameterType="NgUserRechargeRecords">
|
||||
update ng_user_recharge_records
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="userId != null">user_id = #{userId},</if>
|
||||
<if test="userName != null">user_name = #{userName},</if>
|
||||
<if test="cardNumber != null and cardNumber != ''">card_number = #{cardNumber},</if>
|
||||
<if test="areaCode != null">area_code = #{areaCode},</if>
|
||||
<if test="type != null">type = #{type},</if>
|
||||
<if test="amount != null">amount = #{amount},</if>
|
||||
<if test="balance != null">balance = #{balance},</if>
|
||||
<if test="rechargeTime != null">recharge_time = #{rechargeTime},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="serialNumber != null and serialNumber != ''">serial_number = #{serialNumber},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="deviceNumber != null">device_number = #{deviceNumber},</if>
|
||||
<if test="projectId != null">project_id = #{projectId},</if>
|
||||
<if test="deptId != null">dept_id = #{deptId},</if>
|
||||
</trim>
|
||||
where recharge_code = #{rechargeCode}
|
||||
</update>
|
||||
|
||||
<delete id="deleteNgUserRechargeRecordsById" parameterType="Long">
|
||||
delete from ng_user_recharge_records where id = #{id}
|
||||
</delete>
|
||||
|
Reference in New Issue
Block a user