Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

xgb 21 часов назад
Родитель
Сommit
ed108bde99
35 измененных файлов с 238 добавлено и 42 удалено
  1. 8 0
      fs-admin/src/main/java/com/fs/qw/controller/QwPushCountController.java
  2. 3 1
      fs-admin/src/main/java/com/fs/qw/controller/QwUserController.java
  3. 9 3
      fs-company/src/main/java/com/fs/company/controller/company/CompanyUserController.java
  4. 6 2
      fs-company/src/main/java/com/fs/company/controller/course/FsCourseFinishTempParentController.java
  5. 3 1
      fs-company/src/main/java/com/fs/company/controller/course/FsCourseWatchLogController.java
  6. 7 2
      fs-company/src/main/java/com/fs/company/controller/qw/QwExternalContactController.java
  7. 3 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwExternalContactTransferLogController.java
  8. 3 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwFriendWelcomeController.java
  9. 3 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwGroupChatController.java
  10. 3 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwSopController.java
  11. 3 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwSopLogsController.java
  12. 14 0
      fs-company/src/main/java/com/fs/company/controller/qw/QwSopTempController.java
  13. 3 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwWorkTaskNewController.java
  14. 2 2
      fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisFsUserCourseVideoController.java
  15. 3 3
      fs-qwhook-sop/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java
  16. 9 0
      fs-service/src/main/java/com/fs/his/vo/FsUserVO.java
  17. 6 0
      fs-service/src/main/java/com/fs/sop/domain/QwSopTemp.java
  18. 3 0
      fs-service/src/main/java/com/fs/sop/domain/QwSopTempRules.java
  19. 0 9
      fs-service/src/main/java/com/fs/sop/service/impl/QwSopServiceImpl.java
  20. 20 3
      fs-service/src/main/java/com/fs/sop/service/impl/QwSopTempServiceImpl.java
  21. 13 7
      fs-service/src/main/resources/application-config-zlwh.yml
  22. 2 1
      fs-service/src/main/resources/mapper/sop/QwSopTempRulesMapper.xml
  23. 24 0
      fs-user-app/src/main/java/com/fs/app/controller/AppLoginController.java
  24. 1 1
      fs-user-app/src/main/java/com/fs/app/controller/UserController.java
  25. 10 0
      fs-user-app/src/main/java/com/fs/app/controller/WxH5MpController.java
  26. 18 0
      fs-user-app/src/main/java/com/fs/app/controller/WxUserController.java
  27. 5 0
      fs-user-app/src/main/java/com/fs/app/controller/course/CourseFsUserLoginController.java
  28. 6 0
      fs-user-app/src/main/java/com/fs/app/controller/course/CourseMpLoginController.java
  29. 6 0
      fs-user-app/src/main/java/com/fs/app/controller/course/CourseQwLoginController.java
  30. 10 0
      fs-user-app/src/main/java/com/fs/app/controller/store/AppLoginScrmController.java
  31. 6 1
      fs-user-app/src/main/java/com/fs/app/controller/store/WxCompanyUserScrmController.java
  32. 6 0
      fs-user-app/src/main/java/com/fs/app/controller/store/WxCompanyUserScrmControllerCopy.java
  33. 6 0
      fs-user-app/src/main/java/com/fs/app/controller/store/WxH5MpScrmController.java
  34. 6 0
      fs-user-app/src/main/java/com/fs/app/controller/store/WxMpScrmController.java
  35. 8 0
      fs-user-app/src/main/java/com/fs/app/controller/store/WxUserScrmController.java

+ 8 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwPushCountController.java

@@ -201,6 +201,14 @@ public class QwPushCountController extends BaseController {
         rspData.setTotal(total);
         return rspData;
     }
+
+    @GetMapping("/tokenExport")
+    public AjaxResult export(FastGptPushTokenTotal pushTokenInfo){
+        List<FastGptPushTokenTotal> list = qwPushCountService.selectFastGptPushTokenTotalList(pushTokenInfo);
+        ExcelUtil<FastGptPushTokenTotal> util = new ExcelUtil<FastGptPushTokenTotal>(FastGptPushTokenTotal.class);
+        return util.exportExcel(list,"token统计");
+    }
+
     @PreAuthorize("@ss.hasPermi('qw:qwPushCount:tokenListDept')")
     @GetMapping("/tokenListDept")
     public TableDataInfo tokenListDept(FastGptPushTokenDeptTotalParam pushTokenInfo) {

+ 3 - 1
fs-admin/src/main/java/com/fs/qw/controller/QwUserController.java

@@ -204,7 +204,9 @@ public class QwUserController extends BaseController {
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 9 - 3
fs-company/src/main/java/com/fs/company/controller/company/CompanyUserController.java

@@ -149,7 +149,9 @@ public class CompanyUserController extends BaseController {
             combinedDpetList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedDpetList.addAll(deptList);
         }
@@ -576,7 +578,9 @@ public class CompanyUserController extends BaseController {
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }
@@ -672,7 +676,9 @@ public class CompanyUserController extends BaseController {
             }
 
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedDeptList.addAll(deptList);
         }

+ 6 - 2
fs-company/src/main/java/com/fs/company/controller/course/FsCourseFinishTempParentController.java

@@ -92,7 +92,9 @@ public class FsCourseFinishTempParentController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }
@@ -157,7 +159,9 @@ public class FsCourseFinishTempParentController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/course/FsCourseWatchLogController.java

