Sfoglia il codice sorgente

增加代理商修改功能

hgw 3 anni fa
parent
commit
43b7e098ae

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantProxyInfoDao.java

@@ -34,6 +34,14 @@ public interface TenantProxyInfoDao extends BaseMapper<TenantProxyInfo> {
     int updateProxySysUserLock(@Param("id") Integer id, @Param("lock") Integer lock);
 
     /**
+     * 修改sysUser表
+     *
+     * @param id    人员id
+     * @param phone 手机号
+     */
+    int updateSysUserPhone(@Param("id") Integer id, @Param("phone") String phone,@Param("name") String name);
+
+    /**
      * 查询代理商下级人员数据
      *
      * @param id 代理商负责人id
@@ -42,6 +50,7 @@ public interface TenantProxyInfoDao extends BaseMapper<TenantProxyInfo> {
 
     /**
      * 分页查询代理商负责人数据
+     *
      * @param param 传入参数
      *              <p> - state  状态 0正常 1冻结
      *              <p> - search 模糊搜索关键字

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TenantProxyDto.java

@@ -14,6 +14,9 @@ import java.io.Serializable;
 @ApiModel(value = "代理商信息参数")
 public class TenantProxyDto implements Serializable {
 
+    @ApiModelProperty(value = "人员id")
+    private Integer userId;
+
     @ApiModelProperty(value = "父级人员id")
     private Integer parentId;
 
@@ -21,7 +24,7 @@ public class TenantProxyDto implements Serializable {
     private String proxyName;
 
     @NotBlank(message = "人员名称不能为空")
-    @ApiModelProperty(value = "负责人名称")
+    @ApiModelProperty(value = "人名称")
     private String name;
 
     @NotBlank(message = "手机号不能为空")
@@ -30,6 +33,14 @@ public class TenantProxyDto implements Serializable {
     @ApiModelProperty(value = "手机号")
     private String phone;
 
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
     public String getProxyName() {
         return proxyName;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/ProxyUserVo.java

@@ -8,6 +8,9 @@ import java.io.Serializable;
 @ApiModel(value = "代理商人员信息")
 public class ProxyUserVo implements Serializable {
 
+    @ApiModelProperty(value = "当前人员id")
+    private Integer userId;
+
     @ApiModelProperty(value = "代理商id")
     private Integer proxyId;
 
@@ -26,6 +29,14 @@ public class ProxyUserVo implements Serializable {
     @ApiModelProperty(value = "状态 0正常 1冻结 ")
     private Integer state;
 
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
     public Integer getProxyId() {
         return proxyId;
     }

+ 6 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/TenantProxyInfoService.java

@@ -52,8 +52,13 @@ public interface TenantProxyInfoService extends IService<TenantProxyInfo> {
      * 冻结/解冻代理商
      *
      * @param userId 代理负责人id
-     * @param state 状态 0正常 1冻结
+     * @param state  状态 0正常 1冻结
      */
     void freezeProxy(Integer userId, Integer state);
+
+    /**
+     * 修改人员信息
+     */
+    void updateProxyUserInfo(TenantProxyDto dto);
 }
 

+ 26 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantProxyInfoServiceImpl.java

