Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

qinhouyu před 1 rokem
rodič
revize
4b43c2cfb0
25 změnil soubory, kde provedl 1368 přidání a 27 odebrání
  1. 101 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/handleAffairs/TopicTypeController.java
  2. 93 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/highServer/JnbHighServerController.java
  3. 15 3
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/score/ScoreController.java
  4. 18 0
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
  5. 2 2
      sooka-jnb/src/main/java/com/sooka/jnb/cooperative/domain/Cooperative.java
  6. 5 0
      sooka-jnb/src/main/java/com/sooka/jnb/cooperative/service/impl/CooperativeServiceImpl.java
  7. 39 0
      sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/domain/TopicType.java
  8. 63 0
      sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/mapper/TopicTypeMapper.java
  9. 63 0
      sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/service/ITopicTypeService.java
  10. 100 0
      sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/service/impl/TopicTypeServiceImpl.java
  11. 122 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/domain/JnbHighServer.java
  12. 84 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/domain/JnbHighServerImg.java
  13. 16 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/mapper/JnbHighServerImgMapper.java
  14. 62 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/mapper/JnbHighServerMapper.java
  15. 62 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/service/IJnbHighServerService.java
  16. 130 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/service/impl/JnbHighServerServiceImpl.java
  17. 99 0
      sooka-jnb/src/main/java/com/sooka/jnb/highServer/vo/JnbHighServerVO.java
  18. 19 11
      sooka-jnb/src/main/java/com/sooka/jnb/score/domain/ScoreOperate.java
  19. 3 1
      sooka-jnb/src/main/java/com/sooka/jnb/score/mapper/ScoreMapper.java
  20. 6 1
      sooka-jnb/src/main/java/com/sooka/jnb/score/service/IScoreService.java
  21. 16 5
      sooka-jnb/src/main/java/com/sooka/jnb/score/service/impl/ScoreServiceImpl.java
  22. 89 0
      sooka-jnb/src/main/resources/mapper/handleAffairs/TopicTypeMapper.xml
  23. 22 0
      sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerImgMapper.xml
  24. 102 0
      sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerMapper.xml
  25. 37 4
      sooka-jnb/src/main/resources/mapper/score/ScoreMapper.xml

+ 101 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/handleAffairs/TopicTypeController.java

