充值逻辑加上用户帐单明细记录

This commit is contained in:
童丽然 2025-01-02 18:04:38 +08:00
parent 1116dda1b7
commit c029bec220
6 changed files with 57 additions and 13 deletions

View File

@ -164,7 +164,7 @@ public class WeChatPayController extends BaseController {
//订单生成成功
int flag=ngUserRechargeRecordsService.insertNgUserRechargeRecordsWeChat(recharge);//插入用户充值记录表
//flag=userConsumptionDetailsService.insertUserConsumptionDetailsWechat(recharge);//插入用户消费明细表
flag=userConsumptionDetailsService.insertUserConsumptionDetailsWechat(recharge);//插入用户消费明细表
if(flag==1)
{
return success(result);

View File

@ -5,7 +5,6 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
@ -17,7 +16,7 @@ import com.fastbee.common.core.domain.BaseEntity;
* 用户充值卡账单明细记录对象 user_consumption_details
*
* @author kerwincui
* @date 2024-12-19
* @date 2025-01-02
*/
@ApiModel(value = "UserConsumptionDetails",description = "用户充值卡账单明细记录 user_consumption_details")
@Data
@ -100,19 +99,19 @@ public class UserConsumptionDetails extends BaseEntity
private BigDecimal billingPeriodDuration;
/** 账单生成的日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:MM:SS")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "账单生成的日期", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("账单生成的日期")
private Date billingDate;
/** 开泵时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:MM:SS")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开泵时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("开泵时间")
private Date startTime;
/** 关泵时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:MM:SS")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "关泵时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("关泵时间")
private Date endTime;
@ -128,7 +127,7 @@ public class UserConsumptionDetails extends BaseEntity
private Integer paymentMethod;
/** 账单支付的时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:MM:SS")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = " 账单支付的时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty(" 账单支付的时间")
private Date paymentTime;
@ -143,4 +142,9 @@ public class UserConsumptionDetails extends BaseEntity
@ApiModelProperty("区域码")
private String areaCode;
/** 订单编码 */
@Excel(name = "订单编码")
@ApiModelProperty("订单编码")
private String orderNumber;
}

View File

@ -5,6 +5,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fastbee.rechargecard.domain.UserConsumptionDetails;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
/**
* 用户充值卡账单明细记录Mapper接口
@ -15,12 +16,20 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserConsumptionDetailsMapper extends BaseMapper<UserConsumptionDetails>
{
/**
* 根据订单编号获取订单信息
* @param orderNumber
* @return
*/
@Select("select * from user_consumption_details where order_number=#{orderNumber}")
public UserConsumptionDetails selectUserConsumptionDetailsByOrderNumber(String orderNumber);
/**
* 根据卡号查询用户充值卡账单明细记录列表
* @param cardNumber
* @return
*/
public List<UserConsumptionDetails> selectUserConsumptionDetailsListById(String cardNumber);
public List<UserConsumptionDetails> selectUserConsumptionDetailsListByCardNumber(String cardNumber);
/**
* 根据卡号查询用户充值卡账单明细记录列表判断是否为刷卡记录billingType=1为刷卡

View File

@ -4,9 +4,13 @@ import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.fastbee.common.exception.ServiceException;
import com.fastbee.common.utils.DateUtils;
import com.fastbee.rechargecard.domain.NgUserRechargeRecords;
import com.fastbee.rechargecard.domain.UserRechargeCards;
import com.fastbee.rechargecard.domain.dto.UserConsumptionDetailsDto;
import com.fastbee.rechargecard.domain.dto.WeChatRecharge;
import com.fastbee.rechargecard.mapper.UserRechargeCardsMapper;
import com.fastbee.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -27,6 +31,8 @@ public class UserConsumptionDetailsServiceImpl implements IUserConsumptionDetail
private UserConsumptionDetailsMapper userConsumptionDetailsMapper;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
private UserRechargeCardsMapper userRechargeCardsMapper;
@Override
public List<UserConsumptionDetailsDto> selectUserConsumptionDetailsListByCardNumber(UserConsumptionDetails data) {
@ -207,6 +213,16 @@ public class UserConsumptionDetailsServiceImpl implements IUserConsumptionDetail
public int insertUserConsumptionDetailsWechat(WeChatRecharge recharge) {
UserConsumptionDetails userConsumptionDetails=new UserConsumptionDetails();
userConsumptionDetails.setCardNumber(String.valueOf(recharge.getCardnumber()));
// 根据id查询用户充值卡信息
UserRechargeCards info = userRechargeCardsMapper.selectUserRechargeCardsByCardnumber(String.valueOf(recharge.getCardnumber()));
if (info == null) {
// 如果没有找到对应的记录返回0或者一个错误码
throw new ServiceException("卡号不存在!");
}
if(info.getUserId()!=null)
{
userConsumptionDetails.setUserId(info.getUserId());
}
userConsumptionDetails.setBillingType(0);
userConsumptionDetails.setAreaCode(String.valueOf(recharge.getAreacode()));
userConsumptionDetails.setAmountDue(recharge.getAmount());
@ -214,7 +230,10 @@ public class UserConsumptionDetailsServiceImpl implements IUserConsumptionDetail
userConsumptionDetails.setPaymentStatus(0);
userConsumptionDetails.setPaymentMethod(recharge.getType());
userConsumptionDetails.setPaymentTime(DateUtils.getNowDate());
userConsumptionDetails.setStatus(2);
userConsumptionDetails.setDeviceNumber(recharge.getDeviceNumber());
userConsumptionDetails.setDeptId(recharge.getDeptId());
userConsumptionDetails.setOrderNumber(recharge.getRechargeCode());
//userConsumptionDetails.setStatus(2);
userConsumptionDetails.setCreateTime(DateUtils.getNowDate());
userConsumptionDetails.setDeviceNumber(recharge.getDeviceNumber());
return userConsumptionDetailsMapper.insertUserConsumptionDetails(userConsumptionDetails);

View File

@ -150,9 +150,15 @@ public class UserRechargeCardsServiceImpl implements IUserRechargeCardsService
//用户消费明细记录中状态更改为已支付
/*UserConsumptionDetails userConsumptionDetails=userConsumptionDetailsMapper.selectUserConsumptionDetailsBy();
if(userConsumptionDetailsMapper.selectUserConsumptionDetailsByOrderNumber(rechargeCode)==null)
{
throw new Exception("订单信息在账单明细表中不存在");
}
UserConsumptionDetails userConsumptionDetails=userConsumptionDetailsMapper.selectUserConsumptionDetailsByOrderNumber(rechargeCode);
userConsumptionDetails.setStatus(0);//更改为已支付
userConsumptionDetails.setPaymentStatus(2);//账单状态更改为已支付*/
userConsumptionDetails.setPaymentStatus(2);//账单状态更改为已支付
String areaCode=ngUserRechargeRecords.getAreaCode();
if(ngUserRechargeRecords.getSerialNumber()==null){

View File

@ -33,10 +33,11 @@
<result property="createBy" column="create_by" />
<result property="updateBy" column="update_by" />
<result property="areaCode" column="area_code" />
<result property="orderNumber" column="order_number" />
</resultMap>
<sql id="selectUserConsumptionDetailsVo">
select id, user_id, device_number, card_number, project_id, dept_id, billing_type, pump_time, unit_price, total_price, discount, tax_amount, amount_due, billing_period_unit, billing_period_duration, billing_date, start_time, end_time, payment_status, payment_method, payment_time, status, remark, create_time, update_time, create_by, update_by, area_code from user_consumption_details
select id, user_id, device_number, card_number, project_id, dept_id, billing_type, pump_time, unit_price, total_price, discount, tax_amount, amount_due, billing_period_unit, billing_period_duration, billing_date, start_time, end_time, payment_status, payment_method, payment_time, status, remark, create_time, update_time, create_by, update_by, area_code, order_number from user_consumption_details
</sql>
<select id="selectUserConsumptionDetailsList" parameterType="UserConsumptionDetails" resultMap="UserConsumptionDetailsResult">
@ -65,6 +66,7 @@
<if test="paymentTime != null "> and payment_time = #{paymentTime}</if>
<if test="status != null "> and status = #{status}</if>
<if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
<if test="orderNumber != null and orderNumber != ''"> and order_number = #{orderNumber}</if>
</where>
</select>
@ -73,7 +75,7 @@
where id = #{id}
</select>
<select id="selectUserConsumptionDetailsListById" parameterType="String" resultMap="UserConsumptionDetailsResult">
<select id="selectUserConsumptionDetailsListByCardNumber" parameterType="String" resultMap="UserConsumptionDetailsResult">
<include refid="selectUserConsumptionDetailsVo"/>
where
card_number = #{cardNumber}
@ -105,6 +107,7 @@
<if test="paymentTime != null "> and payment_time = #{paymentTime}</if>
<if test="status != null "> and status = #{status}</if>
<if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
<if test="orderNumber != null and orderNumber != ''"> and order_number = #{orderNumber}</if>
</where>
</select>
@ -138,6 +141,7 @@
<if test="createBy != null">create_by,</if>
<if test="updateBy != null">update_by,</if>
<if test="areaCode != null">area_code,</if>
<if test="orderNumber != null">order_number,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if>
@ -167,6 +171,7 @@
<if test="createBy != null">#{createBy},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="areaCode != null">#{areaCode},</if>
<if test="orderNumber != null">#{orderNumber},</if>
</trim>
</insert>
@ -200,6 +205,7 @@
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="areaCode != null">area_code = #{areaCode},</if>
<if test="orderNumber != null">order_number = #{orderNumber},</if>
</trim>
where id = #{id}
</update>