@@ -21,10 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * 机构代理商信息表(TenantProxyInfo)表服务实现类
@@ -149,18 +146,42 @@ public class TenantProxyInfoServiceImpl extends ServiceImpl<TenantProxyInfoDao,
      * @param userId 代理负责人id
      * @param state  状态 0正常 1冻结
      */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
     public void freezeProxy(Integer userId, Integer state) {
         //sysUser表 lock字段 9冻结 0解冻
         Integer lockFlag = state == 0 ? state : 9;
         //先冻结sysUser表
         baseMapper.updateProxySysUserLock(userId, lockFlag);
         //在修改代理商表
-        TenantProxyInfo tenantProxyInfo = this.getOne(Wrappers.<TenantProxyInfo>lambdaUpdate().eq(TenantProxyInfo::getProxyUserId, userId));
+        TenantProxyInfo tenantProxyInfo = this.getOne(Wrappers.<TenantProxyInfo>lambdaUpdate()
+                .eq(TenantProxyInfo::getProxyUserId, userId));
         tenantProxyInfo.setState(state);
         this.updateById(tenantProxyInfo);
     }
 
     /**
+     * 修改人员信息
+     */
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void updateProxyUserInfo(TenantProxyDto dto){
+        Optional.ofNullable(dto.getUserId()).orElseThrow(() -> new BizException("人员id不能为空"));
+        //查询父级信息
+        TenantProxyUserRelation parentProxyUser = proxyUserRelationService.getOne(Wrappers.<TenantProxyUserRelation>lambdaQuery()
+                .eq(TenantProxyUserRelation::getUserId, dto.getUserId()));
+        //判断本次修改的是不是代理商负责人,如果是负责人可能要修改代理商名称
+        if(Objects.nonNull(parentProxyUser.getParentId())){
+            TenantProxyInfo tenantProxyInfo = this.getOne(Wrappers.<TenantProxyInfo>lambdaUpdate()
+                    .eq(TenantProxyInfo::getProxyUserId, dto.getUserId()));
+            tenantProxyInfo.setProxyName(dto.getProxyName());
+            this.updateById(tenantProxyInfo);
+        }
+        baseMapper.updateSysUserPhone(dto.getUserId(),dto.getPhone(),dto.getName());
+    }
+
+
+    /**
      * 查询代理商数据
      * 模糊:姓名 手机号
      * 模糊:代理商

+ 25 - 13
mec-biz/src/main/resources/config/mybatis/TenantProxyInfoMapper.xml

@@ -32,17 +32,27 @@
         VALUES(#{tenantId},#{username},#{phone},#{password},now(),#{userType},#{realName})
     </insert>
 
-    <update id="updateProxySysUserLock">
+    <update id="updateProxySysUserLock" parameterType="object">
         update sys_user set lock_flag_ = #{lock} where id_ = #{id}
     </update>
 
+    <update id="updateSysUserPhone" parameterType="object">
+        update sys_user
+        set phone_     = #{phone},
+            username_  = #{name},
+            real_name_ = #{name}
+        where id_ = #{id}
+    </update>
+
     <select id="queryProxyUserStaff" resultType="com.ym.mec.biz.dal.vo.ProxyUserVo">
-        select c.id_ as proxyId,
-               c.proxy_name_ as proxyName,
-               b.real_name_ as `name`,
-               b.phone_ as `phone`,
-               '员工' as `role`,
-               c.state_ as state
+        select
+            b.id_ as userId,
+            c.id_ as proxyId,
+            c.proxy_name_ as proxyName,
+            b.real_name_ as `name`,
+            b.phone_ as `phone`,
+            '员工' as `role`,
+            c.state_ as state
         from tenant_proxy_user_relation as a
                  left join tenant_proxy_info c on a.parent_id_ = c.proxy_user_id_
                  left join sys_user as b  on a.parent_id_ = b.id_
@@ -50,12 +60,14 @@
     </select>
 
     <select id="queryProxyUser" resultType="com.ym.mec.biz.dal.vo.ProxyUserVo">
-        select c.id_ as proxyId,
-               c.proxy_name_ as proxyName,
-               b.real_name_ as `name`,
-               b.phone_ as `phone`,
-               '负责人' as `role`,
-               c.state_ as state
+        select
+            b.id_ as userId,
+            c.id_ as proxyId,
+            c.proxy_name_ as proxyName,
+            b.real_name_ as `name`,
+            b.phone_ as `phone`,
+            '负责人' as `role`,
+            c.state_ as state
         from tenant_proxy_user_relation as a
                  left join tenant_proxy_info c on a.parent_id_ = c.proxy_user_id_
                  left join sys_user as b  on a.parent_id_ = b.id_

+ 8 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TenantProxyInfoController.java

@@ -51,8 +51,7 @@ public class TenantProxyInfoController extends BaseController {
     @ApiImplicitParam(name = "id", value = "代理商负责人id", required = true, dataType = "Integer")
     @GetMapping("/queryProxyUserStaff")
     public HttpResponseResult<List<ProxyUserVo>> queryProxyUserStaff(Integer id) {
-        tenantProxyInfoService.queryProxyUserStaff(id);
-        return succeed();
+        return succeed(tenantProxyInfoService.queryProxyUserStaff(id));
     }
 
     @ApiImplicitParams({
@@ -78,5 +77,12 @@ public class TenantProxyInfoController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation("修改人员信息")
+    @PostMapping(value = "/updateProxyUserInfo")
+    public HttpResponseResult<Object> updateProxyUserInfo(@RequestBody TenantProxyDto dto) {
+        tenantProxyInfoService.updateProxyUserInfo(dto);
+        return succeed();
+    }
+
 }