소스 검색

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_java

caoliqin 3 일 전
부모
커밋
487e856bcd
20개의 변경된 파일216개의 추가작업 그리고 34개의 파일을 삭제
  1. 17 0
      fs-company/src/main/java/com/fs/company/controller/company/CompanyConfigController.java
  2. 29 0
      fs-company/src/main/java/com/fs/company/controller/company/CompanyLoginController.java
  3. 13 0
      fs-company/src/main/java/com/fs/company/controller/company/CompanyProfileController.java
  4. 6 0
      fs-company/src/main/java/com/fs/company/controller/qw/QwUserController.java
  5. 13 0
      fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java
  6. 2 0
      fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java
  7. 5 3
      fs-service/src/main/java/com/fs/core/config/WxMaConfiguration.java
  8. 1 0
      fs-service/src/main/java/com/fs/qw/mapper/QwUserMapper.java
  9. 3 4
      fs-service/src/main/java/com/fs/qw/service/IQwUserService.java
  10. 12 0
      fs-service/src/main/java/com/fs/qw/service/impl/QwUserServiceImpl.java
  11. 1 0
      fs-service/src/main/java/com/fs/qw/vo/QwUserVO.java
  12. 13 0
      fs-service/src/main/java/com/fs/qw/vo/UpdateSendTypeVo.java
  13. 4 0
      fs-service/src/main/java/com/fs/sop/domain/QwSopLogs.java
  14. 10 2
      fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java
  15. 3 3
      fs-service/src/main/resources/application-config-druid-drk.yml
  16. 1 1
      fs-service/src/main/resources/application-config-druid-sft.yml
  17. 3 0
      fs-service/src/main/resources/mapper/qw/QwUserMapper.xml
  18. 1 1
      fs-service/src/main/resources/mapper/qw/QwWorkTaskMapper.xml
  19. 58 5
      fs-service/src/main/resources/mapper/sop/QwSopLogsMapper.xml
  20. 21 15
      fs-user-course/src/main/java/com/fs/course/controller/WxCompanyUserController.java

+ 17 - 0
fs-company/src/main/java/com/fs/company/controller/company/CompanyConfigController.java

@@ -1,12 +1,15 @@
 package com.fs.company.controller.company;
 
 import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
 import com.fs.common.utils.ServletUtils;
 import com.fs.company.domain.CompanyConfig;
 import com.fs.company.service.ICompanyConfigService;
 import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.TokenService;
+import com.fs.system.domain.SysConfig;
+import com.fs.system.service.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -28,6 +31,9 @@ public class CompanyConfigController extends BaseController
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private ISysConfigService configService;
+
 
 
     @PreAuthorize("@ss.hasPermi('company:config:edit')")
@@ -40,6 +46,17 @@ public class CompanyConfigController extends BaseController
         return R.ok("操作成功");
     }
 
+    /**
+     * 根据参数键名查询总后台参数值
+     * @param configKey
+     * @return
+     */
+    @GetMapping(value = "/getConfigByKey/{configKey}")
+    public AjaxResult getConfigByKey(@PathVariable String configKey)
+    {
+        SysConfig config=configService.selectConfigByConfigKey(configKey);
+        return AjaxResult.success(config);
+    }
 
     /**
      * 根据参数键名查询参数值

+ 29 - 0
fs-company/src/main/java/com/fs/company/controller/company/CompanyLoginController.java

@@ -1,5 +1,6 @@
 package com.fs.company.controller.company;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fs.common.constant.Constants;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.redis.RedisCache;
@@ -13,6 +14,8 @@ import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.CompanyLoginService;
 import com.fs.framework.service.CompanyPermissionService;
 import com.fs.framework.service.TokenService;
+import com.fs.system.domain.SysConfig;
+import com.fs.system.service.ISysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -43,6 +46,8 @@ public class CompanyLoginController
     private TokenService tokenService;
     @Autowired
     private RedisCache redisCache;
+    @Autowired
+    private ISysConfigService configService;
 
     /**
      * 登录方法
@@ -104,5 +109,29 @@ public class CompanyLoginController
         return AjaxResult.success(menuService.buildMenus(menus));
     }
 
+
+    /**
+     * 根据系统配置去查询是否需要首次登录,并开启校验
+     * @return
+     */
+    @GetMapping("getFirstLogin")
+    public AjaxResult getFirstLogin()
+    {
+        SysConfig config = configService.selectConfigByConfigKey("his.login");
+        if(config != null && config.getConfigValue() != null){
+            String configValue = config.getConfigValue();
+            JSONObject jsonObject = JSONObject.parseObject(configValue);
+            Boolean disabled = jsonObject.getBoolean("disabled");
+            if(disabled){
+                LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+                Long userId = redisCache.getCacheObject("newCompanyUser:" + loginUser.getUser().getCompanyId() + ":" + loginUser.getUser().getUserName());
+                if (loginUser.getUser().getUserId().equals(userId)) {
+                    return AjaxResult.success(true);
+                }
+            }
+        }
+        return AjaxResult.success(false);
+    }
+
 }
 

