phpcjl
2024-12-02 4c6d6ff48364eb56a7d61ca0877fd98f1ff9b447
Merge remote-tracking branch 'origin/master'

# Conflicts:
# ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUserShop.java
# ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/AppUserShopMapper.java
# ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserShopService.java
# ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserShopServiceImpl.java
12个文件已修改
7个文件已添加
307 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUserShop.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserShopMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/UserShopService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserShopServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/UserShopMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShopController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/AppUserShopMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserShopService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserShopServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserShopMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/AppUserShop.java
@@ -1,27 +1,31 @@
package com.ruoyi.account.api.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_app_user_shop")
@ApiModel(value="AppUser对象", description="")
public class AppUserShop implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private Long appUserId;
    private Long shopId;
public class AppUserShop {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户id
     */
    @TableField("app_user_id")
    private Long appUserId;
    /**
     * 门店id
     */
    @TableField("shop_id")
    private Integer shopId;
}
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/ShopClientFallbackFactory.java
@@ -15,6 +15,11 @@
            public R<Shop> getShopById(Integer id) {
                return R.fail("根据id获取门店信息失败:" + cause.getMessage());
            }
            @Override
            public R<Shop> getShopByPhone(String phone) {
                return R.fail("根据店铺管理员电话获取门店数据失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/ShopClient.java
@@ -23,4 +23,13 @@
     */
    @PostMapping("/shop/getShopById")
    R<Shop> getShopById(@RequestParam("id") Integer id);
    /**
     * 根据店铺管理员电话获取门店数据
     * @param phone
     * @return
     */
    @PostMapping("/shop/getShopByPhone")
    R<Shop> getShopByPhone(@RequestParam("phone") String phone);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java
@@ -115,7 +115,7 @@
    /**
     * 角色类型 1=平台 2=公司 3=门店 4=修理厂
     */
    @ApiModelProperty(value = "角色类型 1=平台 2=合作商")
    @ApiModelProperty(value = "角色类型 1=平台 2=门店")
    private Integer roleType;
    @Excel(name = "密码修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
@@ -131,13 +131,9 @@
    @TableField("forbidden_remark")
    private String forbiddenRemark;
    
    @ApiModelProperty(value = "充电站")
    @TableField(exist = false)
    private List<String> siteNames;
    @ApiModelProperty(value = "充电站id", required = true)
    @TableField(exist = false)
    private List<Integer> siteIds;
    @ApiModelProperty(value = "前端用户id")
    @TableField("app_user_id")
    private Long appUserId;
    
    @ApiModelProperty(value = "角色")
    @TableField(exist = false)
@@ -386,25 +382,12 @@
        this.roleId = roleId;
    }
    
    public List<String> getSiteNames() {
        return siteNames;
    public Long getAppUserId() {
        return appUserId;
    }
    
    public void setSiteNames(List<String> siteNames) {
        this.siteNames = siteNames;
    }
    public List<String> getRoleNames() {
        return roleNames;
    }
    public List<Integer> getSiteIds() {
        return siteIds;
    }
    public void setSiteIds(List<Integer> siteIds) {
        this.siteIds = siteIds;
    public void setAppUserId(Long appUserId) {
        this.appUserId = appUserId;
    }
    
    public void setRoleNames(List<String> roleNames) {
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
@@ -73,6 +73,11 @@
            public R resetPassword(SysUser user) {
                return R.fail("重置用户密码失败:" + cause.getMessage());
            }
            @Override
            public R saveShopUser(SysUser user) {
                return R.fail("新增加门店员工账号数据失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java
@@ -88,4 +88,14 @@
     */
    @PostMapping("/user/resetPassword")
    R resetPassword(@RequestBody SysUser user);
    /**
     * 新增加门店员工账号数据
     * @param user
     * @return
     */
    @PostMapping("/user/saveShopUser")
    R saveShopUser(@RequestBody SysUser user);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/UserShop.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.system.api.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:36
 */
@Data
@TableName("t_user_shop")
public class UserShop {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户id
     */
    @TableField("user_id")
    private Integer userId;
    /**
     * 门店id
     */
    @TableField("shop_id")
    private Integer shopId;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -15,6 +15,7 @@
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.system.api.model.UserShop;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.query.GetSysUserList;
@@ -64,6 +65,9 @@
    @Resource
    private ISysUserRoleService sysUserRoleService;
    @Resource
    private UserShopService userShopService;
    
    
    
@@ -528,4 +532,39 @@
    public SysUser getSysUserById(@RequestParam("userId") Long userId){
        return userService.getById(userId);
    }
    /**
     * 保存门店员工管理后台账号
     * @param user
     * @return
     */
    @ResponseBody
    @PostMapping("/saveShopUser")
    public R saveShopUser(@RequestBody SysUser user){
        Integer shopId = user.getObjectId();
        SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, user.getPhonenumber()).eq(SysUser::getDelFlag, "0")
                .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2).eq(SysUser::getAppUserId, user.getAppUserId()));
        if(null == one){
            user.setObjectId(null);
            user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
            userService.save(user);
            //添加用户角色数据
            SysUserRole userRole = new SysUserRole();
            userRole.setUserId(user.getUserId());
            userRole.setRoleId(2L);
            userRoleService.save(userRole);
        }else{
            user = one;
        }
        //添加门店关系数据
        UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, shopId).eq(UserShop::getUserId, user.getAppUserId()));
        if(null == userShop){
            userShop = new UserShop();
            userShop.setUserId(user.getUserId().intValue());
            userShop.setShopId(user.getObjectId());
            userShopService.save(userShop);
        }
        return R.ok();
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserShopMapper.java
New file
@@ -0,0 +1,11 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.api.model.UserShop;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:38
 */
public interface UserShopMapper extends BaseMapper<UserShop> {
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/UserShopService.java
New file
@@ -0,0 +1,11 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.model.UserShop;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:39
 */
public interface UserShopService extends IService<UserShop> {
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserShopServiceImpl.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.model.UserShop;
import com.ruoyi.system.mapper.UserShopMapper;
import com.ruoyi.system.service.UserShopService;
import org.springframework.stereotype.Service;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:39
 */
@Service
public class UserShopServiceImpl extends ServiceImpl<UserShopMapper, UserShop> implements UserShopService {
}
ruoyi-modules/ruoyi-system/src/main/resources/mapping/system/UserShopMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.UserShopMapper">
</mapper>
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShopController.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.account.controller;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:21
 */
@RestController
@RequestMapping("/appUserShop")
public class AppUserShopController {
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/mapper/AppUserShopMapper.java
@@ -3,5 +3,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.account.api.model.AppUserShop;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:20
 */
public interface AppUserShopMapper extends BaseMapper<AppUserShop> {
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/AppUserShopService.java
@@ -3,5 +3,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.account.api.model.AppUserShop;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:20
 */
public interface AppUserShopService extends IService<AppUserShop> {
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -2,15 +2,21 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.model.AppUserShop;
import com.ruoyi.account.mapper.AppUserMapper;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.AppUserShopService;
import com.ruoyi.account.util.weChat.WeChatUtil;
import com.ruoyi.account.vo.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.Shop;
import com.ruoyi.other.api.feignClient.ShopClient;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.stereotype.Service;
@@ -40,6 +46,20 @@
    
    @Resource
    private RedisService redisService;
    @Resource
    private ShopClient shopClient;
    @Resource
    private AppUserShopService appUserShopService;
    @Resource
    private SysUserClient sysUserClient;
    
    
    /**
@@ -232,6 +252,33 @@
//            appUser.setDistrict();
//            appUser.setDistrictCode();
            this.save(appUser);
            //查询当前注册的手机号是都和门店管理员手机号相同
            Shop shop = shopClient.getShopByPhone(registerAccount.getPhone()).getData();
            if(null != shop){
                //添加门店用户关系数据
                AppUserShop appUserShop = appUserShopService.getOne(new LambdaQueryWrapper<AppUserShop>().eq(AppUserShop::getAppUserId, appUser.getId()).eq(AppUserShop::getShopId, shop.getId()));
                if(null == appUserShop){
                    appUserShop = new AppUserShop();
                    appUserShop.setShopId(shop.getId());
                    appUserShop.setAppUserId(appUser.getId());
                    appUserShopService.save(appUserShop);
                    //添加管理后台账号
                    SysUser user = new SysUser();
                    user.setDeptId(1L);
                    user.setUserName(appUser.getName());
                    user.setNickName(appUser.getName());
                    user.setPhonenumber(appUser.getPhone());
                    user.setAvatar(appUser.getAvatar());
                    user.setStatus("0");
                    user.setDelFlag("0");
                    user.setRoleType(2);
                    user.setObjectId(shop.getId());
                    user.setAppUserId(appUser.getId());
                    sysUserClient.saveShopUser(user);
                }
            }
        }
        LoginVo loginVo = new LoginVo();
        loginVo.setSkipPage(1);
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserShopServiceImpl.java
@@ -6,6 +6,10 @@
import com.ruoyi.account.service.AppUserShopService;
import org.springframework.stereotype.Service;
/**
 * @author zhibing.pu
 * @Date 2024/12/2 9:21
 */
@Service
public class AppUserShopServiceImpl extends ServiceImpl<AppUserShopMapper, AppUserShop> implements AppUserShopService {
}
ruoyi-service/ruoyi-account/src/main/resources/mapper/account/UserShopMapper.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.account.mapper.AppUserShopMapper">
</mapper>
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -129,5 +129,18 @@
        Shop shop = shopService.getById(id);
        return R.ok(shop);
    }
    /**
     * 根据店铺管理员电话获取门店数据
     * @param phone
     * @return
     */
    @ResponseBody
    @PostMapping("/getShopByPhone")
    public R<Shop> getShopByPhone(@RequestParam("phone") String phone){
        Shop one = shopService.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getPhone, phone).eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1));
        return R.ok(one);
    }
}