Merge pull request 'wangxinyuan' (#1) from wangxinyuan into master

Reviewed-on: #1
master
TreeData 2024-08-25 09:56:29 +08:00
commit 3f9602922a
10 changed files with 296 additions and 1 deletions

View File

@ -17,6 +17,11 @@
<dependencies> <dependencies>
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>

View File

@ -0,0 +1,30 @@
package com.muyu.config;
/**
* @Author: wangxinyuan
* @Date: 2024/8/22 6:43
*/
public class AlipayConfig {
// 商户appid
public static String APPID = "9021000139609995";
// 私钥 pkcs8格式的
public static String RSA_PRIVATE_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDMbBAf8yRmFvLx2SEfhdjdidpqWzfeRkL8d3K0Sz9DC5xxnrrUujwQF7FfbmwR43oJy1mIrMffc2Fp3vpSjWgdOMfAJy5N0GlrDb4o/3mN3pH3xElfdz7VEw9jcIhLDEsV2LP3nnrbkEKoj93gnZsuMkTnO4yfsEyCZVL6rkK01R9Pcu3tKKLrY5n30U7aE1WOuKvE3pTmxkpdXaX3Q46npP8wHOY1x6kUzyFgjFip/E4HEE91OzqaVnirt6GkWm9m0VAiUOENthEbnSzKagoVuTV0lXoX0hzTJ4H/4Ees2wOE4pZzeK2xqrolD3/EIR31I1ztyz4hXJG3sBC3v7gFAgMBAAECggEAQP9jKSWAP02wtaFaXNGMIPTCE+spGm2wwuGgAR+j38eDWMUllpoYmu1NopBToGR52z9jGogFjVD8elNBuJnprtDtAnXyzR8lRbq66gJBPhC0zNkGk2ow+kLzM6UGUQZ5oVqj7mnfmoyGBV6pJ9A1FT06l2Nh1SyTRyq8daSO5TwE5wUl040YT5pFIy4TCL1NhJVqDU61kNZCzVrUN4Lorkvv4gAeYZGY0cX0QMWXxwq5N7dOAn1tbwuo3WHnJbva3KBOVCtkldZ7Z0iwFQsniZXuXk7NmpNKFuZiQArlR8pTqDJB1dUwua9Nw1c9T+0CvpGRUH2u3wFIWK/RYyh0gQKBgQDxZaam5Z4irNdlxv9ypwQiiSsar745cDsmKv7oE4mUkxQzcR1segK+og0aX2s6Oa25Cj64jSXqbY/Y2DsoIEFFDe9z2E52QEOsZcN51edLc88YsopSSSIgobA8/+hB+AHjlILNhrtghwbKBOxNR5vBM/QGmfWaGPqtA8HsD3DQcQKBgQDYyc56eLOPWLuREu1aFrNs4viJ8r4v+pZmLFrXHojPF3teQr6z+CnrnF7vKYAmnOVxD2M44LgRr7LYnswzDWLLvrAkhUCYiaTL+6dvgy0okkUGE5QjGPP889yiHef8b1fRKNaVM+hXkt452oqhh95ZMnN4/ugZ3Uiq3UF8Q4vq1QKBgEV/cn9SVDi/cjQHGrwzgWk//HzuY+G9ggn3DvRZy55Oyd4VjtcQOYIQvZz+I6zbtjwzyuLvIB9h86wGdOGUh7YN0QaVG+HHlrQniCOnhbOfX9xIarJOA9lJM6gcNQ3pDQIsW4w4YfHkbfvzduS43Qq+nl7YLHF1B5aQImCIAX7BAoGBAK135iG33a6RiR0P8R8KVS6G++uecrL/qEM/sLy78SsNFimZ7PEjXZ/rs0dahPHgz/PFJVdI8eEtH0YY4zritjBkeJvwiHzGfzi+OP+RDpyNVnADUKE5AVtiYyTSG2SyT6nNLM+dBoi0u9+9UPrqNnBXX3DtQBoaKGCYxSLDBf21AoGANG5wAjV+ME7uAYEvW9GlrvGmNmzyUuiZrYuYHCf76CTa+q0+P7o0WgKcWEXUSah08qF4EItUQuuw+PtFTFs/sorqa9QrZs/ozTt8Q4ms/tahFPkZOTJ8s1Az2jY3C9ERwS8ab3Q+kbLiXDTnWo4s7YqwpwMZd/abhs3SwCjzLDI=";
// 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数必须外网可以正常访问
public static String notify_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/notify_url.jsp";
// 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数必须外网可以正常访问 商户可以自定义同步跳转地址
public static String return_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/return_url.jsp";
// 请求网关地址
public static String URL = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
// 编码
public static String CHARSET = "UTF-8";
// 返回格式
public static String FORMAT = "json";
// 支付宝公钥
public static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnOq1vdnkd83CnZUWZVka7EWT0YgiGX8io6ul4GThlue66YNKoS/rKT1rHzyZqBwNG1qgeU7eH+UazuFK2GsxrDI1rSqzljkgQnkmwtjEsJYpXzFF5PTuW8bsDNHoXr5LsEyMaljyiNtBO3uc+Zbb0D6GcbnQUFGorMi9tKR28XjNJkvamohMhh+V5cb1FJtybliNoGAjA+Nh+aQVAXqFEPj3FX0qhPi4gRXniYL0o9ePaRtNg5pJ/uJ3G6llRi3+uZleD7XBSQCSf8ZZJfH8Bvr3mTQ/ObpyDub8VYnIkOgld4OAJRzqXJAyPFo0mRGhaeuSqviyRYGQK8/U8CrLkQIDAQAB";
// 日志记录目录定义在 logFile 中
public static String log_path = "/log";
// RSA2
public static String SIGNTYPE = "RSA2";
}

View File

@ -0,0 +1,36 @@
package com.muyu.config.util;
import com.muyu.config.AlipayConfig;
import java.io.FileWriter;
import java.io.IOException;
/**
* @Author: wangxinyuan
* @Date: 2024/8/22 6:48
*/
public class logFile {
/**
* 便
* @param sWord
*/
public static void logResult(String sWord) {
FileWriter writer = null;
try {
writer = new FileWriter(AlipayConfig.log_path + "alipay_log_" + System.currentTimeMillis()+".txt");
writer.write(sWord);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

View File

@ -26,6 +26,7 @@ import org.springframework.web.multipart.MultipartFile;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -254,6 +255,34 @@ public class SysUserController extends BaseController {
return toAjax(userService.updateUserStatus(user)); return toAjax(userService.updateUserStatus(user));
} }
//TODO 用户充值
/**
*
*/
@Log(title = "用户充值", businessType = BusinessType.INSERT)
@PostMapping ("/alipay/recharge")
public Result userBalance(@RequestBody SysUser user){
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
user.setCreateBy(SecurityUtils.getUsername());
return toAjax(userService.insertBalance(user));
}
//TODO
// 查询当前用户的余额
@GetMapping("/balance/{userId}")
public Result userBalance(@PathVariable("userId") Long userId){
userService.checkUserDataScope(userId);
int rows = userService.selectBalance(userId);
System.out.println(rows);
return Result.success(rows);
}
/** /**
* *
*/ */

View File

@ -75,6 +75,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
*/ */
public int updateUser (SysUser user); public int updateUser (SysUser user);
public int updateUserBalance (SysUser user);
/** /**
* *
* *
@ -139,4 +142,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
* @return * @return
*/ */
public SysUser checkEmailUnique (String email); public SysUser checkEmailUnique (String email);
public int selectBalance(Long userId);
} }

View File

@ -225,4 +225,9 @@ public interface SysUserService extends IService<SysUser> {
* @return * @return
*/ */
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName); public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
int insertBalance(SysUser user);
int selectBalance(Long userId);
} }