+ 13 - 0
fs-company/src/main/java/com/fs/company/controller/company/CompanyProfileController.java

@@ -4,6 +4,7 @@ import com.fs.common.annotation.Log;
 import com.fs.common.config.FSConfig;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.redis.RedisCache;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.PatternUtils;
 import com.fs.common.utils.ServletUtils;
@@ -14,6 +15,7 @@ import com.fs.company.service.ICompanyUserService;
 import com.fs.framework.security.LoginUser;
 import com.fs.framework.security.SecurityUtils;
 import com.fs.framework.service.TokenService;
+import com.fs.system.service.ISysConfigService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -34,6 +36,8 @@ public class CompanyProfileController extends BaseController
 
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private RedisCache redisCache;
 
     /**
      * 个人信息
@@ -103,11 +107,20 @@ public class CompanyProfileController extends BaseController
             // 更新缓存用户密码
             loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword));
             tokenService.setLoginUser(loginUser);
+            cleanFirstLogin(loginUser);
             return AjaxResult.success();
         }
         return AjaxResult.error("修改密码异常,请联系管理员");
     }
 
+    /**
+     * 去除首次登录的标志
+     * @param loginUser
+     */
+    private void cleanFirstLogin(LoginUser loginUser) {
+        redisCache.deleteObject("newCompanyUser:" + loginUser.getUser().getCompanyId() + ":" + loginUser.getUser().getUserName());
+    }
+
     /**
      * 头像上传
      */

+ 6 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwUserController.java

@@ -35,6 +35,7 @@ import com.fs.qw.service.IQwExternalContactService;
 import com.fs.qw.service.IQwUserService;
 import com.fs.qw.vo.QwOptionsVO;
 import com.fs.qw.vo.QwUserVO;
+import com.fs.qw.vo.UpdateSendTypeVo;
 import com.fs.qwApi.domain.QwExternalContactAllListResult;
 import com.fs.qwApi.domain.inner.ExternalContact;
 import com.fs.qwApi.domain.inner.ExternalContactInfo;
@@ -826,4 +827,9 @@ public class QwUserController extends BaseController
     public R restartCloudHost(@RequestParam String serverIp) {
         return qwUserService.restartCloudHost(serverIp);
     }
+    @PostMapping("/updateSendType")
+    public R updateSendType(@RequestBody UpdateSendTypeVo vo) {
+        return qwUserService.updateSendType(vo);
+    }
+
 }

+ 13 - 0
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -775,6 +775,14 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
         sopLogs.setCorpId(logVo.getCorpId());
         sopLogs.setLogType(ruleTimeVO.getType());
         sopLogs.setTakeRecords(0);