@@ -118,7 +118,9 @@ public class FsCourseWatchLogController extends BaseController
         }
 
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 7 - 2
fs-company/src/main/java/com/fs/company/controller/qw/QwExternalContactController.java

@@ -210,7 +210,10 @@ public class QwExternalContactController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }
@@ -832,7 +835,9 @@ public class QwExternalContactController extends BaseController
                 combinedList.add(deptId);
             }
             //本部门的下级部门
-            List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+            //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+            //本部门的全部下级部门
+            List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
             if (!deptList.isEmpty()){
                 combinedList.addAll(deptList);
             }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwExternalContactTransferLogController.java

@@ -73,7 +73,9 @@ public class QwExternalContactTransferLogController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwFriendWelcomeController.java

@@ -82,7 +82,9 @@ public class QwFriendWelcomeController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwGroupChatController.java

@@ -74,7 +74,9 @@ public class QwGroupChatController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwSopController.java

@@ -114,7 +114,9 @@ public class QwSopController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwSopLogsController.java

@@ -175,7 +175,9 @@ public class QwSopLogsController extends BaseController
                     combinedList.add(deptId);
                 }
                 // 本部门的下级部门
-                List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+                //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+                //本部门的全部下级部门
+                List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
                 if (!deptList.isEmpty()) {
                     combinedList.addAll(deptList);
                 }

+ 14 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwSopTempController.java

@@ -24,6 +24,8 @@ import com.fs.sop.params.BatchOpenOrCloseOfficialParam;
 import com.fs.sop.params.QwSopShareTempParam;
 import com.fs.sop.service.IQwSopTempService;
 import com.fs.sop.vo.UpdateRedVo;
+import com.fs.system.domain.SysConfig;
+import com.fs.system.service.ISysConfigService;
 import com.fs.voice.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -62,6 +64,9 @@ public class QwSopTempController extends BaseController
     @Autowired
     private CompanyUserServiceImpl companyUserService;
 
+    @Autowired
+    private ISysConfigService configService;
+
     /**
      * 查询sop模板列表
      */
@@ -375,4 +380,13 @@ public class QwSopTempController extends BaseController
     public R batchOpenOrCloseOfficial(@RequestBody BatchOpenOrCloseOfficialParam param){
         return qwSopTempService.batchOpenOrCloseOfficial(param);
     }
+
+    /**
+     * 根据后台配置的数据,动态控制前端展示的功能。
+     * */
+    @GetMapping(value = "/getConfigByKey/{configKey}")
+    public AjaxResult getConfigByKey(@PathVariable String configKey) {
+        SysConfig config = configService.selectConfigByConfigKey(configKey);
+        return AjaxResult.success(config);
+    }
 }

+ 3 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwWorkTaskNewController.java

@@ -87,7 +87,9 @@ public class QwWorkTaskNewController extends BaseController
             combinedList.add(deptId);
         }
         //本部门的下级部门
-        List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //List<Long> deptList = companyDeptService.selectCompanyDeptByParentId(deptId);
+        //本部门的全部下级部门
+        List<Long> deptList = companyDeptService.getCurrentDeptIdDownTreeIds(deptId);
         if (!deptList.isEmpty()){
             combinedList.addAll(deptList);
         }

+ 2 - 2
fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisFsUserCourseVideoController.java

