diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/CompanyController.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/CompanyController.java index 8ed507c..d9819f6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/CompanyController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/controller/CompanyController.java @@ -2,7 +2,15 @@ package com.ruoyi.operation.controller; import java.util.List; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.RRException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.framework.shiro.service.SysPasswordService; +import com.ruoyi.system.domain.Zoning; +import com.ruoyi.system.service.ISysAreaHnService; +import com.ruoyi.system.service.ISysUserService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -36,6 +44,15 @@ public class CompanyController extends BaseController @Autowired private ICompanyService companyService; + @Autowired + private ISysUserService userService; + + @Autowired + private SysPasswordService passwordService; + + @Autowired + private ISysAreaHnService areaHnService; + @RequiresPermissions("operation:company:view") @GetMapping() public String company() @@ -88,8 +105,39 @@ public class CompanyController extends BaseController @ResponseBody public AjaxResult addSave(Company company) { + if (StringUtils.isNotEmpty(company.getPhone()) + && UserConstants.USER_PHONE_NOT_UNIQUE.equals(companyService.checkPhoneUnique(company))) + { + return error("新增失败,手机号码已存在"); + } company.setCreateBy(getLoginName()); - return toAjax(companyService.insertCompany(company)); + int flag = companyService.insertCompany(company); + if(flag > 0) { + // 创建运营商成功,添加运营商账号 + SysUser user = new SysUser(); + user.setSalt(""); + String password = UserConstants.DEFAULT_PASSWORD; + user.setLoginName(company.getPhone()); + user.setUserName(company.getCompanyName()); + user.setUserType(UserConstants.USER_TYPE_02); + user.setPhonenumber(company.getPhone()); + user.setPassword(passwordService.encryptPassword(user.getLoginName(), password, user.getSalt())); + //所属区域转换省市县乡村组字段 + Zoning zoning = areaHnService.getAreaSuperior(company.getCitys()); + user.setCityCode(zoning.getCityCode()); + user.setCityName(zoning.getCityName()); + user.setDistrictCode(zoning.getDistrictCode()); + user.setDistrictName(zoning.getDistrictName()); + user.setTownCode(zoning.getTownCode()); + user.setTownName(zoning.getTownName()); + user.setCreateBy(getLoginName()); + user.setCreateTime(DateUtils.getNowDate()); + user.setUpdateTime(DateUtils.getNowDate()); + user.setStatus("0"); + user.setCreateById(getUserId()); + userService.insertUser(user); + } + return toAjax(flag); } /** @@ -113,6 +161,11 @@ public class CompanyController extends BaseController @ResponseBody public AjaxResult editSave(Company company) { + if (StringUtils.isNotEmpty(company.getPhone()) + && UserConstants.USER_PHONE_NOT_UNIQUE.equals(companyService.checkPhoneUnique(company))) + { + return error("修改失败,手机号码已存在"); + } company.setUpdateBy(getLoginName()); return toAjax(companyService.updateCompany(company)); } @@ -136,6 +189,15 @@ public class CompanyController extends BaseController @ResponseBody public AjaxResult changeStatus(Company company) { + int flag = companyService.changeStatus(company); + if(flag >0) { + // 运营商启用停用,同时启用停用用户信息 + SysUser user = userService.selectUserByPhoneNumber(company.getPhone()); + if(user != null) { + user.setStatus(company.getStatus()); + userService.changeStatus(user); + } + } return toAjax(companyService.changeStatus(company)); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/CompanyMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/CompanyMapper.java index d539fa4..c6d3a47 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/CompanyMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/mapper/CompanyMapper.java @@ -19,6 +19,14 @@ public interface CompanyMapper */ public Company selectCompanyById(Long id); + /** + * 根据手机号查询运营商信息 + * + * @param phone 手机号 + * @return 运营商对象 + */ + Company checkPhoneUnique(String phone); + /** * 查询运营商列表 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/ICompanyService.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/ICompanyService.java index 06def9c..ce56b8c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/ICompanyService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/ICompanyService.java @@ -27,6 +27,17 @@ public interface ICompanyService */ public List selectCompanyList(Company company); + + + /** + * 校验手机号是否唯一 + * + * @param company 运营商信息 + * @return 结果("0"表示唯一,"1"表示重复) + */ + public String checkPhoneUnique(Company company); + + /** * 新增运营商 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/CompanyServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/CompanyServiceImpl.java index 309ffe0..05816ac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/CompanyServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/operation/service/impl/CompanyServiceImpl.java @@ -1,7 +1,12 @@ package com.ruoyi.operation.service.impl; import java.util.List; + +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.operation.mapper.CompanyMapper; @@ -45,6 +50,18 @@ public class CompanyServiceImpl implements ICompanyService return companyMapper.selectCompanyList(company); } + + + @Override + public String checkPhoneUnique(Company company){ + Long companyId = StringUtils.isNull(company.getId()) ? -1L : company.getId(); + Company info = companyMapper.checkPhoneUnique(company.getPhone()); + if (StringUtils.isNotNull(info) && info.getId().longValue() != companyId.longValue()) + { + return UserConstants.USER_PHONE_NOT_UNIQUE; + } + return UserConstants.USER_PHONE_UNIQUE; + } /** * 新增运营商 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index ed3e2d9..397874d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -166,7 +166,7 @@ public class SysUserController extends BaseController user.setVillageName(zoning.getVillageName()); user.setGroupId(zoning.getGroupId()); user.setGroupName(zoning.getGroupName()); - + user.setStatus("0"); return toAjax(userService.insertUser(user)); } diff --git a/ruoyi-admin/src/main/resources/mapper/operation/CompanyMapper.xml b/ruoyi-admin/src/main/resources/mapper/operation/CompanyMapper.xml index 738dec0..9d13932 100644 --- a/ruoyi-admin/src/main/resources/mapper/operation/CompanyMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/operation/CompanyMapper.xml @@ -104,7 +104,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + + + + insert into company diff --git a/ruoyi-admin/src/main/resources/templates/main.html b/ruoyi-admin/src/main/resources/templates/main.html index 4ed4eaa..177901e 100644 --- a/ruoyi-admin/src/main/resources/templates/main.html +++ b/ruoyi-admin/src/main/resources/templates/main.html @@ -244,325 +244,7 @@
- - - - - - - -
diff --git a/ruoyi-admin/src/main/resources/templates/operation/company/company.html b/ruoyi-admin/src/main/resources/templates/operation/company/company.html index 4971235..d26de9c 100644 --- a/ruoyi-admin/src/main/resources/templates/operation/company/company.html +++ b/ruoyi-admin/src/main/resources/templates/operation/company/company.html @@ -133,9 +133,9 @@ actions.push('编辑 '); actions.push('删除'); if (row.status == 1) { - actions.push('启用 '); + actions.push('启用 '); } else { - actions.push('停用 '); + actions.push('停用 '); } return actions.join(''); } @@ -145,16 +145,16 @@ }); /* 用户管理-停用 */ - function disable(id) { + function disable(id,phone) { $.modal.confirm("确认是否停用此运营商?停用后此运营商的车辆与门店不会显示在小程序中", function() { - $.operate.post(prefix + "/changeStatus", { "id": id, "status": 1 }); + $.operate.post(prefix + "/changeStatus", { "id": id, "phone": phone , "status": 1 }); }) } /* 用户管理启用 */ - function enable(id) { + function enable(id,phone) { $.modal.confirm("确认是否启用此运营商?启用运营商后停用前的数据将恢复正常,运营商可登录管理后台。", function() { - $.operate.post(prefix + "/changeStatus", { "id": id, "status": 0 }); + $.operate.post(prefix + "/changeStatus", { "id": id, "phone": phone , "status": 0 }); }) } diff --git a/ruoyi-admin/src/main/resources/templates/system/user/add.html b/ruoyi-admin/src/main/resources/templates/system/user/add.html index 52f8209..9d99dfb 100644 --- a/ruoyi-admin/src/main/resources/templates/system/user/add.html +++ b/ruoyi-admin/src/main/resources/templates/system/user/add.html @@ -82,6 +82,16 @@
+
+
+ +
+ +
+
+
@@ -92,17 +102,7 @@
-
-
- -
-
- - -
-
-
-
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/user/edit.html b/ruoyi-admin/src/main/resources/templates/system/user/edit.html index fdd92cd..f441e31 100644 --- a/ruoyi-admin/src/main/resources/templates/system/user/edit.html +++ b/ruoyi-admin/src/main/resources/templates/system/user/edit.html @@ -71,6 +71,16 @@
+
+
+ +
+ +
+
+
@@ -81,17 +91,7 @@
-
-
- -
-
- - -
-
-
-
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/user/user.html b/ruoyi-admin/src/main/resources/templates/system/user/user.html index 3b09cc2..0fd896b 100644 --- a/ruoyi-admin/src/main/resources/templates/system/user/user.html +++ b/ruoyi-admin/src/main/resources/templates/system/user/user.html @@ -6,24 +6,7 @@ -
-
-
-
- 组织机构 -
-
- - - - -
-
-
-
-
-
-
+
@@ -71,12 +54,12 @@ 删除 - - 导入 - - - 导出 - + + + + + +
@@ -165,10 +148,10 @@ field: 'phonenumber', title: '手机' }, - { - field: 'birthday', - title: '出生日期' - }, + // { + // field: 'birthday', + // title: '出生日期' + // }, // { // field: 'status', // title: '用户状态', @@ -191,26 +174,34 @@ // field: 'cardNumber', // title: '一卡通账号' // }, - // { - // field: 'userType', - // title: '用户类型', - // formatter: function(value, row, index) { - // return $.table.selectDictLabel(userTypeDatas, value); - // } - // }, - { - field: 'cityName', - title: '省' - }, - { - field: 'districtName', - title: '市' - }, - // { - // field: 'createTime', - // title: '创建时间', - // sortable: true - // }, + { + field: 'userType', + title: '用户类型', + formatter: function(value, row, index) { + return $.table.selectDictLabel(userTypeDatas, value); + } + }, + // { + // field: 'cityName', + // title: '省' + // }, + // { + // field: 'districtName', + // title: '市' + // }, + { + visible: editFlag == 'hidden' ? false : true, + title: '用户状态', + align: 'center', + formatter: function (value, row, index) { + return statusTools(row); + } + }, + { + field: 'createTime', + title: '创建时间', + sortable: true + }, { title: '操作', align: 'center', diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java index 18af260..d5f372e 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java @@ -105,7 +105,7 @@ public class UserConstants public static final int PASSWORD_MAX_LENGTH = 20; /** - * 用户类型 00超级管理员,01工作人员,02 群众 + * 用户类型 00超级管理员,01工作人员,02 运营商 */ public static final String USER_TYPE_00 = "00"; public static final String USER_TYPE_01 = "01"; @@ -134,7 +134,7 @@ public class UserConstants /** * 用户默认密码 */ - public static final String DEFAULT_PASSWORD = "admin@123"; + public static final String DEFAULT_PASSWORD = "sczx@123"; /** * 密码规则:必须6-18包含字母、数字和特殊字符 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 5b45264..919166f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -228,4 +228,6 @@ public interface ISysUserService List selectUnallocatedListByGroupId(SysUser user); int insertAuthUsersByGroupId(Long groupId,String groupName, String userIds); + + public void insertUserRole(Long userId, Long[] roleIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 9d206d6..a1cfaef 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -326,6 +326,7 @@ public class SysUserServiceImpl implements ISysUserService * @param userId 用户ID * @param roleIds 角色组 */ + @Override public void insertUserRole(Long userId, Long[] roleIds) { if (StringUtils.isNotNull(roleIds))