Procházet zdrojové kódy

任务管理优化

guomengjiao před 5 měsíci
rodič
revize
910bbfe786

+ 2 - 1
renren-admin/src/main/java/io/renren/modules/qmgj/api/ApiController.java

@@ -833,10 +833,11 @@ public class ApiController {
         HashMap hashMap = JSON.parseObject(forEntity, HashMap.class);
         String accessToken = (String) hashMap.get("access_token");
         Map<String, Object> map = new HashMap<>();
+        map.put("scene", "inviteCode=" + inviteCode);
         map.put("path", "/pages/login?inviteCode=" + inviteCode);
         JSONObject jsonObject = new JSONObject(map);
         String body = jsonObject.toString();
-        String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + accessToken;
+        String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
         byte[] bytes = restUtil.postForEntity(url, byte[].class, null, body);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         try {

+ 12 - 0
renren-admin/src/main/java/io/renren/modules/qmjz/entity/TaskManage.java

@@ -37,6 +37,18 @@ public class TaskManage {
      * 任务状态(1. 开启 0关闭)
      */
     private String taskStatus;
+    /**
+     * 任务次数
+     */
+    private Integer taskNum;
+    /**
+     * 任务描述
+     */
+    private String taskDesc;
+    /**
+     * 任务标题
+     */
+    private String taskTitle;
 
     /**
      * 完成标识

+ 16 - 0
renren-admin/src/main/java/io/renren/modules/qmjz/entity/bo/TaskManageBo.java

@@ -35,4 +35,20 @@ public class TaskManageBo {
      */
     @ApiModelProperty(value="任务类型(1单次任务 2每日任务 3不限次任务)",required = false)
     private Integer taskType;
+
+    /**
+     * 任务次数
+     */
+    @ApiModelProperty(value="任务次数",required = false)
+    private Integer taskNum;
+    /**
+     * 任务描述
+     */
+    @ApiModelProperty(value="任务描述",required = false)
+    private String taskDesc;
+    /**
+     * 任务标题
+     */
+    @ApiModelProperty(value="任务标题",required = false)
+    private String taskTitle;
 }

+ 16 - 0
renren-admin/src/main/java/io/renren/modules/qmjz/entity/vo/TaskManageVo.java

@@ -29,4 +29,20 @@ public class TaskManageVo {
      */
     @ApiModelProperty(value="任务状态(1. 开启 0关闭)")
     private String taskStatus;
+
+    /**
+     * 任务次数
+     */
+    @ApiModelProperty(value="任务次数",required = false)
+    private Integer taskNum;
+    /**
+     * 任务描述
+     */
+    @ApiModelProperty(value="任务描述",required = false)
+    private String taskDesc;
+    /**
+     * 任务标题
+     */
+    @ApiModelProperty(value="任务标题",required = false)
+    private String taskTitle;
 }

+ 1 - 0
renren-admin/src/main/java/io/renren/modules/qmjz/service/impl/TaskManageServiceImpl.java

@@ -40,6 +40,7 @@ public class TaskManageServiceImpl extends ServiceImpl<TaskManageMapper, TaskMan
     public PageUtils queryPageList(TaskManageBo bo, PageQuery pageQuery) {
         IPage<TaskManage> taskManageIPage = taskManageMapper.selectPage(pageQuery.build(), new LambdaQueryWrapper<TaskManage>()
                 .like(StringUtils.isNotEmpty(bo.getTaskName()), TaskManage::getTaskName, bo.getTaskName())
+                .like(StringUtils.isNotEmpty(bo.getTaskTitle()), TaskManage::getTaskTitle, bo.getTaskTitle())
                 .ge(ObjectUtil.isNotNull(bo.getTaskScore()), TaskManage::getTaskScore, bo.getTaskScore())
                 .eq(StringUtils.isNotEmpty(bo.getTaskStatus()), TaskManage::getTaskStatus, bo.getTaskStatus())
         );

+ 23 - 0
renren-admin/src/main/resources/statics/js/modules/qmgz/taskManage.js

@@ -33,6 +33,7 @@ $(function () {
         colModel: [
             { label: 'id', name: 'id', index: 'id', width: 50, key: true ,hidden: true},
             { label: '任务名称', name: 'taskName', index: 'taskName', width: 70 },
+            { label: '任务标题', name: 'taskTitle', index: 'taskTitle', width: 70 },
             { label: '任务类型', name: 'taskType', index: 'taskType', width: 60, sortable: false,formatter: function (cellvalue, options, rowdata) {
                     for (const item of vm.type) {
                         if(cellvalue == item.value) {
@@ -50,6 +51,7 @@ $(function () {
                     }
                 }
             }},
+            { label: '任务描述', name: 'taskDesc', index: 'taskDesc', width: 100 },
         ],
         viewrecords: true,
         height: 385,
@@ -105,6 +107,18 @@ var vm = new Vue({
             this.$nextTick(function(){
                 $('#qstaffguid').selectpicker('refresh');
             })
+        },
+        // 监听任务类型变化
+        'work.taskType'(newVal) {
+            if (newVal === 1) { // 每日任务
+                // 设置默认值(仅当值为空时)
+                if (!vm.work.taskNum) {
+                    vm.work.taskNum = 1;
+                }
+            } else {
+                // 切换为非每日任务时清空任务次数
+                vm.work.taskNum = '';
+            }
         }
     },
     methods: {
@@ -178,6 +192,15 @@ layui.use([ 'layer', 'form'],function() {
     var $ = layui.jquery, layer = layui.layer, form = layui.form;
 
     form.on('submit(go)', function(data){
+        // 每日任务必填验证
+        if (vm.work.taskType === 1 && (!vm.work.taskNum || vm.work.taskNum === '')) {
+            layer.alert('每日任务必须填写任务次数', {
+                icon: 2,
+                title: '验证失败'
+            });
+            return false; // 阻止表单提交
+        }
+
         $.ajax({
             type: "POST",
             url: baseURL + 'qmjz/taskManage/update',

+ 18 - 0
renren-admin/src/main/resources/templates/modules/qmjz/taskManage.html

@@ -59,6 +59,12 @@
         <form class="form-horizontal layui-form" style="width: 100%">
 
             <p class="p-title">基本信息</p>
+            <div class="form-group">
+                <div class="col-sm-2 control-label"><span style="color: red">*</span>任务标题</div>
+                <div class="col-sm-2">
+                    <input type="text" class="form-control" v-model="work.taskTitle" placeholder="任务标题" lay-verify="required"/>
+                </div>
+            </div>
             <div class="form-group">
                 <div class="col-sm-2 control-label"><span style="color: red">*</span>任务类型</div>
                 <div class="col-sm-2">
@@ -83,6 +89,18 @@
                     </select>
                 </div>
             </div>
+            <div class="form-group" v-show="work.taskType === 1">
+                <div class="col-sm-2 control-label"><span v-if="work.taskType === 1" style="color: red">*</span>任务次数</div>
+                <div class="col-sm-2">
+                    <input type="text" class="form-control" v-model="work.taskNum" placeholder="任务次数" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"/>
+                </div>
+            </div>
+            <div class="form-group">
+                <div class="col-sm-2 control-label">任务描述</div>
+                <div class="col-sm-2">
+                    <textarea class="form-control" v-model="work.taskDesc" placeholder="任务描述"></textarea>
+                </div>
+            </div>
             <div class="form-group">
                 <div class="col-sm-2 control-label"></div>
                 <input type="button" lay-submit lay-filter="go" class="btn btn-primary" id="btnSaveOrUpdate"