@@ -0,0 +1,101 @@
+package com.ruoyi.web.controller.handleAffairs;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.sooka.jnb.handleAffairs.domain.TopicType;
+import com.sooka.jnb.handleAffairs.service.ITopicTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.List;
+
+import static com.ruoyi.common.utils.PageUtils.startPage;
+
+/**
+ * 主题类型配置Controller
+ *
+ * @author lidongyu
+ * @date 2024-03-01
+ */
+@RestController
+@RequestMapping("/jnb/topicType")
+public class TopicTypeController extends BaseController {
+    @Autowired
+    private ITopicTypeService topicTypeService;
+
+    /**
+     * 查询主题类型配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('jnb:topicType:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TopicType topicType)
+    {
+        startPage();
+        List<TopicType> list = topicTypeService.selectTopicTypeList(topicType);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出主题类型配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('jnb:topicType:export')")
+    @Log(title = "主题类型配置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TopicType topicType)
+    {
+        List<TopicType> list = topicTypeService.selectTopicTypeList(topicType);
+        ExcelUtil<TopicType> util = new ExcelUtil<TopicType>(TopicType.class);
+        util.exportExcel(response, list, "主题类型配置数据");
+    }
+
+    /**
+     * 获取主题类型配置详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('jnb:topicType:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(topicTypeService.selectTopicTypeById(id));
+    }
+
+    /**
+     * 新增主题类型配置
+     */
+    @PreAuthorize("@ss.hasPermi('jnb:topicType:add')")
+    @Log(title = "主题类型配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@Validated @RequestBody TopicType topicType)
+    {
+        return toAjax(topicTypeService.insertTopicType(topicType));
+    }
+
+    /**
+     * 修改主题类型配置
+     */
+    @PreAuthorize("@ss.hasPermi('jnb:topicType:edit')")
+    @Log(title = "主题类型配置", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@Validated @RequestBody TopicType topicType)
+    {
+        return toAjax(topicTypeService.updateTopicType(topicType));
+    }
+
+    /**
+     * 删除主题类型配置
+     */
+    @PreAuthorize("@ss.hasPermi('jnb:topicType:remove')")
+    @Log(title = "主题类型配置", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(topicTypeService.deleteTopicTypeByIds(ids));
+    }
+}

+ 93 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/highServer/JnbHighServerController.java

@@ -0,0 +1,93 @@
+package com.ruoyi.web.controller.highServer;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.service.IJnbHighServerService;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 高频服务Controller
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+@RestController
+@RequestMapping("/high/server")
+public class JnbHighServerController extends BaseController {
+
+    @Autowired
+    private IJnbHighServerService jnbHighServerService;
+
+    /**
+     * 查询高频服务列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(JnbHighServerVO jnbHighServerVO) {
+        startPage();
+        List<JnbHighServerVO> list = jnbHighServerService.selectJnbHighServerList(jnbHighServerVO);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出高频服务列表
+     */
+    @Log(title = "高频服务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, JnbHighServerVO jnbHighServerVO) {
+        List<JnbHighServerVO> list = jnbHighServerService.selectJnbHighServerList(jnbHighServerVO);
+        ExcelUtil<JnbHighServerVO> util = new ExcelUtil<JnbHighServerVO>(JnbHighServerVO.class);
+        util.exportExcel(response, list, "高频服务数据");
+    }
+
+    /**
+     * 获取高频服务详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(jnbHighServerService.selectJnbHighServerById(id));
+    }
+
+    /**
+     * 新增高频服务
+     */
+    @Log(title = "高频服务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody JnbHighServerVO jnbHighServerVO) {
+        return toAjax(jnbHighServerService.insertJnbHighServer(jnbHighServerVO));
+    }
+
+    /**
+     * 修改高频服务
+     */
+    @Log(title = "高频服务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody JnbHighServerVO jnbHighServerVO) {
+        return toAjax(jnbHighServerService.updateJnbHighServer(jnbHighServerVO));
+    }
+
+    /**
+     * 删除高频服务
+     */
+    @Log(title = "高频服务", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(jnbHighServerService.deleteJnbHighServerByIds(ids));
+    }
+}

+ 15 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/score/ScoreController.java

@@ -1,6 +1,8 @@
 package com.ruoyi.web.controller.score;
 
+import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.sooka.jnb.score.domain.ScoreOperate;
 import com.sooka.jnb.score.service.IScoreService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -8,7 +10,7 @@ import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/score")
-public class ScoreController {
+public class ScoreController extends BaseController {
     @Autowired
     private IScoreService service;
 
@@ -38,11 +40,21 @@ public class ScoreController {
     }
 
     /**
+     * 获取用户积分列表
+     */
+    @GetMapping("/getList")
+    public TableDataInfo getList(ScoreOperate scoreOperate){
+        startPage();
+        return getDataTable(service.getList(scoreOperate));
+    }
+
+    /**
      * 获取积分流水
      */
     @GetMapping("/getScoreList")
-    public R getScoreList(@RequestParam String userId) {
-        return R.ok(service.getScoreList(userId));
+    public TableDataInfo getScoreList(ScoreOperate scoreOperate) {
+        startPage();
+        return getDataTable(service.getScoreList(scoreOperate));
     }
 
     /**

+ 18 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java

@@ -21,6 +21,8 @@ import com.ruoyi.framework.manager.factory.AsyncFactory;
 import com.ruoyi.framework.security.context.AuthenticationContextHolder;
 import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
+import com.sooka.jnb.score.domain.ScoreOperate;
+import com.sooka.jnb.score.service.IScoreService;
 import com.sooka.jnb.wxUser.mapper.WxUserMapper;
 import com.sooka.jnb.utils.WechatUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +34,10 @@ import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 
+import java.util.Date;
+
+import static com.ruoyi.common.constant.CacheConstants.SYS_CONFIG_KEY;
+
 /**
  * 登录校验方法
  *
@@ -58,6 +64,9 @@ public class SysLoginService
     private ISysConfigService configService;
 
     @Autowired
+    private IScoreService scoreService;
+
+    @Autowired
     private WxUserMapper wxUserMapper;
 
     @Autowired
@@ -91,6 +100,15 @@ public class SysLoginService
             user.setCreateBy(openid);
             user.setUpdateBy(openid);
             wxUserMapper.insert(user);
+
+            //初始化积分
+            ScoreOperate scoreOperate = new ScoreOperate(
+                    user.getId().toString(),
+                    Integer.valueOf(redisCache.getCacheObject(SYS_CONFIG_KEY + "init_socre").toString()),
+                    "0",
+                    "0"
+            );
+            scoreService.initScore(scoreOperate);
         }
         LoginUser loginUser = createLoginWxUser(user);
 //        SecurityUtils.getUserId()

+ 2 - 2
sooka-jnb/src/main/java/com/sooka/jnb/cooperative/domain/Cooperative.java

@@ -22,7 +22,7 @@ public class Cooperative extends BaseEntity
     private String delFlag;
 
     /** 版本 */
-    @Excel(name = "版本")
+//    @Excel(name = "版本")
     private Integer version;
 
     /** 供销社名称 */
@@ -42,7 +42,7 @@ public class Cooperative extends BaseEntity
     private String chargePhone;
 
     /** 图片 */
-    @Excel(name = "图片")
+//    @Excel(name = "图片")
     private String imgUrl;
 
     public void setId(Long id) 

+ 5 - 0
sooka-jnb/src/main/java/com/sooka/jnb/cooperative/service/impl/CooperativeServiceImpl.java

@@ -2,6 +2,7 @@ package com.sooka.jnb.cooperative.service.impl;
 
 import java.util.List;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.sooka.jnb.cooperative.domain.Cooperative;
 import com.sooka.jnb.cooperative.mapper.CooperativeMapper;
 import org.springframework.stereotype.Service;
@@ -54,6 +55,8 @@ public class CooperativeServiceImpl implements ICooperativeService
     @Override
     public int insertCooperative(Cooperative jnbSupplyAndMarketingCooperative)
     {
+        String operatorName = SecurityUtils.getUsername();
+        jnbSupplyAndMarketingCooperative.setCreateBy(operatorName);
         jnbSupplyAndMarketingCooperative.setCreateTime(DateUtils.getNowDate());
         return cooperativeMapper.insertCooperative(jnbSupplyAndMarketingCooperative);
     }
@@ -67,6 +70,8 @@ public class CooperativeServiceImpl implements ICooperativeService
     @Override
     public int updateCooperative(Cooperative jnbSupplyAndMarketingCooperative)
     {
+        String operatorName = SecurityUtils.getUsername();
+        jnbSupplyAndMarketingCooperative.setUpdateBy(operatorName);
         jnbSupplyAndMarketingCooperative.setUpdateTime(DateUtils.getNowDate());
         return cooperativeMapper.updateCooperative(jnbSupplyAndMarketingCooperative);
     }

+ 39 - 0
sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/domain/TopicType.java

@@ -0,0 +1,39 @@
+package com.sooka.jnb.handleAffairs.domain;
+
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 主题类型配置对象 jnb_topic_type
+ * 
+ * @author lidongyu
+ * @date 2024-03-01
+ */
+@Data
+public class TopicType extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 部门名称 */
+    @Excel(name = "部门名称")
+    @NotBlank(message = "部门名称不能为空")
+    private String deptName;
+
+    /** 是否首页展示 */
+    @Excel(name = "是否首页展示")
+    private String yesOrNoShow;
+
+    /** 办理对象(字典值:个人or法人) */
+    @Excel(name = "办理对象", readConverterExp = "字=典值:个人or法人",dictType = "object_application")
+    @NotBlank(message = "办理对象不能为空")
+    private String objectOfHandling;
+
+}

+ 63 - 0
sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/mapper/TopicTypeMapper.java

@@ -0,0 +1,63 @@
+package com.sooka.jnb.handleAffairs.mapper;
+
+
+import com.sooka.jnb.handleAffairs.domain.TopicType;
+
+import java.util.List;
+
+/**
+ * 主题类型配置Mapper接口
+ * 
+ * @author lidongyu
+ * @date 2024-03-01
+ */
+public interface TopicTypeMapper
+{
+    /**
+     * 查询主题类型配置
+     * 
+     * @param id 主题类型配置主键
+     * @return 主题类型配置
+     */
+    public TopicType selectTopicTypeById(Long id);
+
+    /**
+     * 查询主题类型配置列表
+     * 
+     * @param topicType 主题类型配置
+     * @return 主题类型配置集合
+     */
+    public List<TopicType> selectTopicTypeList(TopicType topicType);
+
+    /**
+     * 新增主题类型配置
+     * 
+     * @param topicType 主题类型配置
+     * @return 结果
+     */
+    public int insertTopicType(TopicType topicType);
+
+    /**
+     * 修改主题类型配置
+     * 
+     * @param topicType 主题类型配置
+     * @return 结果
+     */
+    public int updateTopicType(TopicType topicType);
+
+    /**
+     * 删除主题类型配置
+     * 
+     * @param id 主题类型配置主键
+     * @return 结果
+     */
+    public int deleteTopicTypeById(Long id);
+
+    /**
+     * 批量删除主题类型配置
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTopicTypeByIds(Long[] ids);
+}

+ 63 - 0
sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/service/ITopicTypeService.java

@@ -0,0 +1,63 @@
+package com.sooka.jnb.handleAffairs.service;
+
+
+import com.sooka.jnb.handleAffairs.domain.TopicType;
+
+import java.util.List;
+
+/**
+ * 主题类型配置Service接口
+ * 
+ * @author lidongyu
+ * @date 2024-03-01
+ */
+public interface ITopicTypeService
+{
+    /**
+     * 查询主题类型配置
+     * 
+     * @param id 主题类型配置主键
+     * @return 主题类型配置
+     */
+    public TopicType selectTopicTypeById(Long id);
+
+    /**
+     * 查询主题类型配置列表
+     * 
+     * @param topicType 主题类型配置
+     * @return 主题类型配置集合
+     */
+    public List<TopicType> selectTopicTypeList(TopicType topicType);
+
+    /**
+     * 新增主题类型配置
+     * 
+     * @param topicType 主题类型配置
+     * @return 结果
+     */
+    public int insertTopicType(TopicType topicType);
+
+    /**
+     * 修改主题类型配置
+     * 
+     * @param topicType 主题类型配置
+     * @return 结果
+     */
+    public int updateTopicType(TopicType topicType);
+
+    /**
+     * 批量删除主题类型配置
+     * 
+     * @param ids 需要删除的主题类型配置主键集合
+     * @return 结果
+     */
+    public int deleteTopicTypeByIds(Long[] ids);
+
+    /**
+     * 删除主题类型配置信息
+     * 
+     * @param id 主题类型配置主键
+     * @return 结果
+     */
+    public int deleteTopicTypeById(Long id);
+}

+ 100 - 0
sooka-jnb/src/main/java/com/sooka/jnb/handleAffairs/service/impl/TopicTypeServiceImpl.java

@@ -0,0 +1,100 @@
+package com.sooka.jnb.handleAffairs.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.sooka.jnb.handleAffairs.domain.TopicType;
+import com.sooka.jnb.handleAffairs.mapper.TopicTypeMapper;
+import com.sooka.jnb.handleAffairs.service.ITopicTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 主题类型配置Service业务层处理
+ * 
+ * @author lidongyu
+ * @date 2024-03-01
+ */
+@Service
+public class TopicTypeServiceImpl implements ITopicTypeService
+{
+    @Autowired
+    private TopicTypeMapper topicTypeMapper;
+
+    /**
+     * 查询主题类型配置
+     * 
+     * @param id 主题类型配置主键
+     * @return 主题类型配置
+     */
+    @Override
+    public TopicType selectTopicTypeById(Long id)
+    {
+        return topicTypeMapper.selectTopicTypeById(id);
+    }
+
+    /**
+     * 查询主题类型配置列表
+     * 
+     * @param topicType 主题类型配置
+     * @return 主题类型配置
+     */
+    @Override
+    public List<TopicType> selectTopicTypeList(TopicType topicType)
+    {
+        return topicTypeMapper.selectTopicTypeList(topicType);
+    }
+
+    /**
+     * 新增主题类型配置
+     * 
+     * @param topicType 主题类型配置
+     * @return 结果
+     */
+    @Override
+    public int insertTopicType(TopicType topicType)
+    {
+        topicType.setCreateTime(DateUtils.getNowDate());
+        topicType.setCreateBy(SecurityUtils.getUserId().toString());
+        topicType.setDelFlag("0");
+        return topicTypeMapper.insertTopicType(topicType);
+    }
+
+    /**
+     * 修改主题类型配置
+     * 
+     * @param topicType 主题类型配置
+     * @return 结果
+     */
+    @Override
+    public int updateTopicType(TopicType topicType)
+    {
+        topicType.setUpdateTime(DateUtils.getNowDate());
+        topicType.setUpdateBy(SecurityUtils.getUserId().toString());
+        return topicTypeMapper.updateTopicType(topicType);
+    }
+
+    /**
+     * 批量删除主题类型配置
+     * 
+     * @param ids 需要删除的主题类型配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTopicTypeByIds(Long[] ids)
+    {
+        return topicTypeMapper.deleteTopicTypeByIds(ids);
+    }
+
+    /**
+     * 删除主题类型配置信息
+     * 
+     * @param id 主题类型配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTopicTypeById(Long id)
+    {
+        return topicTypeMapper.deleteTopicTypeById(id);
+    }
+}

+ 122 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/domain/JnbHighServer.java

@@ -0,0 +1,122 @@
+package com.sooka.jnb.highServer.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+
+/**
+ * 高频服务对象 jnb_high_server
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+public class JnbHighServer extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 标题
+     */
+    @Excel(name = "标题")
+    private String titleName;
+
+    /**
+     * 正文
+     */
+    @Excel(name = "正文")
+    private String textDetails;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Integer type;
+
+    /**
+     * 点赞数
+     */
+    @Excel(name = "点赞数")
+    private Long likeNum;
+
+    /**
+     * 浏览数
+     */
+    @Excel(name = "浏览数")
+    private Long watchNum;
+
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setTitleName(String titleName) {
+        this.titleName = titleName;
+    }
+
+    public String getTitleName() {
+        return titleName;
+    }
+
+    public void setTextDetails(String textDetails) {
+        this.textDetails = textDetails;
+    }
+
+    public String getTextDetails() {
+        return textDetails;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setLikeNum(Long likeNum) {
+        this.likeNum = likeNum;
+    }
+
+    public Long getLikeNum() {
+        return likeNum;
+    }
+
+    public void setWatchNum(Long watchNum) {
+        this.watchNum = watchNum;
+    }
+
+    public Long getWatchNum() {
+        return watchNum;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("titleName", getTitleName())
+                .append("textDetails", getTextDetails())
+                .append("type", getType())
+                .append("likeNum", getLikeNum())
+                .append("watchNum", getWatchNum())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .toString();
+    }
+}

+ 84 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/domain/JnbHighServerImg.java

@@ -0,0 +1,84 @@
+package com.sooka.jnb.highServer.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 高频服务子表对象 jnb_high_server_img
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+
+@Data
+public class JnbHighServerImg {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * serverId
+     */
+    private Long serverId;
+
+    /**
+     * 图片
+     */
+    private String imgName;
+
+    /**
+     * url
+     */
+    private String imgUrl;
+
+    /**
+     * $column.columnComment
+     */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    private Integer type;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    @TableField(value = "del_flag", fill = FieldFill.INSERT)
+    private Integer delFlag;
+}

+ 16 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/mapper/JnbHighServerImgMapper.java

@@ -0,0 +1,16 @@
+package com.sooka.jnb.highServer.mapper;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.domain.JnbHighServerImg;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+public interface JnbHighServerImgMapper {
+
+    public int deleteJnbHighServerByServerIds(Long[] serverId);
+    public int deleteJnbHighServerByServerId(@Param("serverId") Long serverId);
+
+    int saveJnbHighServerImg(List<JnbHighServerImg> saveList);
+}

+ 62 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/mapper/JnbHighServerMapper.java

@@ -0,0 +1,62 @@
+package com.sooka.jnb.highServer.mapper;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+
+import java.util.List;
+
+/**
+ * 高频服务Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+public interface JnbHighServerMapper {
+    /**
+     * 查询高频服务
+     *
+     * @param id 高频服务主键
+     * @return 高频服务
+     */
+    public JnbHighServerVO selectJnbHighServerById(Long id);
+
+    /**
+     * 查询高频服务列表
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 高频服务集合
+     */
+    public List<JnbHighServerVO> selectJnbHighServerList(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 新增高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int insertJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 修改高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int updateJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 删除高频服务
+     *
+     * @param id 高频服务主键
+     * @return 结果
+     */
+    public int deleteJnbHighServerById(Long id);
+
+    /**
+     * 批量删除高频服务
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteJnbHighServerByIds(Long[] ids);
+}

+ 62 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/service/IJnbHighServerService.java

@@ -0,0 +1,62 @@
+package com.sooka.jnb.highServer.service;
+
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+
+import java.util.List;
+
+/**
+ * 高频服务Service接口
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+public interface IJnbHighServerService {
+    /**
+     * 查询高频服务
+     *
+     * @param id 高频服务主键
+     * @return 高频服务
+     */
+    public JnbHighServerVO selectJnbHighServerById(Long id);
+
+    /**
+     * 查询高频服务列表
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 高频服务集合
+     */
+    public List<JnbHighServerVO> selectJnbHighServerList(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 新增高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int insertJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 修改高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    public int updateJnbHighServer(JnbHighServerVO jnbHighServerVO);
+
+    /**
+     * 批量删除高频服务
+     *
+     * @param ids 需要删除的高频服务主键集合
+     * @return 结果
+     */
+    public int deleteJnbHighServerByIds(Long[] ids);
+
+    /**
+     * 删除高频服务信息
+     *
+     * @param id 高频服务主键
+     * @return 结果
+     */
+    public int deleteJnbHighServerById(Long id);
+}

+ 130 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/service/impl/JnbHighServerServiceImpl.java

@@ -0,0 +1,130 @@
+package com.sooka.jnb.highServer.service.impl;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.sooka.jnb.highServer.domain.JnbHighServer;
+import com.sooka.jnb.highServer.domain.JnbHighServerImg;
+import com.sooka.jnb.highServer.mapper.JnbHighServerImgMapper;
+import com.sooka.jnb.highServer.mapper.JnbHighServerMapper;
+import com.sooka.jnb.highServer.service.IJnbHighServerService;
+import com.sooka.jnb.highServer.vo.JnbHighServerVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * 高频服务Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+@Service
+public class JnbHighServerServiceImpl implements IJnbHighServerService {
+
+    @Autowired
+    private JnbHighServerMapper jnbHighServerMapper;
+    @Autowired
+    private JnbHighServerImgMapper jnbHighServerImgMapper;
+
+    /**
+     * 查询高频服务
+     *
+     * @param id 高频服务主键
+     * @return 高频服务
+     */
+    @Override
+    public JnbHighServerVO selectJnbHighServerById(Long id) {
+        return jnbHighServerMapper.selectJnbHighServerById(id);
+    }
+
+    /**
+     * 查询高频服务列表
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 高频服务
+     */
+    @Override
+    public List<JnbHighServerVO> selectJnbHighServerList(JnbHighServerVO jnbHighServerVO) {
+        return jnbHighServerMapper.selectJnbHighServerList(jnbHighServerVO);
+    }
+
+    /**
+     * 新增高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    @Override
+    public int insertJnbHighServer(JnbHighServerVO jnbHighServerVO) {
+        jnbHighServerVO.setCreateTime(DateUtils.getNowDate());
+        jnbHighServerMapper.insertJnbHighServer(jnbHighServerVO);
+        if (StringUtils.isNotEmpty(jnbHighServerVO.getImgUrlList())) {
+            List<String> imgUrlArray = Arrays.asList(jnbHighServerVO.getImgUrlList().split(","));
+            List<JnbHighServerImg> saveList = new ArrayList<>();
+            for (int i = 0; i < imgUrlArray.size(); i++) {
+                JnbHighServerImg jnbHighServerImg = new JnbHighServerImg();
+                jnbHighServerImg.setServerId(jnbHighServerVO.getId());
+//                jnbHighServerImg.setType(jnbHighServerVO.getType());
+                jnbHighServerImg.setImgUrl(imgUrlArray.get(i));
+                saveList.add(jnbHighServerImg);
+            }
+            return jnbHighServerImgMapper.saveJnbHighServerImg(saveList);
+        }
+        return 1;
+    }
+
+    /**
+     * 修改高频服务
+     *
+     * @param jnbHighServerVO 高频服务
+     * @return 结果
+     */
+    @Override
+    public int updateJnbHighServer(JnbHighServerVO jnbHighServerVO) {
+        jnbHighServerVO.setUpdateTime(DateUtils.getNowDate());
+        jnbHighServerMapper.updateJnbHighServer(jnbHighServerVO);
+        if (StringUtils.isNotEmpty(jnbHighServerVO.getImgUrlList())) {
+            jnbHighServerImgMapper.deleteJnbHighServerByServerId(jnbHighServerVO.getId());
+            List<String> imgUrlArray = Arrays.asList(jnbHighServerVO.getImgUrlList().split(","));
+            List<JnbHighServerImg> saveList = new ArrayList<>();
+            for (int i = 0; i < imgUrlArray.size(); i++) {
+                JnbHighServerImg jnbHighServerImg = new JnbHighServerImg();
+                jnbHighServerImg.setServerId(jnbHighServerVO.getId());
+//                jnbHighServerImg.setType(jnbHighServerVO.getType());
+                jnbHighServerImg.setImgUrl(imgUrlArray.get(i));
+                saveList.add(jnbHighServerImg);
+            }
+            return jnbHighServerImgMapper.saveJnbHighServerImg(saveList);
+        }
+        return 1;
+    }
+
+    /**
+     * 批量删除高频服务
+     *
+     * @param ids 需要删除的高频服务主键
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int deleteJnbHighServerByIds(Long[] ids) {
+        jnbHighServerImgMapper.deleteJnbHighServerByServerIds(ids);
+        return jnbHighServerMapper.deleteJnbHighServerByIds(ids);
+    }
+
+    /**
+     * 删除高频服务信息
+     *
+     * @param id 高频服务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteJnbHighServerById(Long id) {
+        return jnbHighServerMapper.deleteJnbHighServerById(id);
+    }
+}

+ 99 - 0
sooka-jnb/src/main/java/com/sooka/jnb/highServer/vo/JnbHighServerVO.java

@@ -0,0 +1,99 @@
+package com.sooka.jnb.highServer.vo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 高频服务对象 jnb_high_server
+ *
+ * @author ruoyi
+ * @date 2024-03-01
+ */
+
+@Data
+public class JnbHighServerVO {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 标题
+     */
+    @Excel(name = "标题")
+    private String titleName;
+
+    /**
+     * 正文
+     */
+    @Excel(name = "正文")
+    private String textDetails;
+
+    /**
+     * 点赞数
+     */
+    @Excel(name = "点赞数")
+    private Long likeNum;
+
+    /**
+     * 浏览数
+     */
+    @Excel(name = "浏览数")
+    private Long watchNum;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "create_by", fill = FieldFill.INSERT)
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "create_time", fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
+    private String updateBy;
+
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    /**
+     * 高频服务图片id
+     */
+    private String imgId;
+
+    /**
+     * 高频服务图片名称
+     */
+    private String imgNameList;
+
+    /**
+     * 高频服务图片路径
+     */
+     private String imgUrlList;
+
+}

+ 19 - 11
sooka-jnb/src/main/java/com/sooka/jnb/score/domain/ScoreOperate.java

@@ -2,6 +2,7 @@ package com.sooka.jnb.score.domain;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
 import lombok.Data;
 import org.apache.ibatis.type.Alias;
 
@@ -16,7 +17,7 @@ import java.util.Date;
  */
 @Data
 @Alias("scoreOperate")
-public class ScoreOperate {
+public class ScoreOperate extends BaseEntity {
     /**
      * 数据id
      */
@@ -38,26 +39,33 @@ public class ScoreOperate {
     private String scoreOperate;
 
     /**
-     * 创建时间
+     * 积分操作类型
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date createTime;
+    private String relevance;
 
     /**
-     * 更新时间
+     * 积分操作类型的数据id
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date updateTime;
+    private String relevanceDataId;
 
     /**
-     * 积分操作类型
+     * 用户姓名
      */
-    private String relevance;
+    private String name;
 
     /**
-     * 积分操作类型的数据id
+     * 用户电话
      */
-    private String relevanceDataId;
+    private String phone;
+
 
+    public ScoreOperate() {
+    }
 
+    public ScoreOperate(String userId, Integer scoreNum, String relevance, String relevanceDataId) {
+        this.userId = userId;
+        this.scoreNum = scoreNum;
+        this.relevance = relevance;
+        this.relevanceDataId = relevanceDataId;
+    }
 }

+ 3 - 1
sooka-jnb/src/main/java/com/sooka/jnb/score/mapper/ScoreMapper.java

@@ -10,7 +10,7 @@ public interface ScoreMapper {
 
     ScoreOperate getScore(String userId);
 
-    List<ScoreOperate> getScoreList(String userId);
+    List<ScoreOperate> getScoreList(ScoreOperate score);
 
     int addScore(ScoreOperate score);
 
@@ -19,4 +19,6 @@ public interface ScoreMapper {
     int insertScoreOperate(ScoreOperate score);
 
     Map<String, Long> soleVerify(String userId);
+
+    List<ScoreOperate> getList(ScoreOperate score);
 }

+ 6 - 1
sooka-jnb/src/main/java/com/sooka/jnb/score/service/IScoreService.java

@@ -22,9 +22,14 @@ public interface IScoreService{
     ScoreOperate getScore(String userId);
 
     /**
+     * 查询积分信息列表
+     */
+    List<ScoreOperate> getList(ScoreOperate score);
+
+    /**
      * 获取积分流水
      */
-    List<ScoreOperate> getScoreList(String userId);
+    List<ScoreOperate> getScoreList(ScoreOperate score);
 
     /**
      * 增加积分

+ 16 - 5
sooka-jnb/src/main/java/com/sooka/jnb/score/service/impl/ScoreServiceImpl.java

@@ -43,8 +43,13 @@ public class ScoreServiceImpl implements IScoreService {
     }
 
     @Override
-    public List<ScoreOperate> getScoreList(String userId) {
-        return scoreMapper.getScoreList(userId);
+    public List<ScoreOperate> getList(ScoreOperate score) {
+        return scoreMapper.getList(score);
+    }
+
+    @Override
+    public List<ScoreOperate> getScoreList(ScoreOperate score) {
+        return scoreMapper.getScoreList(score);
     }
 
     @Override
@@ -57,14 +62,20 @@ public class ScoreServiceImpl implements IScoreService {
     @Override
     @Transactional
     public int reduceScore(ScoreOperate scoreOperate) {
-        scoreMapper.reduceScore(scoreOperate);
-        return this.insertScoreOperate(scoreOperate, REDUCE);
+        ScoreOperate score = scoreMapper.getScore(scoreOperate.getUserId());
+        if (score.getScoreNum() < scoreOperate.getScoreNum()) {
+            return -1;
+        } else {
+            scoreMapper.reduceScore(scoreOperate);
+            return this.insertScoreOperate(scoreOperate, REDUCE);
+        }
     }
 
     /**
      * 插入积分操作记录
+     *
      * @param scoreOperate 积分操作对象
-     * @param operate 积分操作类型
+     * @param operate      积分操作类型
      */
     private int insertScoreOperate(ScoreOperate scoreOperate, String operate) {
         scoreOperate.setScoreOperate(operate + scoreOperate.getScoreNum());

+ 89 - 0
sooka-jnb/src/main/resources/mapper/handleAffairs/TopicTypeMapper.xml

@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.jnb.handleAffairs.mapper.TopicTypeMapper">
+    
+    <resultMap type="TopicType" id="TopicTypeResult">
+        <result property="id"    column="id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="version"    column="version"    />
+        <result property="deptName"    column="dept_name"    />
+        <result property="yesOrNoShow"    column="yes_or_no_show"    />
+        <result property="objectOfHandling"    column="object_of_handling"    />
+    </resultMap>
+
+    <sql id="selectTopicTypeVo">
+        select id, create_by, create_time, update_by, update_time, remark, del_flag, version, dept_name, yes_or_no_show, object_of_handling from jnb_topic_type
+    </sql>
+
+    <select id="selectTopicTypeList" parameterType="TopicType" resultMap="TopicTypeResult">
+        <include refid="selectTopicTypeVo"/>
+        <where>
+            and del_flag = 0
+            <if test="deptName != null  and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
+            <if test="yesOrNoShow != null  and yesOrNoShow != ''"> and yes_or_no_show = #{yesOrNoShow}</if>
+            <if test="objectOfHandling != null  and objectOfHandling != ''"> and object_of_handling = #{objectOfHandling}</if>
+        </where>
+    </select>
+    
+    <select id="selectTopicTypeById" parameterType="Long" resultMap="TopicTypeResult">
+        <include refid="selectTopicTypeVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTopicType" parameterType="TopicType" useGeneratedKeys="true" keyProperty="id">
+        insert into jnb_topic_type
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="deptName != null">dept_name,</if>
+            <if test="yesOrNoShow != null">yes_or_no_show,</if>
+            <if test="objectOfHandling != null">object_of_handling,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="deptName != null">#{deptName},</if>
+            <if test="yesOrNoShow != null">#{yesOrNoShow},</if>
+            <if test="objectOfHandling != null">#{objectOfHandling},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTopicType" parameterType="TopicType">
+        update jnb_topic_type
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="deptName != null">dept_name = #{deptName},</if>
+            <if test="yesOrNoShow != null">yes_or_no_show = #{yesOrNoShow},</if>
+            <if test="objectOfHandling != null">object_of_handling = #{objectOfHandling},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteTopicTypeById" parameterType="Long">
+        update jnb_topic_type set del_flag = 2 where id = #{id}
+    </delete>
+
+    <delete id="deleteTopicTypeByIds" parameterType="String">
+        update jnb_topic_type set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 22 - 0
sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerImgMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.jnb.highServer.mapper.JnbHighServerImgMapper">
+
+    <delete id="deleteJnbHighServerByServerIds" parameterType="String">
+        update jnb_high_server_img set del_flag = 1 where server_id in
+        <foreach item="serverId" collection="array" open="(" separator="," close=")">
+            #{serverId}
+        </foreach>
+    </delete>
+    <delete id="deleteJnbHighServerByServerId">
+        update jnb_high_server_img set del_flag = 1 where server_id = #{serverId}
+    </delete>
+    <insert id="saveJnbHighServerImg" parameterType="java.lang.Integer">
+        insert into jnb_high_server_img (server_id,type,img_name,img_url) values
+        <foreach collection="list" item="item" separator=",">
+            (#{item.serverId},#{item.type},#{item.imgName},#{item.imgUrl})
+        </foreach>
+    </insert>
+</mapper>

+ 102 - 0
sooka-jnb/src/main/resources/mapper/highServer/JnbHighServerMapper.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.jnb.highServer.mapper.JnbHighServerMapper">
+
+    <resultMap type="JnbHighServer" id="JnbHighServerResult">
+        <result property="id" column="id"/>
+        <result property="titleName" column="title_name"/>
+        <result property="textDetails" column="text_details"/>
+        <result property="type" column="type"/>
+        <result property="likeNum" column="like_num"/>
+        <result property="watchNum" column="watch_num"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <sql id="selectJnbHighServerVo">
+        SELECT jhs.id,
+               title_name,
+               text_details,
+               jhs.type as type,
+               jhs.create_by,
+               jhs.create_time,
+               jhs.update_by,
+               jhs.update_time,
+               GROUP_CONCAT(jhsi.id)       AS imgId,
+               GROUP_CONCAT(jhsi.img_name) AS imgNameList,
+               GROUP_CONCAT(jhsi.img_url)  AS imgUrlList
+        FROM jnb_high_server jhs
+                 left JOIN jnb_high_server_img jhsi ON jhs.id = jhsi.server_id and jhsi.del_flag = 0
+        where jhs.del_flag = 0
+    </sql>
+
+    <select id="selectJnbHighServerList" resultType="com.sooka.jnb.highServer.vo.JnbHighServerVO">
+        <include refid="selectJnbHighServerVo"/>
+        <if test="titleName != null  and titleName != ''">and title_name like concat('%', #{titleName}, '%')</if>
+        <if test="textDetails != null  and textDetails != ''">and text_details = #{textDetails}</if>
+        <if test="type != null ">and jhs.type = #{type}</if>
+        GROUP BY jhs.id
+    </select>
+
+    <select id="selectJnbHighServerById" resultType="com.sooka.jnb.highServer.vo.JnbHighServerVO">
+        <include refid="selectJnbHighServerVo"/>
+        and jhs.id = #{id}
+        GROUP BY jhs.id
+    </select>
+
+    <insert id="insertJnbHighServer" parameterType="JnbHighServer" useGeneratedKeys="true" keyProperty="id">
+        <selectKey keyProperty="id" resultType="java.lang.Long" order="AFTER">
+            SELECT LAST_INSERT_ID() AS id
+        </selectKey>
+        insert into jnb_high_server
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="titleName != null">title_name,</if>
+            <if test="textDetails != null">text_details,</if>
+            <if test="type != null">type,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="titleName != null">#{titleName},</if>
+            <if test="textDetails != null">#{textDetails},</if>
+            <if test="type != null">#{type},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+        </trim>
+    </insert>
+
+    <update id="updateJnbHighServer" parameterType="JnbHighServer">
+        update jnb_high_server
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="titleName != null">title_name = #{titleName},</if>
+            <if test="textDetails != null">text_details = #{textDetails},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteJnbHighServerById" parameterType="Long">
+        delete
+        from jnb_high_server
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteJnbHighServerByIds" parameterType="String">
+        update jnb_high_server set del_flag = 1 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 37 - 4
sooka-jnb/src/main/resources/mapper/score/ScoreMapper.xml

@@ -8,6 +8,8 @@
     <resultMap id="scoreOperateResult" type="scoreOperate">
         <id property="id" column="id"/>
         <result property="userId" column="user_id"/>
+        <result property="name" column="name"/>
+        <result property="phone" column="phone"/>
         <result property="scoreOperate" column="score_operate"/>
         <result property="scoreNum" column="score_num"/>
         <result property="relevance" column="relevance"/>
@@ -16,7 +18,6 @@
         <result property="updateTime" column="update_time"/>
     </resultMap>
 
-
     <!-- 初始化积分 -->
     <insert id="initScore" parameterType="scoreOperate">
         insert into jnb_score(user_id, score_num, create_time)
@@ -28,13 +29,45 @@
         select id, user_id, score_num from jnb_score where user_id = #{userId}
     </select>
 
+    <select id="getList" parameterType="scoreOperate" resultType="map">
+        select js.id,
+               js.user_id as userId,
+               js.score_num as scoreNum,
+               jwu.wechat_name as wechatName,
+               jwu.name,
+               jwu.phone
+        from jnb_score js
+        left join jnb_wx_user jwu on js.user_id = jwu.id
+        <where>
+            <if test="name != null and name != ''">
+                and jwu.name like concat(concat('%', #{name}), '%')
+            </if>
+            <if test="phone != null and phone != ''">
+                and jwu.phone like concat(concat('%', #{phone}), '%')
+            </if>
+        </where>
+        order by js.create_time desc, js.id desc
+    </select>
+
     <!-- 获取积分流水 -->
     <select id="getScoreList" parameterType="string" resultMap="scoreOperateResult">
-        select jso.id, jso.user_id, jso.score_operate, jso.score_num, jso.create_time, sdd.dict_label as relevance, jso.relevance_data_id
+        select jso.id, jso.user_id,
+               jwu.name,
+               jso.score_operate,
+               jso.score_num,
+               jso.create_time,
+               sdd.dict_label as relevance,
+               jso.relevance_data_id
         from jnb_score_operate jso
         left join sys_dict_data sdd on jso.relevance = sdd.dict_value
-        where sdd.dict_type = 'score_type' and  user_id = #{userId}
-        order by create_time desc
+        left join jnb_wx_user jwu on jso.user_id = jwu.id
+            <where>
+                sdd.dict_type = 'score_type'
+                <if test="userId != null and userId != ''">
+                    and jso.user_id = #{userId}
+                </if>
+            </where>
+        order by create_time desc, jso.id desc
     </select>
 
     <!-- 增加积分 -->