提交 84c7c4f6 作者: xiaowang

充值钱包操作

上级 9327e999
package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author LW
* @date 2023/8/19 16:24
* @date 2023/8/23 13:37
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TopUpCashVO {
private Integer userAccountId;
@Builder
public class TopUpOrderVO {
@ApiModelProperty(value = "支付用户的openid")
private String openid;
@ApiModelProperty(value = "订单编号")
private String orderNo;
@ApiModelProperty(value = "金额(分)")
private Integer amount;
@ApiModelProperty(value = "订单状态")
private String tradeState;
@ApiModelProperty(value = "交易状态描述")
private String tradeStateDesc;
}
......@@ -3,6 +3,7 @@ package com.mmc.iuav.user.controller.wallet;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
import com.mmc.iuav.user.service.wallet.PayWalletService;
import io.swagger.annotations.*;
......@@ -48,13 +49,12 @@ public class PayWalletController extends BaseController {
return payWalletService.initPayWallet(userAccountId);
}
@ApiOperation(value = "feign-云享金充值接口")
@ApiOperation(value = "feign-云享金充值增加金额")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@ApiIgnore
@GetMapping("feignTopUpCash")
public ResultBody feignTopUpCash(@RequestParam Integer userAccountId) {
// return payWalletService.feignTopUpCash(userAccountId);
return null;
public ResultBody feignTopUpCash(@RequestBody TopUpOrderVO topUpOrderVO) {
return payWalletService.feignTopUpCash(topUpOrderVO);
}
......
......@@ -165,4 +165,7 @@ public interface UserServiceDao {
* @return
*/
List<UserAccountDO> getUserAccountByPhoneNum(String phoneNum);
UserAccountDO getUserAccountInfoByOpenId(String openid);
}
......@@ -15,8 +15,8 @@ public enum PayMethodEnums {
NORMAL_SETTLEMENT(700, "正常结算"),
MODIFY_THE_ORDER(800, "修改订单金额状态(大于)"),
FLYING_HAND_NOT_CONFIRMED_GT(900, "飞手未确认修改金额大于原订单状态"),
FLYING_HAND_CONFIRM_GT(1000, "飞手确认修改金额大于原订单状态"),
FLYING_HAND_CONFIRM_LT(1000, "飞手确认修改金额小于原订单状态");
FLYING_HAND_CONFIRM_LT(1000, "飞手确认修改金额小于原订单状态"),
USER_TOP_UP(1100, "充值");
PayMethodEnums(Integer code, String method) {
this.code = code;
......
package com.mmc.iuav.user.service.wallet;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
/**
......@@ -14,4 +15,6 @@ public interface PayWalletService {
ResultBody initPayWallet(Integer userAccountId);
ResultBody feignWalletFlow(WalletFlowVO walletFlowVO);
ResultBody feignTopUpCash(TopUpOrderVO topUpOrderVO);
}
......@@ -2,13 +2,16 @@ package com.mmc.iuav.user.service.wallet.impl;
import com.mmc.iuav.general.CodeUtil;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.dao.UserServiceDao;
import com.mmc.iuav.user.dao.wallet.PayWalletDao;
import com.mmc.iuav.user.entity.UserAccountDO;
import com.mmc.iuav.user.entity.wallet.PayLogDO;
import com.mmc.iuav.user.entity.wallet.PayWalletDO;
import com.mmc.iuav.user.enums.PayMethodEnums;
import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO;
import com.mmc.iuav.user.model.vo.wallet.FlyerWalletFlowVO;
import com.mmc.iuav.user.model.vo.wallet.PublisherWalletFlowVO;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
import com.mmc.iuav.user.service.wallet.PayWalletService;
import com.mmc.iuav.user.util.TDateUtil;
......@@ -30,6 +33,8 @@ import java.util.Date;
public class PayWalletServiceImpl implements PayWalletService {
@Resource
PayWalletDao payWalletDao;
@Resource
UserServiceDao userServiceDao;
@Override
public ResultBody getPayWalletInfo(Integer userAccountId) {
......@@ -417,4 +422,35 @@ public class PayWalletServiceImpl implements PayWalletService {
}
return null;
}
@Override
public ResultBody feignTopUpCash(TopUpOrderVO topUpOrderVO) {
// 获取用户openid查询到用户信息
UserAccountDO userAccountDO = userServiceDao.getUserAccountInfoByOpenId(topUpOrderVO.getOpenid());
// 根据金额转成元
Integer amount = topUpOrderVO.getAmount();
amount = amount / 100;
BigDecimal topUpAmount = new BigDecimal(amount);
// 根据用户id获取钱包金额信息
PayWalletDO wallet = payWalletDao.getPayWalletByUser(userAccountDO.getId());
// 修改云享金信息
PayWalletDO payWalletDO = new PayWalletDO();
payWalletDO.setCashAmt(wallet.getCashAmt().add(topUpAmount));
payWalletDO.setPid(wallet.getPid());
payWalletDO.setUserAccountId(userAccountDO.getId());
int i = payWalletDao.updatePayWallet(payWalletDO);
if (i > 0) {
// 记录钱包流水
PayLogDO payLogDO = new PayLogDO();
payLogDO.setUserAccountId(userAccountDO.getId());
payLogDO.setPayNo(topUpOrderVO.getOrderNo());
payLogDO.setPayMethod(PayMethodEnums.USER_TOP_UP.getCode());
payLogDO.setCashAmtPaid(topUpAmount);
payLogDO.setOperateUser(userAccountDO.getId());
payWalletDao.insertPayLogDO(payLogDO);
return ResultBody.success();
} else {
return ResultBody.error("充值时钱包操作错误!");
}
}
}
......@@ -440,5 +440,25 @@
where phone_num = #{phoneNum}
and disable = 0
</select>
<select id="getUserAccountInfoByOpenId" resultType="com.mmc.iuav.user.entity.UserAccountDO">
select id,
phone_num,
user_name,
nick_name,
user_img,
open_id,
union_id,
user_sex,
email,
`source`,
account_status,
remark,
port_type,
disable,
create_time,
update_time
from user_account
where open_id = #{openid}
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论