+        try {
+            if(StringUtils.isNotEmpty(logVo.getUserId())){
+                String[] split = logVo.getUserId().split("\\|");
+                sopLogs.setQwUserKey(Long.parseLong(split[0]));
+            }
+        }catch (Exception e){
+            log.error("设置qwUserId异常", e);
+        }
 
         if (isOfficial == 1) {
 
@@ -1840,6 +1848,11 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
         sopLogs.setExternalUserName(externalContact.getName());
         sopLogs.setFsUserId(finishLog.getUserId() != null ? finishLog.getUserId() : null );
         sopLogs.setUserLogsId("-");
+        try {
+            sopLogs.setQwUserKey(finishLog.getQwUserId());
+        }catch (Exception e){
+            log.error("设置qwUserId异常", e);
+        }
         // 解析模板设置
         List<QwSopCourseFinishTempSetting.Setting> settings = parseSettings(finishTemp.getSetting());
         if (settings == null) {

+ 2 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java

@@ -247,6 +247,8 @@ public class CompanyUserServiceImpl implements ICompanyUserService
         insertUserPost(user);
         // 新增用户与角色管理
         insertUserRole(user);
+        //新增用户需要修改密码
+        redisCache.setCacheObject("newCompanyUser:" + user.getCompanyId() + ":" +user.getUserName(),user.getUserId());
         return rows;
     }
 

+ 5 - 3
fs-service/src/main/java/com/fs/core/config/WxMaConfiguration.java

@@ -65,9 +65,11 @@ public class WxMaConfiguration {
                 if (appid.equals(courseMaConfig.getAppid())) {
                     continue;
                 }
-                WxMaConfig.Config wxMaConfig = new WxMaConfig.Config();
-                BeanUtils.copyProperties(courseMaConfig, wxMaConfig);
-                c.add(wxMaConfig);
+                if (courseMaConfig.getType().equals("1")){
+                    WxMaConfig.Config wxMaConfig = new WxMaConfig.Config();
+                    BeanUtils.copyProperties(courseMaConfig, wxMaConfig);
+                    c.add(wxMaConfig);
+                }
             }
         }
         wx.setConfigs(c);

+ 1 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwUserMapper.java

@@ -423,4 +423,5 @@ public interface QwUserMapper extends BaseMapper<QwUser>
      */
     List<ExternalContactQwUserVO> selectQwUserByFsUserId(@Param("fsUserId") Long fsUserId);
 
+    void updateSendType(UpdateSendTypeVo vo);
 }

+ 3 - 4
fs-service/src/main/java/com/fs/qw/service/IQwUserService.java

@@ -5,10 +5,7 @@ import com.fs.qw.domain.QwUser;
 import com.fs.qw.domain.QwWorkTask;
 import com.fs.qw.dto.QwUserKeyDTO;
 import com.fs.qw.param.*;
-import com.fs.qw.vo.QwHookAuthVO;
-import com.fs.qw.vo.QwOptionsVO;
-import com.fs.qw.vo.QwUserVO;
-import com.fs.qw.vo.UserVOs;
+import com.fs.qw.vo.*;
 import com.fs.sop.domain.QwSop;
 import org.apache.commons.lang3.tuple.Pair;
 
@@ -188,4 +185,6 @@ public interface IQwUserService
     List<UserVOs> getUserList(Long userId);
 
     List<UserVOs> getQwUserList(Long userId, String qwUserId);
+
+    R updateSendType(UpdateSendTypeVo vo);
 }

+ 12 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwUserServiceImpl.java

@@ -1387,6 +1387,18 @@ public class QwUserServiceImpl implements IQwUserService
         return qwWorkTaskMapper.getQwUserList(userId, qwUserId);
     }
 
+    @Override
+    public R updateSendType(UpdateSendTypeVo vo) {
+        if(vo.getIds() == null || vo.getIds().isEmpty()) return R.error("修改人不能为空");
+        qwUserMapper.updateSendType(vo);
+        List<QwUser> qwUsers = qwUserMapper.selectBatchIds(vo.getIds());
+        qwUsers.forEach(e -> {
+            redisCache.setCacheObject("qwUserRd:"+e.getCorpId()+":"+e.getQwUserId() ,JSON.toJSONString(e),1, TimeUnit.HOURS);
+        });
+        return R.ok();
+    }
+
+
     /**
      * 构建查询条件
      * **/

+ 1 - 0
fs-service/src/main/java/com/fs/qw/vo/QwUserVO.java