@@ -213,8 +213,8 @@ public class ApisFsUserCourseVideoController extends BaseController {
         if (StringUtil.strIsNullOrEmpty(param.getCorpId())){
             return R.error("企业id不能为空");
         }
-        CourseConfig courseConfig = configUtil.generateStructConfigByKey(SysConfigEnum.COURSE_CONFIG.getKey(), CourseConfig.class);
-        if (courseConfig!= null && courseConfig.getRoomLinkAllow()){
+        JSONObject jsonObject = configUtil.generateConfigByKey(SysConfigEnum.COURSE_CONFIG.getKey());
+        if (jsonObject!= null && jsonObject.getString("roomLinkAllow")!= null && Boolean.parseBoolean(jsonObject.getString("roomLinkAllow"))){
             return R.error("创建群链接已禁止");
         }
 

+ 3 - 3
fs-qwhook-sop/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -123,9 +123,9 @@ public class FsUserCourseVideoController {
         if (StringUtil.strIsNullOrEmpty(param.getCorpId())){
             return R.error("企业id不能为空");
         }
-        CourseConfig courseConfig = configUtil.generateStructConfigByKey(SysConfigEnum.COURSE_CONFIG.getKey(), CourseConfig.class);
-        if (courseConfig!= null && courseConfig.getRoomLinkAllow()){
-            return R.error("创建群链接已禁止");
+        JSONObject jsonObject = configUtil.generateConfigByKey(SysConfigEnum.COURSE_CONFIG.getKey());
+        if (jsonObject!= null && jsonObject.getString("roomLinkAllow")!= null && Boolean.parseBoolean(jsonObject.getString("roomLinkAllow"))){
+            return R.error("创建群链接已禁止");
         }
 
         return fsUserCourseVideoService.createRoomMiniLink(param);

+ 9 - 0
fs-service/src/main/java/com/fs/his/vo/FsUserVO.java

@@ -165,4 +165,13 @@ public class FsUserVO extends FsUser implements Serializable
     @ApiModelProperty(value = "绑定时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date bindTime;
+
+    @ApiModelProperty(value = "最后一次登录IP")
+    private String lastIp;
+
+    @ApiModelProperty(value = "当前登录设备")
+    private String loginDevice;
+
+    @ApiModelProperty(value = "app来源")
+    private String source;
 }

+ 6 - 0
fs-service/src/main/java/com/fs/sop/domain/QwSopTemp.java

@@ -59,6 +59,12 @@ public class QwSopTemp implements Serializable
     @TableField(exist = false)
     private String openOfficial;
 
+    /**
+     * 是否开启app发课
+     */
+    @TableField(exist = false)
+    private String openAppCourse;
+
     private String corpId;
 
     /**

+ 3 - 0
fs-service/src/main/java/com/fs/sop/domain/QwSopTempRules.java

@@ -39,6 +39,9 @@ public class QwSopTempRules{
     /**是否官方群发 */
     private String isOfficial;
 
+    /**是否App发课 */
+    private String openAppCourse;
+
     /** 消息类别;(1普通,2课程,3订单,4AI触达) */
     @Excel(name = "消息类别;", readConverterExp = "1=普通,2课程,3订单,4AI触达")
     private Integer contentType;

+ 0 - 9
fs-service/src/main/java/com/fs/sop/service/impl/QwSopServiceImpl.java

@@ -1416,15 +1416,6 @@ public class QwSopServiceImpl implements IQwSopService {
         return null;
     }
 
-    private CourseConfig parseCourseConfig(String configValue) {
-        try {
-            return JSONUtil.toBean(configValue, CourseConfig.class);
-        } catch (Exception e) {
-            log.error("解析课程配置失败: {}", configValue, e);
-            return null;
-        }
-    }
-
     /**
      *  获取外部联系人信息
      * */

+ 20 - 3
fs-service/src/main/java/com/fs/sop/service/impl/QwSopTempServiceImpl.java

@@ -469,6 +469,11 @@ public class QwSopTempServiceImpl implements IQwSopTempService {
                 } else {
                     rules.setIsOfficial("0");
                 }
+                if (temp.getOpenAppCourse().equals("1")) {
+                    rules.setOpenAppCourse(sorts.get() == 0 ? "1" : "0");//app看课
+                } else {
+                    rules.setOpenAppCourse("0");
+                }
 
                 if (day.getDayNum() == 1 && sorts.get() == 0 && temp.getOpenOfficial().equals("1")) {
                     rules.setTime("01:05");
@@ -508,7 +513,11 @@ public class QwSopTempServiceImpl implements IQwSopTempService {
 
                 setting.setIsBindUrl(1);
                 setting.setLinkDescribe(e.getTitle());
-                setting.setContentType("4");
+                if (temp.getOpenAppCourse().equals("1")&&temp.getOpenOfficial().equals("0")) { //如果选择了app发课
+                    setting.setContentType("9");//这里的消息类别就是app类型
+                }else {
+                    setting.setContentType("4");
+                }
                 content.setContent(JSON.toJSONString(setting));
                 content.setIsBindUrl(1);
                 List<QwSopTempContent> qwSopTempContents = new ArrayList<>();
@@ -519,7 +528,11 @@ public class QwSopTempServiceImpl implements IQwSopTempService {
                     content2.setContentType(3);
                     QwSopTempSetting2.Content.Setting setting2 = new QwSopTempSetting2.Content.Setting();
                     setting2.setValue(temp.getModeContent());
-                    setting2.setContentType("1");
+                    if (temp.getOpenAppCourse().equals("1")&&temp.getOpenOfficial().equals("0")) { //如果选择了app发课
+                        setting2.setContentType("15");//这里的内容类别就是App文本类型
+                    }else {
+                        setting2.setContentType("1");
+                    }
                     content2.setContent(JSON.toJSONString(setting2));
                     qwSopTempContents.add(content2);
                 }
@@ -530,7 +543,11 @@ public class QwSopTempServiceImpl implements IQwSopTempService {
                     content3.setContentType(3);
                     QwSopTempSetting2.Content.Setting setting3 = new QwSopTempSetting2.Content.Setting();
                     setting3.setValue(temp.getTimeDesc().get(sorts.get() - 1));
-                    setting3.setContentType("1");
+                    if (temp.getOpenAppCourse().equals("1")&&temp.getOpenOfficial().equals("0")) { //如果选择了app发课
+                        setting3.setContentType("15");//这里的内容类别就是App文本类型
+                    }else {
+                        setting3.setContentType("1");
+                    }
                     content3.setContent(JSON.toJSONString(setting3));
                     qwSopTempContents.add(content3);
 

+ 13 - 7
fs-service/src/main/resources/application-config-zlwh.yml

@@ -58,19 +58,19 @@ wx:
         aesKey: PKvaxtpSv8NGpfTDm7VUHIK8Wok2ESyYX24qpXJAdMP
   miniapp:
     configs:
-      - appid: wx11a2ce7c2bbc4521   #倍力优会员商城
-        secret: d680dc8ff20258b158c9355f8b7769ae
+      - appid: wxdf14438a85585494
+        secret: 9e283c66c769ce6bda935f784db53ce4
         token: Ncbnd7lJvkripVOpyTFAna6NAWCxCrvC
         aesKey: HlEiBB55eaWUaeBVAQO3cWKWPYv1vOVQSq7nFNICw4E
         msgDataFormat: JSON
-      - appid: wx301ab2fad04c658a   #倍力优看课小程序
-        secret: 35018f10929b84c8c4a225de253bbcc6
+      - appid: wxdf14438a85585494
+        secret: 9e283c66c769ce6bda935f784db53ce4
         token: Ncbnd7lJvkripVOpyTFAna6NAWCxCrvC
         aesKey: HlEiBB55eaWUaeBVAQO3cWKWPYv1vOVQSq7nFNICw4E
         msgDataFormat: JSON
 
   pay:
-    appId: wx11a2ce7c2bbc4521 #微信公众号或者小程序等的appid
+    appId: wxdf14438a85585494 #微信公众号或者小程序等的appid
     mchId: 1703311381 #微信支付商户号
     mchKey: FotTIbIzn4AisMW7de712LJQIazSqqAl #微信支付商户密钥
     v3Key: y5Eo99q93qzdQRAs6E2BDKIF7f3EnS3G
@@ -85,8 +85,8 @@ wx:
       port: 6379
       timeout: 2000
     configs:
-      - appId: wx568ea6b70350c585 # 第一个公众号的appid  倍力优
-        secret: b14343e22871b1c207df5d3321e826b4 # 公众号的appsecret
+      - appId: wxdf14438a85585494 #
+        secret: 9e283c66c769ce6bda935f784db53ce4 #
         token: PPKOdAlCoMO # 接口配置里的Token值
         aesKey: Eswa6VjwtVMCcw03qZy6fWllgrv5aytIA1SZPEU0kU2 # 接口配置里的EncodingAESKey值
 jpush:
@@ -128,6 +128,12 @@ watch:
 
 fs:
   commonApi: http://172.21.76.167:8010
+  jwt:
+    # 加密秘钥
+    secret: e10tdr3949fa43abbe56e057f2fd883e
+    # token有效时长,7天,单位秒
+    expire: 31536000
+    header: AppToken
 nuonuo:
   key: 10924508
   secret: A2EB20764D304D16

+ 2 - 1
fs-service/src/main/resources/mapper/sop/QwSopTempRulesMapper.xml

@@ -17,10 +17,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="aiTouch"    column="ai_touch"    />
         <result property="addTag"    column="add_tag"    />
         <result property="delTag"    column="del_tag"    />
+        <result property="openAppCourse"    column="open_app_course"    />
     </resultMap>
 
     <sql id="selectQwSopTempRulesVo">
-        select id, temp_id, name, day_num,add_tag,del_tag, time, content_type, course_type, course_id, video_id, ai_touch from qw_sop_temp_rules
+        select id, temp_id, name, day_num,add_tag,del_tag, time, content_type, course_type, course_id, video_id, ai_touch,open_app_course from qw_sop_temp_rules
     </sql>
 
     <select id="selectQwSopTempRulesList" parameterType="QwSopTempRules" resultMap="QwSopTempRulesResult">

+ 24 - 0
fs-user-app/src/main/java/com/fs/app/controller/AppLoginController.java

@@ -13,6 +13,8 @@ import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.exception.ServiceException;
 import com.fs.common.service.ISmsService;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.common.utils.sign.Md5Utils;
 import com.fs.core.config.WxOpenProperties;
 import com.fs.his.config.FsSysConfig;
@@ -271,6 +273,8 @@ public class AppLoginController extends AppBaseController{
                 if (StringUtils.isNotEmpty(param.getJpushId())) {
                     user.setJpushId(param.getJpushId());
                 }
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                user.setLastIp(ipAddr);
                 userService.insertFsUser(user);
                 map.put("isNew", true);
                 map.put("unionid",unionid);
@@ -282,6 +286,8 @@ public class AppLoginController extends AppBaseController{
                     FsUser userMap = new FsUser();
                     userMap.setUserId(user.getUserId());
                     userMap.setAppId(updatedAppId);
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    userMap.setLastIp(ipAddr);
                     userService.updateFsUser(userMap);
                 }
 
@@ -388,6 +394,8 @@ public class AppLoginController extends AppBaseController{
             userMap.setNickName("苹果用户" + param.getPhone().substring(param.getPhone().length() - 4));
         }
         userMap.setAppleKey(param.getAppleKey());
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         if (userService.updateFsUser(userMap)>0){
             return generateTokenAndReturn(userMap);
         }
@@ -465,6 +473,8 @@ public class AppLoginController extends AppBaseController{
                 user.setPhone(param.getPhone());
                 user.setLoginDevice(param.getLoginDevice());
                 user.setSource(param.getSource());
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                user.setLastIp(ipAddr);
                 userService.updateFsUser(user);
                 return generateTokenAndReturn(user);
             }
@@ -485,6 +495,8 @@ public class AppLoginController extends AppBaseController{
             keepUser.setSource(param.getSource());
             keepUser.setUnionId(user.getUnionId());
             keepUser.setPhone(param.getPhone());
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            keepUser.setLastIp(ipAddr);
             if (userService.updateFsUser(keepUser)>0){
                 userService.realDeleteFsUserByUserId(deleteUser.getUserId());
                 return generateTokenAndReturn(keepUser);
@@ -499,6 +511,8 @@ public class AppLoginController extends AppBaseController{
         userMap.setSource(param.getSource());
         userMap.setUserId(user.getUserId());
         userMap.setPhone(param.getPhone());
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         if (userService.updateFsUser(userMap)>0){
             return generateTokenAndReturn(user);
         }
@@ -535,6 +549,8 @@ public class AppLoginController extends AppBaseController{
                         user.setLoginDevice(param.getLoginDevice());
                         user.setSource(param.getSource());
                         user.setUnionId(unionid);
+                        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                        user.setLastIp(ipAddr);
                         userService.updateFsUser(user);
                         return generateTokenAndReturn(user);
                     }
@@ -554,6 +570,8 @@ public class AppLoginController extends AppBaseController{
                     keepUser.setNickName(nickname);
                     keepUser.setAvatar(avatar);
                     keepUser.setSex(sex);
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    keepUser.setLastIp(ipAddr);
                     if (userService.updateFsUser(keepUser)>0){
                         userService.realDeleteFsUserByUserId(deleteUser.getUserId());
                         return generateTokenAndReturn(keepUser);
@@ -569,6 +587,8 @@ public class AppLoginController extends AppBaseController{
                     user.setSex(sex);
                     user.setUnionId(unionid);
                     user.setAppOpenId(openid);
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    user.setLastIp(ipAddr);
                     if (userService.updateFsUser(user)>0){
                         return generateTokenAndReturn(user);
                     }
@@ -591,6 +611,8 @@ public class AppLoginController extends AppBaseController{
         if (StringUtils.isNotEmpty(user.getAppOpenId())) {
             userMap.setAppOpenId(user.getAppOpenId());
         }
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         userService.updateFsUser(userMap);
     }
 
@@ -782,6 +804,8 @@ public class AppLoginController extends AppBaseController{
                     FsUser fsUser = new FsUser();
                     fsUser.setUserId(user.getUserId());
                     fsUser.setPhone(encryptPhone(param.getPhone()));
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    fsUser.setLastIp(ipAddr);
                     userMapper.updateFsUser(fsUser);
                     logger.info("zyp \n【手机加密】:{}",encryptPhone(param.getPhone()));
                 }

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/UserController.java

@@ -351,7 +351,7 @@ public class UserController extends  AppBaseController {
         String userId = getUserId();
         FsUser fsUser = new FsUser();
         fsUser.setUserId(Long.parseLong(userId));
-//        fsUser.setHistoryApp(historyApp);
+        fsUser.setHistoryApp(historyApp);
         if (userService.updateFsUser(fsUser)>0) {
             return R.ok();
         } else {

+ 10 - 0
fs-user-app/src/main/java/com/fs/app/controller/WxH5MpController.java

@@ -9,6 +9,8 @@ import com.fs.app.param.FsUserLoginByMpParam;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyService;
@@ -194,6 +196,8 @@ public class WxH5MpController {
             if (!updatedAppId.equals(user.getAppId())) {
                 userUpdate.setAppId(updatedAppId);
             }
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            userUpdate.setLastIp(ipAddr);
             userService.updateFsUser(userUpdate);
             return userUpdate;
         } else {
@@ -210,6 +214,8 @@ public class WxH5MpController {
 //            newUser.setStatus(company != null && company.getFsUserIsDefaultBlack() == 1 ? 0 : 1);
             // 新用户 - 添加 appId
             newUser.setAppId(param.getAppId());
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            newUser.setLastIp(ipAddr);
             userService.insertFsUser(newUser);
 
             return newUser;
@@ -233,6 +239,8 @@ public class WxH5MpController {
             if (!updatedAppId.equals(user.getAppId())) {
                 userUpdate.setAppId(updatedAppId);
             }
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            userUpdate.setLastIp(ipAddr);
             userService.updateFsUser(userUpdate);
             return userUpdate;
         } else {
@@ -248,6 +256,8 @@ public class WxH5MpController {
             newUser.setCreateTime(new Date());
             // 新用户 - 添加 appId
             newUser.setAppId(param.getAppId());
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            newUser.setLastIp(ipAddr);
             userService.insertFsUser(newUser);
             return newUser;
         }

+ 18 - 0
fs-user-app/src/main/java/com/fs/app/controller/WxUserController.java

@@ -16,6 +16,8 @@ import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.param.LoginParam;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.IpUtil;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.CompanyUser;
 import com.fs.core.config.WxMaConfiguration;
 import com.fs.core.config.WxMpConfiguration;
@@ -145,6 +147,8 @@ public class WxUserController extends AppBaseController{
                     if(session.getUnionid()!=null){
                         userMap.setUnionId(session.getUnionid());
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    userMap.setLastIp(ipAddr);
                     userService.updateFsUser(userMap);
                 }
                 else{
@@ -162,6 +166,8 @@ public class WxUserController extends AppBaseController{
                     if(session.getUnionid()!=null){
                         user.setUnionId(session.getUnionid());
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    user.setLastIp(ipAddr);
                     userService.insertFsUser(user);
                 }
             }
@@ -183,6 +189,8 @@ public class WxUserController extends AppBaseController{
                 if (!updatedAppId.equals(user.getAppId())) {
                     userMap.setAppId(updatedAppId);
                 }
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                userMap.setLastIp(ipAddr);
                 userService.updateFsUser(userMap);
             }
             String token = jwtUtils.generateToken(user.getUserId());
@@ -264,6 +272,8 @@ public class WxUserController extends AppBaseController{
                     if(session.getUnionid()!=null){
                         userMap.setUnionId(session.getUnionid());
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    userMap.setLastIp(ipAddr);
                     userService.updateFsUser(userMap);
                 }
                 else{
@@ -281,6 +291,8 @@ public class WxUserController extends AppBaseController{
                     if(session.getUnionid()!=null){
                         user.setUnionId(session.getUnionid());
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    user.setLastIp(ipAddr);
                     userService.insertFsUser(user);
                 }
             }
@@ -302,6 +314,8 @@ public class WxUserController extends AppBaseController{
                 if (!updatedAppId.equals(user.getAppId())) {
                     userMap.setAppId(updatedAppId);
                 }
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                userMap.setLastIp(ipAddr);
                 userService.updateFsUser(userMap);
             }
             String token = jwtUtils.generateToken(user.getUserId());
@@ -346,6 +360,8 @@ public class WxUserController extends AppBaseController{
                 userMap.setAvatar(wxMpUser.getHeadImgUrl());
                 userMap.setMpOpenId(wxMpUser.getOpenid());
                 userMap.setUpdateTime(new DateTime());
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                userMap.setLastIp(ipAddr);
                 userService.updateFsUser(userMap);
             }
             else{
@@ -358,6 +374,8 @@ public class WxUserController extends AppBaseController{
                 user.setMpOpenId(wxMpUser.getOpenid());
                 user.setUnionId(wxMpUser.getUnionId());
                 user.setCreateTime(new Date());
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                user.setLastIp(ipAddr);
                 userService.insertFsUser(user);
             }
             String token = jwtUtils.generateToken(user.getUserId());

+ 5 - 0
fs-user-app/src/main/java/com/fs/app/controller/course/CourseFsUserLoginController.java

@@ -11,6 +11,7 @@ import com.fs.common.core.redis.RedisCache;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.utils.IpUtil;
 import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyDeptService;
@@ -196,6 +197,8 @@ public class CourseFsUserLoginController extends AppBaseController {
         if (param.getAuthType() == 1 && phoneNoInfo != null) {
             user.setPhone(phoneNoInfo.getPhoneNumber());
         }
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        user.setLastIp(ipAddr);
         userService.insertFsUser(user);
         if((companyUser.getIsAllowedAllRegister() == null || companyUser.getIsAllowedAllRegister() == 1)
                 && companyUser.getIsNeedRegisterMember() != null && companyUser.getIsNeedRegisterMember() != 1){
@@ -216,6 +219,8 @@ public class CourseFsUserLoginController extends AppBaseController {
         if (param.getAuthType() == 1 && phoneNoInfo != null) {
             userMap.setPhone(phoneNoInfo.getPhoneNumber());
         }
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         userService.updateFsUser(userMap);
         return userMap;
     }

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/controller/course/CourseMpLoginController.java

@@ -6,6 +6,8 @@ import com.fs.app.param.FsUserLoginByMpParam;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.course.mapper.FsCourseSopLogsMapper;
 import com.fs.course.mapper.FsCourseWatchLogMapper;
 import com.fs.his.domain.FsUser;
@@ -91,6 +93,8 @@ public class CourseMpLoginController {
         userMap.setAvatar(wxMpUser.getHeadImgUrl());
         userMap.setMpOpenId(wxMpUser.getOpenid());
         userMap.setUpdateTime(new DateTime());
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         userService.updateFsUser(userMap);
       }
       else{
@@ -103,6 +107,8 @@ public class CourseMpLoginController {
         user.setMpOpenId(wxMpUser.getOpenid());
         user.setUnionId(wxMpUser.getUnionId());
         user.setCreateTime(new Date());
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        user.setLastIp(ipAddr);
         userService.insertFsUser(user);
       }
       System.out.println("user:id:"+user.getUserId());

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/controller/course/CourseQwLoginController.java

@@ -10,6 +10,8 @@ import com.fs.app.controller.AppBaseController;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.param.LoginParam;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.core.config.WxMaConfiguration;
 import com.fs.course.config.CourseMaConfig;
 import com.fs.app.utils.JwtUtils;
@@ -144,6 +146,8 @@ public class CourseQwLoginController extends AppBaseController {
                 userMap.setMaOpenId(session.getOpenid());
 //                userMap.setCourseMaOpenId(session.getOpenid());
                 userMap.setUpdateTime(new DateTime());
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                userMap.setLastIp(ipAddr);
                 userService.updateFsUser(userMap);
             }
             // 用户不存在时的创建逻辑
@@ -156,6 +160,8 @@ public class CourseQwLoginController extends AppBaseController {
 //                user.setCourseMaOpenId(session.getOpenid());
                 user.setUnionId(session.getUnionid());
                 user.setCreateTime(new Date());
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                user.setLastIp(ipAddr);
                 userService.insertFsUser(user);
                 isNewUser = true;
             }

+ 10 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/AppLoginScrmController.java

@@ -11,6 +11,8 @@ import com.fs.app.utils.WxUtil;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.common.utils.sign.Md5Utils;
 import com.fs.hisStore.domain.FsUserScrm;
 import com.fs.hisStore.param.FsUserRegisterParam;
@@ -151,6 +153,8 @@ public class AppLoginScrmController extends AppBaseController {
                 if (StringUtils.isNotEmpty(param.getJpushId())) {
                     user.setJpushId(param.getJpushId());
                 }
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                user.setLastIp(ipAddr);
                 userService.insertFsUser(user);
                 map.put("isNew", true);
                 map.put("unionid",unionid);
@@ -191,6 +195,8 @@ public class AppLoginScrmController extends AppBaseController {
         userMap = new FsUserScrm();
         userMap.setUserId(user.getUserId());
         userMap.setPhone(param.getPhone());
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         if (userService.updateFsUser(userMap)>0){
             return generateTokenAndReturn(user);
         }
@@ -201,6 +207,8 @@ public class AppLoginScrmController extends AppBaseController {
         FsUserScrm userMap = new FsUserScrm();
         userMap.setUserId(user.getUserId());
         userMap.setJpushId(jpushId);
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         userService.updateFsUser(userMap);
     }
 
@@ -265,6 +273,8 @@ public class AppLoginScrmController extends AppBaseController {
         if (StringUtils.isNotEmpty(param.getJpushId())) {
             newUser.setJpushId(param.getJpushId());
         }
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        newUser.setLastIp(ipAddr);
         userService.insertFsUser(newUser);
         return newUser;
     }

+ 6 - 1
fs-user-app/src/main/java/com/fs/app/controller/store/WxCompanyUserScrmController.java

@@ -9,6 +9,8 @@ import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.utils.IpUtil;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyService;
@@ -176,6 +178,8 @@ public class WxCompanyUserScrmController extends AppBaseController {
         if (param.getAuthType() == 1 && phoneNoInfo != null) {
             user.setPhone(phoneNoInfo.getPhoneNumber());
         }
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        user.setLastIp(ipAddr);
         userService.insertFsUser(user);
 
         if((companyUser.getIsAllowedAllRegister() == null || companyUser.getIsAllowedAllRegister() == 1)
@@ -197,7 +201,8 @@ public class WxCompanyUserScrmController extends AppBaseController {
         if (param.getAuthType() == 1 && phoneNoInfo != null) {
             userMap.setPhone(phoneNoInfo.getPhoneNumber());
         }
-
+        String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+        userMap.setLastIp(ipAddr);
         userService.updateFsUser(userMap);
         return userMap;
     }

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxCompanyUserScrmControllerCopy.java

@@ -10,6 +10,8 @@ import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.utils.IpUtil;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyDeptService;
@@ -149,6 +151,8 @@ public class WxCompanyUserScrmControllerCopy extends AppBaseController {
                         user.setCompanyId(param.getCompanyId());
                         user.setCompanyUserId(param.getCompanyUserId());
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    user.setLastIp(ipAddr);
 //                    redisCache.setCacheObject("");
                     userService.insertFsUser(user);
                 }
@@ -161,6 +165,8 @@ public class WxCompanyUserScrmControllerCopy extends AppBaseController {
                 if (StringUtils.isNotEmpty(session.getUnionid())) {
                     userMap.setUnionId(session.getUnionid());
                 }
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                userMap.setLastIp(ipAddr);
                 userService.updateFsUser(userMap);
             }
             log.info("保存成功的用户信息user: {}, 用户id: {}", user, user.getUserId());

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxH5MpScrmController.java

@@ -5,6 +5,8 @@ import com.fs.app.param.FsUserLoginByMpParam;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyService;
@@ -143,6 +145,8 @@ public class WxH5MpScrmController {
             userUpdate.setUpdateTime(new DateTime());
             userUpdate.setNickName(wxMpUser.getNickname());
             userUpdate.setAvatar(wxMpUser.getHeadImgUrl());
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            userUpdate.setLastIp(ipAddr);
             userService.updateFsUser(userUpdate);
             return userUpdate;
         } else {
@@ -156,6 +160,8 @@ public class WxH5MpScrmController {
 //            newUser.setCompanyUserId(companyUser.getUserId());
             newUser.setUnionId(wxMpUser.getUnionId());
             newUser.setCreateTime(new Date());
+            String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+            newUser.setLastIp(ipAddr);
             userService.insertFsUser(newUser);
 
             return newUser;

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxMpScrmController.java

@@ -5,6 +5,8 @@ import com.fs.app.param.FsUserLoginByMpParam;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.course.mapper.FsCourseSopLogsMapper;
 import com.fs.course.mapper.FsCourseWatchLogMapper;
 import com.fs.hisStore.service.IFsUserScrmService;
@@ -112,6 +114,8 @@ public class WxMpScrmController {
           userMap.setMpOpenId(wxMpUser.getOpenid());
           userMap.setUpdateTime(new DateTime());
           userMap.setNickname(wxMpUser.getNickname());
+          String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+          userMap.setLastIp(ipAddr);
           userService.updateFsUser(userMap);
         }
         else{
@@ -124,6 +128,8 @@ public class WxMpScrmController {
           user.setMpOpenId(wxMpUser.getOpenid());
           user.setUnionId(wxMpUser.getUnionId());
           user.setCreateTime(new Date());
+          String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+          user.setLastIp(ipAddr);
           userService.insertFsUser(user);
         }
         String token = jwtUtils.generateToken(user.getUserId());

+ 8 - 0
fs-user-app/src/main/java/com/fs/app/controller/store/WxUserScrmController.java

@@ -14,6 +14,8 @@ import com.fs.common.core.domain.R;
 import com.fs.common.exception.CustomException;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.utils.IpUtil;
+import com.fs.common.utils.ServletUtils;
+import com.fs.common.utils.ip.IpUtils;
 import com.fs.core.config.WxMaConfiguration;
 import com.fs.core.config.WxMpProperties;
 import com.fs.his.domain.FsUser;
@@ -333,6 +335,8 @@ public class WxUserScrmController extends AppBaseController {
                     if (!updatedAppId.equals(checkPhone.getAppId())) {
                         userMap.setAppId(updatedAppId);
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    userMap.setLastIp(ipAddr);
                     logger.info("=====用户======:{}",updatedAppId);
                     userService.updateFsUser(userMap);
                 }
@@ -350,6 +354,8 @@ public class WxUserScrmController extends AppBaseController {
                     if(session.getUnionid()!=null){
                         user.setUnionId(session.getUnionid());
                     }
+                    String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                    user.setLastIp(ipAddr);
                     userService.insertFsUser(user);
                 }
             }
@@ -371,6 +377,8 @@ public class WxUserScrmController extends AppBaseController {
                 if (!updatedAppId.equals(user.getAppId())) {
                     userMap.setAppId(updatedAppId);
                 }
+                String ipAddr = IpUtils.getIpAddr(ServletUtils.getRequest());
+                userMap.setLastIp(ipAddr);
                 userService.updateFsUser(userMap);
             }
             LoginMaWxParam loginMaWxParam = new LoginMaWxParam();