View File

@ -1,5 +1,10 @@
package com.muyu.system.service.impl; package com.muyu.system.service.impl;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.constant.UserConstants; import com.muyu.common.core.constant.UserConstants;
import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.exception.ServiceException;
@ -10,6 +15,7 @@ import com.muyu.common.datascope.annotation.DataScope;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.config.AlipayConfig;
import com.muyu.system.domain.SysPost; import com.muyu.system.domain.SysPost;
import com.muyu.system.domain.SysUserPost; import com.muyu.system.domain.SysUserPost;
import com.muyu.system.domain.SysUserRole; import com.muyu.system.domain.SysUserRole;
@ -17,6 +23,7 @@ import com.muyu.system.mapper.*;
import com.muyu.system.service.SysUserService; import com.muyu.system.service.SysUserService;
import com.muyu.system.service.SysConfigService; import com.muyu.system.service.SysConfigService;
import jakarta.validation.Validator; import jakarta.validation.Validator;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -24,15 +31,20 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.muyu.config.AlipayConfig.*;
/** /**
* *
* *
* @author muyu * @author muyu
*/ */
@Service @Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService { public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@ -114,6 +126,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return userMapper.selectUserById(userId); return userMapper.selectUserById(userId);
} }
@Override
public int selectBalance(Long userId) {
int i = userMapper.selectBalance(userId);
System.out.println(i);
return i;
}
/** /**
* *
* *
@ -245,6 +265,42 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return rows; return rows;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public int insertBalance(SysUser user) {
// 创建支付宝客户端
AlipayClient alipayClient = new DefaultAlipayClient(URL, APPID, RSA_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGNTYPE);
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
// 发起支付请求
try {
//TODO 调用支付宝接口
AlipayTradePagePayResponse response = alipayClient.pageExecute(alipayRequest);
if (response.isSuccess()) {
// 支付成功,更新用户余额
SysUser sysUser = userMapper.selectUserById(user.getUserId());
sysUser.setUserBalance(user.getUserBalance());
// double currentBalance = sysUser.getUserBalance();
// double newPaymentAmount = user.getPaymentAmount();
// double newBalance = currentBalance + newPaymentAmount;
// sysUser.setUserBalance(newBalance);
userMapper.updateUserBalance(sysUser);
} else {
throw new RuntimeException("充值失败");
}
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
/** /**
* *
* *
@ -354,6 +410,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return userMapper.resetUserPwd(userName, password); return userMapper.resetUserPwd(userName, password);
} }
/** /**
* *
* *
@ -403,6 +463,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
} }
} }
/** /**
* ID * ID
* *
@ -500,4 +562,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return successMsg.toString(); return successMsg.toString();
} }
} }

View File

@ -0,0 +1,89 @@
package com.muyu.system.util;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.request.AlipayTradeWapPayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.alipay.api.response.AlipayTradeWapPayResponse;
/**
* @Author: wangxinyuan
* @Date: 2024/7/10 7:33
*/
public class Dome {
public static void main(String[] args) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(
URL,
APPID,
RSA_PRIVATE_KEY,
FORMAT,
CHARSET,
ALIPAY_PUBLIC_KEY,
SIGNTYPE
);
AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
// 异步接收地址仅支持http/https公网可访问
request.setNotifyUrl(notify_url);
// 同步跳转地址仅支持http/https
request.setReturnUrl(return_url);
// 必传参数
JSONObject bizContent = new JSONObject();
// 商户订单号,商家自定义,保持唯一性
bizContent.put("out_trade_no", "20210817010101004");
// 支付金额最小值0.01元
bizContent.put("total_amount", 0.01);
// 订单标题,不可使用特殊符号
bizContent.put("subject", "测试商品");
// 可选参数
// 手机网站支付默认传值QUICK_WAP_WAY
bizContent.put("product_code", "QUICK_WAP_WAY");
// bizContent.put("time_expire", "2022-08-01 22:00:00");
// 设置业务请求参数
request.setBizContent(bizContent.toString());
// 调用支付宝接口,获取支付页面内容
AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, "POST");
// 如果需要返回GET请求请使用
// AlipayTradeWapPayResponse response = alipayClient.pageExecute(request,"GET");
String pageRedirectionData = response.getBody();
System.out.println(pageRedirectionData);
if (response.isSuccess()) {
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
}
// 商户appid
public static String APPID = "9021000139609995";
// 私钥 pkcs8格式的
public static String RSA_PRIVATE_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDMbBAf8yRmFvLx2SEfhdjdidpqWzfeRkL8d3K0Sz9DC5xxnrrUujwQF7FfbmwR43oJy1mIrMffc2Fp3vpSjWgdOMfAJy5N0GlrDb4o/3mN3pH3xElfdz7VEw9jcIhLDEsV2LP3nnrbkEKoj93gnZsuMkTnO4yfsEyCZVL6rkK01R9Pcu3tKKLrY5n30U7aE1WOuKvE3pTmxkpdXaX3Q46npP8wHOY1x6kUzyFgjFip/E4HEE91OzqaVnirt6GkWm9m0VAiUOENthEbnSzKagoVuTV0lXoX0hzTJ4H/4Ees2wOE4pZzeK2xqrolD3/EIR31I1ztyz4hXJG3sBC3v7gFAgMBAAECggEAQP9jKSWAP02wtaFaXNGMIPTCE+spGm2wwuGgAR+j38eDWMUllpoYmu1NopBToGR52z9jGogFjVD8elNBuJnprtDtAnXyzR8lRbq66gJBPhC0zNkGk2ow+kLzM6UGUQZ5oVqj7mnfmoyGBV6pJ9A1FT06l2Nh1SyTRyq8daSO5TwE5wUl040YT5pFIy4TCL1NhJVqDU61kNZCzVrUN4Lorkvv4gAeYZGY0cX0QMWXxwq5N7dOAn1tbwuo3WHnJbva3KBOVCtkldZ7Z0iwFQsniZXuXk7NmpNKFuZiQArlR8pTqDJB1dUwua9Nw1c9T+0CvpGRUH2u3wFIWK/RYyh0gQKBgQDxZaam5Z4irNdlxv9ypwQiiSsar745cDsmKv7oE4mUkxQzcR1segK+og0aX2s6Oa25Cj64jSXqbY/Y2DsoIEFFDe9z2E52QEOsZcN51edLc88YsopSSSIgobA8/+hB+AHjlILNhrtghwbKBOxNR5vBM/QGmfWaGPqtA8HsD3DQcQKBgQDYyc56eLOPWLuREu1aFrNs4viJ8r4v+pZmLFrXHojPF3teQr6z+CnrnF7vKYAmnOVxD2M44LgRr7LYnswzDWLLvrAkhUCYiaTL+6dvgy0okkUGE5QjGPP889yiHef8b1fRKNaVM+hXkt452oqhh95ZMnN4/ugZ3Uiq3UF8Q4vq1QKBgEV/cn9SVDi/cjQHGrwzgWk//HzuY+G9ggn3DvRZy55Oyd4VjtcQOYIQvZz+I6zbtjwzyuLvIB9h86wGdOGUh7YN0QaVG+HHlrQniCOnhbOfX9xIarJOA9lJM6gcNQ3pDQIsW4w4YfHkbfvzduS43Qq+nl7YLHF1B5aQImCIAX7BAoGBAK135iG33a6RiR0P8R8KVS6G++uecrL/qEM/sLy78SsNFimZ7PEjXZ/rs0dahPHgz/PFJVdI8eEtH0YY4zritjBkeJvwiHzGfzi+OP+RDpyNVnADUKE5AVtiYyTSG2SyT6nNLM+dBoi0u9+9UPrqNnBXX3DtQBoaKGCYxSLDBf21AoGANG5wAjV+ME7uAYEvW9GlrvGmNmzyUuiZrYuYHCf76CTa+q0+P7o0WgKcWEXUSah08qF4EItUQuuw+PtFTFs/sorqa9QrZs/ozTt8Q4ms/tahFPkZOTJ8s1Az2jY3C9ERwS8ab3Q+kbLiXDTnWo4s7YqwpwMZd/abhs3SwCjzLDI=";
// 请求网关地址
public static String URL = "https://openapi-sandbox.dl.alipaydev.com/gateway.do";
// 编码
public static String CHARSET = "UTF-8";
// 返回格式
public static String FORMAT = "json";
// 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数必须外网可以正常访问
public static String notify_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/notify_url.jsp";
// 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数必须外网可以正常访问 商户可以自定义同步跳转地址
public static String return_url = "http://商户网关地址/alipay.trade.wap.pay-JAVA-UTF-8/return_url.jsp";
// 支付宝公钥
public static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnOq1vdnkd83CnZUWZVka7EWT0YgiGX8io6ul4GThlue66YNKoS/rKT1rHzyZqBwNG1qgeU7eH+UazuFK2GsxrDI1rSqzljkgQnkmwtjEsJYpXzFF5PTuW8bsDNHoXr5LsEyMaljyiNtBO3uc+Zbb0D6GcbnQUFGorMi9tKR28XjNJkvamohMhh+V5cb1FJtybliNoGAjA+Nh+aQVAXqFEPj3FX0qhPi4gRXniYL0o9ePaRtNg5pJ/uJ3G6llRi3+uZleD7XBSQCSf8ZZJfH8Bvr3mTQ/ObpyDub8VYnIkOgld4OAJRzqXJAyPFo0mRGhaeuSqviyRYGQK8/U8CrLkQIDAQAB";
// 日志记录目录定义在 logFile 中
public static String log_path = "/log";
// RSA2
public static String SIGNTYPE = "RSA2";
}