@@ -74,6 +74,7 @@ public class QwUserVO {
     private Integer ipadStatus;
     private Long serverId;
     private Integer serverStatus;
+    private Integer sendMsgType;
 
     /**
      * 是否自动发课 00、禁用,01、启用

+ 13 - 0
fs-service/src/main/java/com/fs/qw/vo/UpdateSendTypeVo.java

@@ -0,0 +1,13 @@
+package com.fs.qw.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UpdateSendTypeVo {
+
+    private List<Long> ids;
+    private Integer type;
+
+}

+ 4 - 0
fs-service/src/main/java/com/fs/sop/domain/QwSopLogs.java

@@ -87,6 +87,10 @@ public class QwSopLogs implements Serializable {
     private Integer sort;
     private Long ms;
     private Long qwUserKey;
+
+    /**
+     * 官方群发的限制 1官方+补发   2官方+一对一通连
+     */
     @TableField(exist = false)
     private Integer takeRecords;
 

+ 10 - 2
fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -834,7 +834,11 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                 setting.setVideoId(param.getVideoId());
                 setting.setCourseId(param.getCourseId());
                 setting.setCourseType(param.getCourseType());
-
+                try {
+                    sopLogs.setQwUserKey(Long.valueOf(qwUserId));
+                }catch (Exception e){
+                    log.error("设置qwUserId异常", e);
+                }
                 sopLogs.setContentJson(JSON.toJSONString(setting));
 
                 sopLogsList.add(sopLogs);
@@ -1025,7 +1029,11 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
             setting.setVideoId(param.getVideoId());
             setting.setCourseId(param.getCourseId());
             setting.setCourseType(param.getCourseType());
-
+            try {
+                sopLogs.setQwUserKey(qwUser.getId());
+            }catch (Exception e){
+                log.error("设置qwUserId异常", e);
+            }
             sopLogs.setContentJson(JSON.toJSONString(setting));
 
             sopLogsList.add(sopLogs);

+ 3 - 3
fs-service/src/main/resources/application-config-druid-drk.yml

@@ -16,10 +16,10 @@ wx:
         aesKey: HlEiBB55eaWUaeBVAQO3cWKWPYv1vOVQSq7nFNICw4E
         msgDataFormat: JSON
   cp:
-    corpId: wwb2a1055fb6c9a7c2
+    corpId: wwde3be9a4a7004380 #德瑞康企业id
     appConfigs:
-      - agentId: 1000005
-        secret: ec7okROXJqkNafq66-L6aKNv0asTzQIG0CYrj3vyBbo
+      - agentId: 1000006 #德瑞康应用id
+        secret: prclvyFLiZD9XEns9ltt6vFMszuFc_wgm3MTnfY6ZEk #德瑞康
         token: PPKOdAlCoMO
         aesKey: PKvaxtpSv8NGpfTDm7VUHIK8Wok2ESyYX24qpXJAdMP
   pay:

+ 1 - 1
fs-service/src/main/resources/application-config-druid-sft.yml

@@ -60,7 +60,7 @@ watch:
   password3: v9xsKuqn_$d2y
 
 fs :
-  commonApi: http://172.16.0.16:8010
+  commonApi: http://172.30.0.11:8010
   h5CommonApi: http://119.29.195.254:8010
 nuonuo:
   key: 10924508

+ 3 - 0
fs-service/src/main/resources/mapper/qw/QwUserMapper.xml

@@ -248,4 +248,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             qw_user.qw_user_id IN ( SELECT user_id FROM qw_external_contact WHERE fs_user_id = #{fsUserId} )
     </select>
 
+    <update id="updateSendType">
+        update qw_user set send_msg_type = #{type} where id in <foreach collection="ids" open="(" close=")" separator="," item="item">#{item}</foreach>
+    </update>
 </mapper>

+ 1 - 1
fs-service/src/main/resources/mapper/qw/QwWorkTaskMapper.xml

@@ -157,7 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="getUserList" resultType="com.fs.qw.vo.UserVOs">
-        select b.nickname as name,b.avatar,a.title,a.score,a.create_time,a.type from
+        select b.nick_name as name,b.avatar,a.title,a.score,a.create_time,a.type from
         hy_work_task a
         inner join fs_user b on a.user_id = b.user_id
         where a.company_user_id = #{userId}

+ 58 - 5
fs-service/src/main/resources/mapper/sop/QwSopLogsMapper.xml

@@ -27,6 +27,8 @@
         <result property="fsUserId"    column="fs_user_id"    />
         <result property="takeRecords"    column="take_records"    />
         <result property="sort"    column="sort"    />
+        <result property="qwUserKey"    column="qw_user_key"    />
+        <result property="userLogsId"    column="user_logs_id"    />
     </resultMap>
 
     <sql id="selectQwSopLogsVo">
@@ -98,6 +100,8 @@
             <if test="data.fsUserId != null">fs_user_id,</if>
             <if test="data.takeRecords != null">take_records,</if>
             <if test="data.sort != null">sort,</if>
+            <if test="data.userLogsId != null">user_logs_id,</if>
+            <if test="data.qwUserKey != null">qw_user_key,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="data.qwUserid != null">#{data.qwUserid},</if>
@@ -120,6 +124,8 @@
             <if test="data.fsUserId != null">#{data.fsUserId},</if>
             <if test="data.takeRecords != null">#{data.takeRecords},</if>
             <if test="data.sort != null">#{data.sort},</if>
+            <if test="data.userLogsId != null">#{data.userLogsId},</if>
+            <if test="data.qwUserKey != null">#{data.qwUserKey},</if>
         </trim>
     </insert>
 
@@ -141,6 +147,7 @@
             <if test="data.remark != null ">remark = #{data.remark},</if>
             <if test="data.fsUserId != null ">fs_user_id = #{data.fsUserId},</if>
             <if test="data.sort != null ">sort = #{data.sort},</if>
+            <if test="data.qwUserKey != null ">qw_user_key = #{data.qwUserKey},</if>
         </trim>
         where id = #{data.id}
     </update>
@@ -219,11 +226,49 @@
         <foreach collection="list" item="item">
             WHEN id = #{item.id} THEN #{item.sendStatus}
         </foreach>
+        else send_status
         END,
         msg_id = CASE
         <foreach collection="list" item="item">
-            WHEN id = #{item.id} THEN #{item.msgId}
+            WHEN id = #{item.id} AND #{item.msgId} IS NOT NULL THEN #{item.msgId}
         </foreach>
+        ELSE msg_id
+        END,
+        send_type = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.sendType} IS NOT NULL THEN #{item.sendType}
+        </foreach>
+        ELSE send_type
+        END,
+        send_time = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.sendTime} IS NOT NULL THEN #{item.sendTime}
+        </foreach>
+        ELSE send_time
+        END,
+        receiving_status = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.receivingStatus} IS NOT NULL THEN #{item.receivingStatus}
+        </foreach>
+        ELSE receiving_status
+        END,
+        qw_user_key = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.qwUserKey} IS NOT NULL THEN #{item.qwUserKey}
+        </foreach>
+        ELSE qw_user_key
+        END,
+        remark = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.remark} IS NOT NULL THEN #{item.remark}
+        </foreach>
+        ELSE remark
+        END,
+        sort = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.sort} IS NOT NULL THEN #{item.sort}
+        </foreach>
+        ELSE sort
         END,
         real_send_time = NOW()
         WHERE id IN
