客户信息
This commit is contained in:
parent
d8a2f4b3cb
commit
0c87ee6793
@ -7,7 +7,6 @@ import cn.iocoder.yudao.module.app.car.vo.AppCarMainResVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -73,7 +72,6 @@ public class AppCarMainController {
|
||||
@Operation(summary = "获得车辆信息")
|
||||
// @PreAuthorize("@ss.hasPermission('base:car-main:query')")
|
||||
public CommonResult<List<AppCarMainResVo>> getCarMain() {
|
||||
|
||||
List<AppCarMainResVo> carMain = carMainService.getCarMain();
|
||||
return CommonResult.success(carMain);
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
package cn.iocoder.yudao.module.custom.controller.admin;
|
||||
|
||||
import cn.iocoder.yudao.module.custom.service.UserCarService;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Tag(name = "管理后台 - 用户车辆信息表--用户个人录入的")
|
||||
@RestController
|
||||
@RequestMapping("/base/user-car")
|
||||
@Validated
|
||||
public class UserCarController {
|
||||
|
||||
@Resource
|
||||
private UserCarService userCarService;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package cn.iocoder.yudao.module.custom.controller.app;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.custom.service.UserCarService;
|
||||
import cn.iocoder.yudao.module.custom.vo.UserCarVO;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Tag(name = "管理后台 - 用户车辆信息表--用户个人录入的")
|
||||
@RestController
|
||||
@RequestMapping("/base/user-car")
|
||||
@Validated
|
||||
public class UserCarController {
|
||||
|
||||
@Resource
|
||||
private UserCarService userCarService;
|
||||
|
||||
/**
|
||||
* 查询当前登录用户的所有车辆
|
||||
* @author vinjor-M
|
||||
* @date 14:28 2024/10/11
|
||||
**/
|
||||
@GetMapping("/getMyCar")
|
||||
@Operation(summary = "查询个人车辆列表")
|
||||
public CommonResult<?> getMyCar() {
|
||||
return CommonResult.success(userCarService.getMyCar());
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建或更新车辆信息
|
||||
*
|
||||
* @param userCarVO 车辆信息
|
||||
*/
|
||||
@PostMapping("/createOrUpdate")
|
||||
@Operation(summary = "创建或更新车辆信息")
|
||||
public CommonResult<?> createOrUpdate(@RequestBody UserCarVO userCarVO) {
|
||||
return userCarService.createOrUpdate(userCarVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* OCR识别
|
||||
* @author vinjor-M
|
||||
* @date 16:58 2024/10/11
|
||||
* @param imagePath 公网图片地址
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
|
||||
**/
|
||||
@PostMapping("/vehicleLicenseOCR")
|
||||
public CommonResult<?> vehicleLicenseOCR(@RequestBody String imagePath) throws Exception {
|
||||
return CommonResult.success(userCarService.vehicleLicenseOCR(imagePath));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除车辆
|
||||
* @author vinjor-M
|
||||
* @date 14:28 2024/10/11
|
||||
**/
|
||||
@DeleteMapping("/delById")
|
||||
@Operation(summary = "删除车辆")
|
||||
public CommonResult<?> delById(String id) {
|
||||
return CommonResult.success(userCarService.removeById(id));
|
||||
}
|
||||
}
|
@ -1,20 +1,12 @@
|
||||
package cn.iocoder.yudao.module.custom.entity;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 用户车辆信息表--用户个人录入的 DO
|
||||
@ -35,6 +27,10 @@ public class UserCar extends BaseDO {
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 发动机号码
|
||||
*/
|
||||
@ -70,11 +66,11 @@ public class UserCar extends BaseDO {
|
||||
/**
|
||||
* 车辆注册日期
|
||||
*/
|
||||
private LocalDateTime carRegisterDate;
|
||||
private Date carRegisterDate;
|
||||
/**
|
||||
* 保养日期
|
||||
*/
|
||||
private LocalDateTime maintenanceDate;
|
||||
private Date maintenanceDate;
|
||||
/**
|
||||
* 保养里程
|
||||
*/
|
||||
@ -82,19 +78,19 @@ public class UserCar extends BaseDO {
|
||||
/**
|
||||
* 年检日期
|
||||
*/
|
||||
private LocalDateTime inspectionDate;
|
||||
private Date inspectionDate;
|
||||
/**
|
||||
* 保险日期
|
||||
*/
|
||||
private LocalDateTime insuranceDate;
|
||||
private Date insuranceDate;
|
||||
/**
|
||||
* 二级维护时间
|
||||
*/
|
||||
private LocalDateTime checkDate;
|
||||
private Date checkDate;
|
||||
/**
|
||||
* 下次保养日期
|
||||
*/
|
||||
private LocalDateTime nextMaintenanceDate;
|
||||
private Date nextMaintenanceDate;
|
||||
/**
|
||||
* 下次保养里程
|
||||
*/
|
||||
@ -102,15 +98,15 @@ public class UserCar extends BaseDO {
|
||||
/**
|
||||
* 下次年检日期
|
||||
*/
|
||||
private LocalDateTime nextInspectionDate;
|
||||
private Date nextInspectionDate;
|
||||
/**
|
||||
* 保险到期日期
|
||||
*/
|
||||
private LocalDateTime insuranceExpiryDate;
|
||||
private Date insuranceExpiryDate;
|
||||
/**
|
||||
* 下次二级维护时间
|
||||
*/
|
||||
private LocalDateTime nextCheckDate;
|
||||
private Date nextCheckDate;
|
||||
/**
|
||||
* 是否车主
|
||||
*/
|
||||
|
@ -1,8 +1,12 @@
|
||||
package cn.iocoder.yudao.module.custom.mapper;
|
||||
|
||||
import cn.iocoder.yudao.module.custom.entity.UserCar;
|
||||
import cn.iocoder.yudao.module.custom.vo.UserCarVO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户车辆信息表--用户个人录入的 Mapper
|
||||
@ -12,5 +16,13 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface UserCarMapper extends BaseMapper<UserCar> {
|
||||
|
||||
/**
|
||||
* 查询用户的车辆
|
||||
* @author vinjor-M
|
||||
* @date 18:53 2024/10/11
|
||||
* @param userId 用户id
|
||||
* @return java.util.List<cn.iocoder.yudao.module.custom.entity.UserCar>
|
||||
**/
|
||||
List<UserCarVO> selectByUserId(@Param("userId") Long userId);
|
||||
|
||||
}
|
@ -1,7 +1,12 @@
|
||||
package cn.iocoder.yudao.module.custom.service;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.custom.entity.UserCar;
|
||||
import cn.iocoder.yudao.module.custom.vo.UserCarVO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户车辆信息表--用户个人录入的 Service 接口
|
||||
@ -10,5 +15,29 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface UserCarService extends IService<UserCar> {
|
||||
|
||||
/**
|
||||
* 创建或更新车辆信息
|
||||
* @author vinjor-M
|
||||
* @date 14:11 2024/10/11
|
||||
* @param userCarVO 车辆信息
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
|
||||
**/
|
||||
CommonResult<?> createOrUpdate(UserCarVO userCarVO);
|
||||
|
||||
/**
|
||||
* 查询当前登录用户的所有车辆
|
||||
* @author vinjor-M
|
||||
* @date 14:28 2024/10/11
|
||||
* @return java.util.List<cn.iocoder.yudao.module.custom.vo.UserCarVO>
|
||||
**/
|
||||
List<UserCarVO> getMyCar();
|
||||
|
||||
/**
|
||||
*
|
||||
* @author vinjor-M
|
||||
* @date 16:59 2024/10/11
|
||||
* @param imagePath 公网图片地址
|
||||
* @return java.lang.Object
|
||||
**/
|
||||
Object vehicleLicenseOCR(String imagePath) throws TencentCloudSDKException;
|
||||
}
|
@ -1,13 +1,24 @@
|
||||
package cn.iocoder.yudao.module.custom.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.custom.entity.UserCar;
|
||||
import cn.iocoder.yudao.module.custom.mapper.UserCarMapper;
|
||||
import cn.iocoder.yudao.module.custom.service.UserCarService;
|
||||
import cn.iocoder.yudao.module.custom.vo.DrivelicenseVO;
|
||||
import cn.iocoder.yudao.module.custom.vo.UserCarVO;
|
||||
import cn.iocoder.yudao.util.VehicleLicenseOCR;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户车辆信息表--用户个人录入的 Service 实现类
|
||||
@ -20,4 +31,53 @@ public class UserCarServiceImpl extends ServiceImpl<UserCarMapper, UserCar> impl
|
||||
|
||||
@Resource
|
||||
private UserCarMapper userCarMapper;
|
||||
|
||||
/**
|
||||
* 创建或更新车辆信息
|
||||
*
|
||||
* @param userCarVO 车辆信息
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<?>
|
||||
* @author vinjor-M
|
||||
* @date 14:11 2024/10/11
|
||||
**/
|
||||
@Override
|
||||
public CommonResult<?> createOrUpdate(UserCarVO userCarVO) {
|
||||
//车牌号英文全部转大写
|
||||
userCarVO.setLicenseNumber(userCarVO.getLicenseNumber().toUpperCase());
|
||||
//设置所属者
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
userCarVO.setUserId(loginUser.getId());
|
||||
this.saveOrUpdate(userCarVO);
|
||||
return CommonResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录用户的所有车辆
|
||||
*
|
||||
* @return java.util.List<cn.iocoder.yudao.module.custom.vo.UserCarVO>
|
||||
* @author vinjor-M
|
||||
* @date 14:28 2024/10/11
|
||||
**/
|
||||
@Override
|
||||
public List<UserCarVO> getMyCar() {
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
return userCarMapper.selectByUserId(loginUser.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param imagePath 公网图片地址
|
||||
* @return java.lang.Object
|
||||
* @author vinjor-M
|
||||
* @date 16:59 2024/10/11
|
||||
**/
|
||||
@Override
|
||||
public Object vehicleLicenseOCR(String imagePath) throws TencentCloudSDKException {
|
||||
String info = VehicleLicenseOCR.dealFunction(imagePath);
|
||||
JSONObject infoJson = JSONUtil.parseObj(info);
|
||||
DrivelicenseVO licenseVO = BeanUtil.toBean(infoJson.getJSONObject("FrontInfo"),DrivelicenseVO.class);
|
||||
if(licenseVO.getModel().contains("牌")){
|
||||
licenseVO.setBrand(licenseVO.getModel().split("牌")[0]);
|
||||
}
|
||||
return licenseVO;
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.custom.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 行驶证OCR识别结果
|
||||
* @author vinjor-M
|
||||
* @date 17:17 2024/10/11
|
||||
**/
|
||||
@Data
|
||||
public class DrivelicenseVO {
|
||||
/**所有人*/
|
||||
private String Owner;
|
||||
/**住址*/
|
||||
private String Address;
|
||||
/**车辆类型*/
|
||||
private String VehicleType;
|
||||
/**品牌型号*/
|
||||
private String Model;
|
||||
/**品牌*/
|
||||
private String brand;
|
||||
/**注册日期*/
|
||||
private String RegisterDate;
|
||||
/**发证日期*/
|
||||
private String IssueDate;
|
||||
/**车辆识别代号*/
|
||||
private String Vin;
|
||||
/**所有人*/
|
||||
private String Seal;
|
||||
/**车牌号*/
|
||||
private String PlateNo;
|
||||
/**使用性质*/
|
||||
private String UseCharacter;
|
||||
/**发动机号码*/
|
||||
private String EngineNo;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package cn.iocoder.yudao.module.custom.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.custom.entity.UserCar;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserCarVO extends UserCar {
|
||||
/**品牌名称*/
|
||||
private String brandName;
|
||||
/**品牌logo*/
|
||||
private String logoImg;
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package cn.iocoder.yudao.util;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 基础工具类
|
||||
* @author vinjor-M
|
||||
* @date 14:15 2024/10/11
|
||||
**/
|
||||
@Component
|
||||
public class BaseUtil {
|
||||
}
|
@ -9,4 +9,15 @@
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
<select id="selectByUserId" resultType="cn.iocoder.yudao.module.custom.vo.UserCarVO">
|
||||
SELECT
|
||||
buc.* ,
|
||||
bcb.brand_name AS brandName,
|
||||
bcb.logo_img as logoImg
|
||||
FROM
|
||||
base_user_car buc
|
||||
LEFT JOIN base_car_brand bcb ON buc.car_brand = bcb.id
|
||||
WHERE buc.user_id = #{userId}
|
||||
AND buc.deleted = 0
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.system.controller.app.user;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@Tag(name = "管理后台 - 用户")
|
||||
@RestController
|
||||
@RequestMapping("/system/user")
|
||||
@Validated
|
||||
public class AppUserController {
|
||||
|
||||
@Resource
|
||||
private AdminUserService userService;
|
||||
|
||||
/**
|
||||
* 微信小程序端修改个人信息
|
||||
* @author vinjor-M
|
||||
* @date 20:14 2024/10/11
|
||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
|
||||
**/
|
||||
@PutMapping("update")
|
||||
@Operation(summary = "修改用户")
|
||||
public CommonResult<Boolean> updateUser(@RequestBody UserInfoVO reqVO) {
|
||||
userService.updateCusInfo(reqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package cn.iocoder.yudao.module.system.controller.app.user;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UserInfoVO {
|
||||
/** 用户id **/
|
||||
private Long id;
|
||||
/** 用户昵称 **/
|
||||
private String nickname;
|
||||
/** 头像地址 **/
|
||||
private String avatar;
|
||||
}
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.app.user.UserInfoVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -59,4 +60,6 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
AdminUserDO getUserByMobileWithoutTenant(String phoneNumber);
|
||||
|
||||
int updateSetOpenId(@Param("userId")Long userId,@Param("openId")String openId);
|
||||
|
||||
int updateCusInfo(@Param("entity") UserInfoVO userInfoVO);
|
||||
}
|
||||
|
@ -6,8 +6,6 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
|
||||
@ -217,6 +215,16 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
return AuthConvert.INSTANCE.convert(accessTokenDO);
|
||||
}
|
||||
|
||||
private AuthLoginRespVO createTokenAfterLoginSuccessCustomer(Long userId, String username, LoginLogTypeEnum logType) {
|
||||
// 插入登陆日志
|
||||
createLoginLog(userId, username, logType, LoginResultEnum.SUCCESS);
|
||||
// 创建访问令牌
|
||||
OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(userId, UserTypeEnum.MEMBER.getValue(),
|
||||
OAuth2ClientConstants.CLIENT_ID_DEFAULT, null);
|
||||
// 构建返回结果
|
||||
return AuthConvert.INSTANCE.convert(accessTokenDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AuthLoginRespVO refreshToken(String refreshToken) {
|
||||
OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.refreshAccessToken(refreshToken, OAuth2ClientConstants.CLIENT_ID_DEFAULT);
|
||||
@ -408,7 +416,7 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
@Override
|
||||
public AuthLoginRespVO wxLoginByUserId(Long userId, String userName) {
|
||||
// 生成token
|
||||
return createTokenAfterLoginSuccess(userId, userName, LoginLogTypeEnum.LOGIN_SOCIAL);
|
||||
return createTokenAfterLoginSuccessCustomer(userId, userName, LoginLogTypeEnum.LOGIN_SOCIAL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,17 +1,23 @@
|
||||
package cn.iocoder.yudao.module.system.service.user;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.app.user.UserInfoVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 后台用户 Service 接口
|
||||
@ -35,6 +41,14 @@ public interface AdminUserService {
|
||||
*/
|
||||
void updateUser(@Valid UserSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 微信小程序端修改用户个人信息
|
||||
* @author vinjor-M
|
||||
* @date 20:11 2024/10/11
|
||||
* @param userInfoVO 用户对象
|
||||
**/
|
||||
void updateCusInfo(UserInfoVO userInfoVO);
|
||||
|
||||
/**
|
||||
* 更新用户的最后登陆信息
|
||||
*
|
||||
|
@ -12,13 +12,13 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
||||
import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
|
||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.app.user.UserInfoVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
@ -142,6 +142,18 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
LogRecordContext.putVariable("user", oldUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信小程序端修改用户个人信息
|
||||
*
|
||||
* @param userInfoVO 用户对象
|
||||
* @author vinjor-M
|
||||
* @date 20:11 2024/10/11
|
||||
**/
|
||||
@Override
|
||||
public void updateCusInfo(UserInfoVO userInfoVO) {
|
||||
userMapper.updateCusInfo(userInfoVO);
|
||||
}
|
||||
|
||||
private void updateUserPost(UserSaveReqVO reqVO, AdminUserDO updateObj) {
|
||||
Long userId = reqVO.getId();
|
||||
Set<Long> dbPostIds = convertSet(userPostMapper.selectListByUserId(userId), UserPostDO::getPostId);
|
||||
|
@ -6,6 +6,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<update id="updateSetOpenId">
|
||||
UPDATE system_users SET open_id = #{openId} WHERE id = #{userId}
|
||||
</update>
|
||||
<update id="updateCusInfo">
|
||||
UPDATE system_users
|
||||
SET nickname = #{entity.nickname},avatar = #{entity.avatar}
|
||||
WHERE id = #{entity.id}
|
||||
</update>
|
||||
|
||||
<select id="getUsersByRoleRescue" resultType="cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO">
|
||||
SELECT
|
||||
|
@ -297,7 +297,7 @@ yudao:
|
||||
- /admin-api/rescuePayApi/payNotify
|
||||
- /admin-api/payApi/payNotify
|
||||
- /admin-api/base/notice/**
|
||||
|
||||
- /app-api/** #小程序端接口,不区分租户
|
||||
ignore-tables:
|
||||
- system_tenant
|
||||
- system_tenant_package
|
||||
@ -344,6 +344,7 @@ yudao:
|
||||
- tmp_report_data_income
|
||||
- system_users
|
||||
- dl_base_notice
|
||||
- base_user_car
|
||||
ignore-caches:
|
||||
- permission_menu_ids
|
||||
- oauth_client
|
||||
|
@ -4,7 +4,7 @@
|
||||
"avatar": "",
|
||||
"version": "4.9.2",
|
||||
"createdTime": "2024-10-9 10:34:15",
|
||||
"updatedTime": "2024-10-11 13:52:26",
|
||||
"updatedTime": "2024-10-11 14:30:48",
|
||||
"dbConns": [],
|
||||
"profile": {
|
||||
"default": {
|
||||
@ -28175,6 +28175,24 @@
|
||||
"extProps": {},
|
||||
"uiHint": "642D2E0A-8846-4549-BE56-8C0473F26EDE"
|
||||
},
|
||||
{
|
||||
"defKey": "user_id",
|
||||
"defName": "用户ID",
|
||||
"comment": "",
|
||||
"type": "VARCHAR",
|
||||
"len": 50,
|
||||
"scale": "",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoIncrement": false,
|
||||
"defaultValue": "",
|
||||
"hideInGraph": false,
|
||||
"refDict": "",
|
||||
"baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
|
||||
"extProps": {},
|
||||
"domain": "",
|
||||
"id": "043E95EA-52A2-4C8E-B275-5394988C4D30"
|
||||
},
|
||||
{
|
||||
"defKey": "engine_number",
|
||||
"defName": "发动机号码",
|
||||
|
Loading…
Reference in New Issue
Block a user