提交 84c7c4f6 作者: xiaowang

充值钱包操作

上级 9327e999
package com.mmc.iuav.user.model.vo.wallet; package com.mmc.iuav.user.model.vo.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @Author LW * @Author LW
* @date 2023/8/19 16:24 * @date 2023/8/23 13:37
* 概要: * 概要:
*/ */
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class TopUpCashVO { @Builder
private Integer userAccountId; public class TopUpOrderVO {
@ApiModelProperty(value = "支付用户的openid")
private String openid;
@ApiModelProperty(value = "订单编号")
private String orderNo; private String orderNo;
@ApiModelProperty(value = "金额(分)")
private Integer amount; private Integer amount;
@ApiModelProperty(value = "订单状态")
private String tradeState; private String tradeState;
@ApiModelProperty(value = "交易状态描述")
private String tradeStateDesc;
} }
...@@ -3,6 +3,7 @@ package com.mmc.iuav.user.controller.wallet; ...@@ -3,6 +3,7 @@ package com.mmc.iuav.user.controller.wallet;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController; import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO; 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.model.vo.wallet.WalletFlowVO;
import com.mmc.iuav.user.service.wallet.PayWalletService; import com.mmc.iuav.user.service.wallet.PayWalletService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
...@@ -48,13 +49,12 @@ public class PayWalletController extends BaseController { ...@@ -48,13 +49,12 @@ public class PayWalletController extends BaseController {
return payWalletService.initPayWallet(userAccountId); return payWalletService.initPayWallet(userAccountId);
} }
@ApiOperation(value = "feign-云享金充值接口") @ApiOperation(value = "feign-云享金充值增加金额")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@ApiIgnore @ApiIgnore
@GetMapping("feignTopUpCash") @GetMapping("feignTopUpCash")
public ResultBody feignTopUpCash(@RequestParam Integer userAccountId) { public ResultBody feignTopUpCash(@RequestBody TopUpOrderVO topUpOrderVO) {
// return payWalletService.feignTopUpCash(userAccountId); return payWalletService.feignTopUpCash(topUpOrderVO);
return null;
} }
......
...@@ -165,4 +165,7 @@ public interface UserServiceDao { ...@@ -165,4 +165,7 @@ public interface UserServiceDao {
* @return * @return
*/ */
List<UserAccountDO> getUserAccountByPhoneNum(String phoneNum); List<UserAccountDO> getUserAccountByPhoneNum(String phoneNum);
UserAccountDO getUserAccountInfoByOpenId(String openid);
} }
...@@ -15,8 +15,8 @@ public enum PayMethodEnums { ...@@ -15,8 +15,8 @@ public enum PayMethodEnums {
NORMAL_SETTLEMENT(700, "正常结算"), NORMAL_SETTLEMENT(700, "正常结算"),
MODIFY_THE_ORDER(800, "修改订单金额状态(大于)"), MODIFY_THE_ORDER(800, "修改订单金额状态(大于)"),
FLYING_HAND_NOT_CONFIRMED_GT(900, "飞手未确认修改金额大于原订单状态"), 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) { PayMethodEnums(Integer code, String method) {
this.code = code; this.code = code;
......
package com.mmc.iuav.user.service.wallet; package com.mmc.iuav.user.service.wallet;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO; import com.mmc.iuav.user.model.vo.wallet.WalletFlowVO;
/** /**
...@@ -14,4 +15,6 @@ public interface PayWalletService { ...@@ -14,4 +15,6 @@ public interface PayWalletService {
ResultBody initPayWallet(Integer userAccountId); ResultBody initPayWallet(Integer userAccountId);
ResultBody feignWalletFlow(WalletFlowVO walletFlowVO); ResultBody feignWalletFlow(WalletFlowVO walletFlowVO);
ResultBody feignTopUpCash(TopUpOrderVO topUpOrderVO);
} }
...@@ -2,13 +2,16 @@ package com.mmc.iuav.user.service.wallet.impl; ...@@ -2,13 +2,16 @@ package com.mmc.iuav.user.service.wallet.impl;
import com.mmc.iuav.general.CodeUtil; import com.mmc.iuav.general.CodeUtil;
import com.mmc.iuav.response.ResultBody; 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.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.PayLogDO;
import com.mmc.iuav.user.entity.wallet.PayWalletDO; import com.mmc.iuav.user.entity.wallet.PayWalletDO;
import com.mmc.iuav.user.enums.PayMethodEnums; import com.mmc.iuav.user.enums.PayMethodEnums;
import com.mmc.iuav.user.model.dto.wallet.PayWalletDTO; 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.FlyerWalletFlowVO;
import com.mmc.iuav.user.model.vo.wallet.PublisherWalletFlowVO; 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.model.vo.wallet.WalletFlowVO;
import com.mmc.iuav.user.service.wallet.PayWalletService; import com.mmc.iuav.user.service.wallet.PayWalletService;
import com.mmc.iuav.user.util.TDateUtil; import com.mmc.iuav.user.util.TDateUtil;
...@@ -30,6 +33,8 @@ import java.util.Date; ...@@ -30,6 +33,8 @@ import java.util.Date;
public class PayWalletServiceImpl implements PayWalletService { public class PayWalletServiceImpl implements PayWalletService {
@Resource @Resource
PayWalletDao payWalletDao; PayWalletDao payWalletDao;
@Resource
UserServiceDao userServiceDao;
@Override @Override
public ResultBody getPayWalletInfo(Integer userAccountId) { public ResultBody getPayWalletInfo(Integer userAccountId) {
...@@ -417,4 +422,35 @@ public class PayWalletServiceImpl implements PayWalletService { ...@@ -417,4 +422,35 @@ public class PayWalletServiceImpl implements PayWalletService {
} }
return null; 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 @@ ...@@ -440,5 +440,25 @@
where phone_num = #{phoneNum} where phone_num = #{phoneNum}
and disable = 0 and disable = 0
</select> </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> </mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论