View File

@ -6,7 +6,7 @@ nacos:
addr: 47.116.184.54:8848 addr: 47.116.184.54:8848
user-name: nacos user-name: nacos
password: nacos password: nacos
namespace: cloud-2112 namespace: cloud-tx
# Spring # Spring
spring: spring:

View File

@ -63,6 +63,7 @@
u.create_by, u.create_by,
u.create_time, u.create_time,
u.remark, u.remark,
u.user_balance,
d.dept_id, d.dept_id,
d.parent_id, d.parent_id,
d.ancestors, d.ancestors,
@ -183,6 +184,9 @@
and del_flag = '0' and del_flag = '0'
limit 1 limit 1
</select> </select>
<select id="selectBalance" resultType="java.lang.Integer">
select user_balance from sys_user where user_id = #{userId}
</select>
<insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId"> <insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user( insert into sys_user(
@ -216,6 +220,8 @@
) )
</insert> </insert>
<update id="updateUser" parameterType="com.muyu.common.system.domain.SysUser"> <update id="updateUser" parameterType="com.muyu.common.system.domain.SysUser">
update sys_user update sys_user
<set> <set>
@ -237,6 +243,30 @@
where user_id = #{userId} where user_id = #{userId}
</update> </update>
<update id="updateUserBalance" parameterType="com.muyu.common.system.domain.SysUser">
update sys_user
<set>
<if test="deptId != null and deptId != 0">dept_id = #{deptId},</if>
<if test="userName != null and userName != ''">user_name = #{userName},</if>
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
<if test="email != null ">email = #{email},</if>
<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
<if test="sex != null and sex != ''">sex = #{sex},</if>
<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
<if test="password != null and password != ''">password = #{password},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
<if test="loginDate != null">login_date = #{loginDate},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="userBalance != null">user_balance = #{userBalance},</if>
<if test="paymentAmount != null">payment_amount = #{paymentAmount},</if>
<if test="remark != null">remark = #{remark},</if>
update_time = sysdate()
</set>
where user_id = #{userId}
</update>
<update id="updateUserStatus" parameterType="com.muyu.common.system.domain.SysUser"> <update id="updateUserStatus" parameterType="com.muyu.common.system.domain.SysUser">
update sys_user update sys_user
set status = #{status} set status = #{status}
@ -255,6 +285,7 @@
where user_name = #{userName} where user_name = #{userName}
</update> </update>
<delete id="deleteUserById" parameterType="Long"> <delete id="deleteUserById" parameterType="Long">
update sys_user update sys_user
set del_flag = '2' set del_flag = '2'