@@ -254,6 +299,12 @@
         </foreach>
         ELSE send_time
         END,
+        qw_user_key = CASE
+        <foreach collection="list" item="item">
+            WHEN id = #{item.id} AND #{item.qwUserKey} IS NOT NULL THEN #{item.qwUserKey}
+        </foreach>
+        ELSE qw_user_key
+        END,
         receiving_status = CASE
         <foreach collection="list" item="item">
             WHEN id = #{item.id} AND #{item.receivingStatus} IS NOT NULL THEN #{item.receivingStatus}
@@ -528,7 +579,7 @@
         qw_userid, external_user_id,external_id, external_user_name, log_type,
         content_json, send_status, send_time, real_send_time, send_type,
         company_id, receiving_status, msg_id, sop_id, remark,
-        corp_id, customer_id, fs_user_id,sort
+        corp_id, customer_id,fs_user_id,sort,qw_user_key
         )
         VALUES
         <foreach collection="qwSopLogs" item="log" separator=",">
@@ -551,7 +602,8 @@
             #{log.corpId},
             #{log.customerId},
             #{log.fsUserId},
-            #{log.sort}
+            #{log.sort},
+            #{log.qwUserKey}
             )
         </foreach>
     </insert>
@@ -562,7 +614,7 @@
         qw_userid, external_user_id,external_id, external_user_name, log_type,
         content_json, send_status, send_time, real_send_time, send_type,
         company_id, receiving_status, msg_id, sop_id, remark,
