zouxuan 5 năm trước cách đây
mục cha
commit
c230536e06

+ 17 - 8
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/AgencyController.java

@@ -27,32 +27,41 @@ public class AgencyController extends BaseController {
 	@Autowired
 	private AgencyService agencyService;
 
-	@ApiOperation(value = "参数列表")
+	@ApiOperation(value = "代理商列表")
 	@GetMapping(value = "list")
     @PreAuthorize("@pcs.hasPermissions('agency/list')")
 	public HttpResponseResult<PageInfo<Agency>> configList(AgencyQueryInfo queryInfo) {
 		return succeed(agencyService.queryPage(queryInfo));
 	}
 
-	@ApiOperation(value = "修改参数")
+	@ApiOperation(value = "修改代理商")
 	@PostMapping(value = "update")
     @PreAuthorize("@pcs.hasPermissions('agency/update')")
-	public Object update(Agency agency) {
-		agencyService.update(agency);
+	public HttpResponseResult updateAgency(Agency agency) {
+		agencyService.updateAgency(agency);
 		return succeed();
 	}
 
-	@ApiOperation(value = "新增参数")
+	@ApiOperation(value = "新增代理商")
 	@PostMapping(value = "add")
     @PreAuthorize("@pcs.hasPermissions('agency/add')")
-	public Object addConfig(Agency agency) {
-		return agencyService.insert(agency);
+	public HttpResponseResult addConfig(Agency agency) {
+		agencyService.add(agency);
+		return succeed();
 	}
 
-	@ApiOperation(value = "查询参数")
+	@ApiOperation(value = "查询代理商")
 	@GetMapping(value = "get")
     @PreAuthorize("@pcs.hasPermissions('agency/get')")
 	public HttpResponseResult<Agency> getConfig(Integer id) {
 		return succeed(agencyService.get(id));
 	}
+
+	@ApiOperation(value = "删除代理商")
+	@PostMapping(value = "del")
+    @PreAuthorize("@pcs.hasPermissions('agency/del')")
+	public HttpResponseResult del(Integer id) {
+		agencyService.delete(id);
+		return succeed();
+	}
 }

+ 0 - 16
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/EmployeeDao.java

@@ -2,22 +2,6 @@ package com.keao.edu.user.dao;
 
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.user.entity.Employee;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
 
 public interface EmployeeDao extends BaseDAO<Integer, Employee> {
-
-    /**
-     * 删除用户角色
-     * @param userId
-     */
-    void delEmployeeRole(Integer userId);
-
-    /**
-     * 批量新增用户角色
-     * @param id
-     * @param roles
-     */
-    void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roles") List<Integer> roles);
 }

+ 13 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/SysUserDao.java

@@ -37,4 +37,17 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	 */
 	List<SysUser> queryByStatus(UserLockFlag status);
 
+	/**
+	 * 删除用户角色
+	 * @param userId
+	 */
+	void delEmployeeRole(Integer userId);
+
+	/**
+	 * 批量新增用户角色
+	 * @param id
+	 * @param roles
+	 */
+	void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roles") List<Integer> roles);
+
 }

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Agency.java

@@ -1,5 +1,6 @@
 package com.keao.edu.user.entity;
 
+import com.keao.edu.auth.api.entity.SysUser;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -38,6 +39,16 @@ public class Agency {
 
 	private String tenantId;
 
+	private SysUser sysUser;
+
+	public SysUser getSysUser() {
+		return sysUser;
+	}
+
+	public void setSysUser(SysUser sysUser) {
+		this.sysUser = sysUser;
+	}
+
 	public String getTenantId() {
 		return tenantId;
 	}

+ 0 - 5
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/AgencyQueryInfo.java

@@ -1,12 +1,7 @@
 package com.keao.edu.user.page;
 
 import com.keao.edu.common.page.QueryInfo;
-import io.swagger.annotations.ApiModelProperty;
 
-/**
- * @Author Joburgess
- * @Date 2019/9/17
- */
 public class AgencyQueryInfo extends QueryInfo {
 
     private String settlementType;

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/AgencyService.java

@@ -6,4 +6,15 @@ import com.keao.edu.user.entity.Agency;
 
 public interface AgencyService extends BaseService<Integer, Agency> {
 
+    /**
+     * 新增代理商
+     * @param agency
+     */
+    void add(Agency agency);
+
+    /**
+     * 修改代理商
+     * @param agency
+     */
+    void updateAgency(Agency agency);
 }

+ 79 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/AgencyServiceImpl.java

@@ -1,23 +1,101 @@
 package com.keao.edu.user.service.impl;
 
 
+import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
+import com.keao.edu.im.api.client.ImFeignService;
+import com.keao.edu.im.api.entity.ImResult;
+import com.keao.edu.im.api.entity.ImUserModel;
 import com.keao.edu.user.dao.AgencyDao;
+import com.keao.edu.user.dao.SysUserDao;
 import com.keao.edu.user.entity.Agency;
+import com.keao.edu.user.entity.Employee;
 import com.keao.edu.user.service.AgencyService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class AgencyServiceImpl extends BaseServiceImpl<Integer, Agency> implements AgencyService {
 	
 	@Autowired
 	private AgencyDao agencyDao;
+	@Autowired
+	private ImFeignService imFeignService;
+	@Autowired
+	private SysUserDao sysUserDao;
 
 	@Override
 	public BaseDAO<Integer, Agency> getDAO() {
 		return agencyDao;
 	}
-	
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void add(Agency agency) {
+		SysUser sysUser = agency.getSysUser();
+		SysUser user = sysUserDao.queryByPhone(sysUser.getPhone());
+		if(user != null && user.getId() != null){
+			Agency agency1 = agencyDao.get(user.getId());
+			if(agency1 == null){
+				if(StringUtils.isEmpty(user.getPassword())){
+					sysUser.setPassword(new BCryptPasswordEncoder().encode("123456"));
+				}
+				agency.setId(user.getId());
+				agencyDao.insert(agency);
+				//新增用户角色
+				sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
+				user.setUserType(user.getUserType() + ",AGENCY");
+				user.setRealName(agency.getName());
+				user.setPhone(agency.getContactPhone());
+				sysUserDao.update(user);
+				return;
+			}else{
+				throw new BizException("用户已存在");
+			}
+		}
+		sysUser.setPassword(new BCryptPasswordEncoder().encode("123456"));
+		sysUser.setUserType("AGENCY");
+		sysUser.setRealName(agency.getName());
+		sysUser.setPhone(agency.getContactPhone());
+		sysUserDao.insert(sysUser);
+
+		agency.setId(sysUser.getId());
+		agencyDao.insert(agency);
+		//新增用户角色
+		sysUserDao.delEmployeeRole(sysUser.getId());
+		sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
+		ImResult imResult = imFeignService.register(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(),null));
+		user.setImToken(imResult.getToken());
+		sysUserDao.update(sysUser);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateAgency(Agency agency) {
+		SysUser sysUser = agency.getSysUser();
+		if(null == agencyDao.get(sysUser.getId())){
+			throw new BizException("代理商信息不存在");
+		}
+		agency.setId(sysUser.getId());
+		if(StringUtils.isNotEmpty(sysUser.getPhone())){
+			SysUser queryByPhone = sysUserDao.queryByPhone(sysUser.getPhone());
+			if(queryByPhone != null && !sysUser.getId().equals(queryByPhone.getId())){
+				throw new BizException("手机号已存在");
+			}
+		}
+		sysUser.setRealName(agency.getName());
+		sysUser.setPhone(agency.getContactPhone());
+		agencyDao.update(agency);
+		//删除当前用户角色
+		sysUserDao.delEmployeeRole(sysUser.getId());
+		//新增用户角色
+		sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
+		sysUserDao.update(sysUser);
+		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
+	}
 }

+ 4 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/EmployeeServiceImpl.java

@@ -47,7 +47,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 				employee.setUserId(user.getId());
 				employeeDao.insert(employee);
 				//新增用户角色
-				employeeDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
+				sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
 				user.setUserType(user.getUserType() + ",SYSTEM");
 				sysUserDao.update(user);
 				return;
@@ -63,7 +63,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 		employee.setUserId(user.getId());
 		employeeDao.insert(employee);
 		//新增用户角色
-		employeeDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
+		sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
 		ImResult imResult = imFeignService.register(new ImUserModel(user.getId().toString(), user.getRealName(),null));
 		user.setImToken(imResult.getToken());
 		sysUserDao.update(user);
@@ -85,9 +85,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 		}
 		employeeDao.update(employee);
 		//删除当前用户角色
-		employeeDao.delEmployeeRole(sysUser.getId());
+		sysUserDao.delEmployeeRole(sysUser.getId());
 		//新增用户角色
-		employeeDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
+		sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 		sysUserDao.update(sysUser);
 		imFeignService.update(new ImUserModel(sysUser.getId().toString(),sysUser.getRealName(),sysUser.getAvatar()));
 	}

+ 2 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/AgencyMapper.xml

@@ -16,6 +16,7 @@
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
+		<association property="sysUser" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -69,7 +70,7 @@
 	
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
-		DELETE FROM agency WHERE id_ = #{id} 
+		UPDATE agency SET del_flag_ = 1,update_time_ = NOW() WHERE id_ = #{id}
 	</delete>
 
 	<sql id="agencyQueryPage">

+ 0 - 10
edu-user/edu-user-server/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -51,10 +51,6 @@
 		</association>
 	</resultMap>
 
-	<delete id="delEmployeeRole">
-        DELETE FROM sys_user_role WHERE user_id_ = #{userId}
-    </delete>
-
     <!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="Employee" >
 		SELECT * FROM employee WHERE user_id_ = #{userId} 
@@ -123,12 +119,6 @@
 		</if>
 		</set> WHERE user_id_ = #{userId}
 	</update>
-    <insert id="batchAddEmployeeRole">
-		INSERT INTO sys_user_role(user_id_,role_id_) values
-		<foreach collection="roles" item="item" index="index" separator=",">
-			(#{userId},#{item})
-		</foreach>
-	</insert>
 	<!-- 根据主键删除一条记录 -->
 	<update id="delete" >
 		UPDATE employee SET del_flag_ = 0,update_time_ = NOW() WHERE user_id_ = #{userId}

+ 11 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -168,4 +168,15 @@
         select * from sys_user where (phone_ = #{phone} OR username_ = #{phone}) AND user_type_ LIKE CONCAT('%',#{client},'%') LIMIT 1 FOR UPDATE
     </select>
 
+    <insert id="batchAddEmployeeRole">
+        INSERT INTO sys_user_role(user_id_,role_id_) values
+        <foreach collection="roles" item="item" index="index" separator=",">
+            (#{userId},#{item})
+        </foreach>
+    </insert>
+
+    <delete id="delEmployeeRole">
+        DELETE FROM sys_user_role WHERE user_id_ = #{userId}
+    </delete>
+
 </mapper>