-        corp_id, customer_id, fs_user_id, expiration_time,sort,user_logs_id,take_records
+        corp_id, customer_id, fs_user_id, expiration_time,sort,user_logs_id,take_records,qw_user_key
         )
         VALUES
         <foreach collection="qwSopLogs" item="log" separator=",">
@@ -588,7 +640,8 @@
             #{log.expirationTime},
             #{log.sort},
             #{log.userLogsId},
-            #{log.takeRecords}
+            #{log.takeRecords},
+            #{log.qwUserKey}
             )
         </foreach>
     </insert>

+ 21 - 15
fs-user-course/src/main/java/com/fs/course/controller/WxCompanyUserController.java

@@ -101,11 +101,17 @@ public class WxCompanyUserController extends AppBaseController {
             this.logger.info(session.getSessionKey());
             this.logger.info(session.getOpenid());
             this.logger.info(session.getUnionid());
+            if (StringUtils.isEmpty(session.getOpenid())){
+                return R.error("登陆失败,openid未授权,请稍后再试!");
+            }
 
             // 手机号信息
             WxMaPhoneNumberInfo phoneNoInfo = null;
             if (param.getAuthType()==1){
                 phoneNoInfo = wxService.getUserService().getPhoneNoInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
+                if (StringUtils.isEmpty(phoneNoInfo.getPhoneNumber())){
+                    return R.error("授权失败,请联系客服!");
+                }
             }
 
             FsUser user = getUserByAuthType(param, wxService, session, phoneNoInfo);
@@ -162,18 +168,18 @@ public class WxCompanyUserController extends AppBaseController {
      */
     private FsUser handleUserRegisterOrUpdate(FsUser user, LoginMaWxParam param, WxMaJscode2SessionResult session, WxMaPhoneNumberInfo phoneNoInfo, Company company, CompanyUser companyUser, String ip) {
         if (user == null) {
-            user = userService.selectFsUserByCourseMaOpenId(session.getOpenid());
-            if (user != null) {
-                // 修改
-                return updateUser(user, param, session, phoneNoInfo, company, companyUser);
-            } else {
-                // 新增
-                return createUser(param, session, phoneNoInfo, company, companyUser);
-            }
+//            user = userService.selectFsUserByCourseMaOpenId(session.getOpenid());
+//            if (user != null) {
+//                // 修改
+//                return updateUser(user, param, session, phoneNoInfo, company, companyUser);
+//            } else {
+//                // 新增
+            return createUser(param, session, phoneNoInfo, company, companyUser);
+//            }
         } else {
             // 已存在用户,更新信息
-            updateUserInfo(user, param, session, phoneNoInfo, ip);
-            return user;
+            return updateUser(user, param, session, phoneNoInfo, company, companyUser);
+//            return user;
         }
     }
 
@@ -231,13 +237,13 @@ public class WxCompanyUserController extends AppBaseController {
     private void updateUserInfo(FsUser user, LoginMaWxParam param, WxMaJscode2SessionResult session, WxMaPhoneNumberInfo phoneNoInfo, String ip) {
         FsUser userMap = new FsUser();
         userMap.setUserId(user.getUserId());
+        // userMap.setCourseMaOpenId(session.getOpenid());
+        userMap.setUnionId(session.getUnionid() == null ? "" : session.getUnionid());
         userMap.setUpdateTime(new DateTime());
+        userMap.setNickName(param.getNickname() != null ? param.getNickname() : user.getNickName());
+        userMap.setAvatar(param.getAvatar() != null ? param.getAvatar() : user.getAvatar());
         if (param.getAuthType() == 1 && phoneNoInfo != null) {
-            user.setPhone(phoneNoInfo.getPhoneNumber());
-        }
-        userMap.setLastIp(ip);
-        if (StringUtils.isNotEmpty(session.getUnionid())) {
-            userMap.setUnionId(session.getUnionid());
+            userMap.setPhone(phoneNoInfo.getPhoneNumber());
         }
         userService.updateFsUser(userMap);
     }