فهرست منبع

1.侧边栏 2.领取授权红包

wjj 1 روز پیش
والد
کامیت
9b285b4433

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

@@ -1,10 +1,12 @@
 package com.fs.app.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.fs.common.annotation.Log;
 import com.fs.common.annotation.RateLimiter;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.course.param.FsCourseLinkMiniParam;
 import com.fs.course.service.IFsCourseLinkService;
@@ -16,12 +18,10 @@ import com.fs.course.vo.FsCourseListBySidebarVO;
 import com.fs.course.vo.FsCourseVideoListBySidebarVO;
 import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.domain.QwUser;
+import com.fs.qw.domain.RedPacket;
 import com.fs.qw.param.QwGroupMsgParam;
 import com.fs.qw.param.QwTagParam;
-import com.fs.qw.service.IQwExternalContactService;
-import com.fs.qw.service.IQwGroupMsgService;
-import com.fs.qw.service.IQwTagGroupService;
-import com.fs.qw.service.IQwTagService;
+import com.fs.qw.service.*;
 import com.fs.qw.vo.QwTagGroupListVO;
 import com.fs.voice.utils.StringUtil;
 import com.github.pagehelper.PageHelper;
@@ -65,6 +65,9 @@ public class ApisFsUserCourseVideoController extends BaseController {
     @Autowired
     private IQwTagService qwTagService;
 
+    @Autowired
+    private IRedPacketService redPacketService;
+
 
     @ApiOperation("课程视频详情")
     @GetMapping(value = "/videoDetails")
@@ -215,4 +218,38 @@ public class ApisFsUserCourseVideoController extends BaseController {
         return qwGroupMsgService.insertQwGroupMsg(msgParam);
     }
 
+    /**
+     * 创建授权红包
+     */
+    @RepeatSubmit
+    @PostMapping("/createSqMiniLink")
+    @Log(title = "createSqMiniLink", businessType = BusinessType.INSERT)
+    public R createSqMiniLink(@RequestBody FsCourseLinkMiniParam param) {
+        if (StringUtil.strIsNullOrEmpty(param.getCorpId())){
+            return R.error("企业id不能为空");
+        }
+
+        if (StringUtil.strIsNullOrEmpty(param.getQwUserId())){
+            return R.error("用户id不能为空");
+        }
+        if (ObjectUtil.isEmpty(param.getPhoneRedPacketId())){
+            return R.error("授权红包id不能为空");
+        }
+        return fsUserCourseVideoService.createSqMiniLink(param);
+    }
+
+    /**
+     * 查询授权红包配置信息
+     */
+    @GetMapping("/redPacketList")
+    public TableDataInfo list(RedPacket param)
+    {
+        param.setStatus("1");
+        QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
+
+        param.setCompanyId(qwUser.getCompanyId());
+        startPage();
+        List<RedPacket> list = redPacketService.selectRedPacketList(param);
+        return getDataTable(list);
+    }
 }

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

@@ -1,5 +1,6 @@
 package com.fs.app.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.fs.common.annotation.Log;
 import com.fs.common.annotation.RateLimiter;
@@ -27,6 +28,7 @@ import com.fs.course.vo.newfs.FsUserCourseVideoPageListVO;
 import com.fs.course.vo.newfs.FsUserVideoListVO;
 import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.domain.QwUser;
+import com.fs.qw.domain.RedPacket;
 import com.fs.qw.param.QwGroupMsgParam;
 import com.fs.qw.param.QwTagParam;
 import com.fs.qw.service.*;
@@ -70,6 +72,9 @@ public class FsUserCourseVideoController  extends BaseController  {
     @Autowired
     private IQwTagService qwTagService;
 
+    @Autowired
+    private IRedPacketService redPacketService;
+
 
 
     @ApiOperation("课程视频详情")
@@ -214,4 +219,39 @@ public class FsUserCourseVideoController  extends BaseController  {
         }
 
     }
+
+    /**
+     * 创建授权红包
+     */
+    @RepeatSubmit
+    @PostMapping("/createSqMiniLink")
+    @Log(title = "createSqMiniLink", businessType = BusinessType.INSERT)
+    public R createSqMiniLink(@RequestBody FsCourseLinkMiniParam param) {
+        if (StringUtil.strIsNullOrEmpty(param.getCorpId())){
+            return R.error("企业id不能为空");
+        }
+
+        if (StringUtil.strIsNullOrEmpty(param.getQwUserId())){
+            return R.error("用户id不能为空");
+        }
+        if (ObjectUtil.isEmpty(param.getPhoneRedPacketId())){
+            return R.error("授权红包id不能为空");
+        }
+        return fsUserCourseVideoService.createSqMiniLink(param);
+    }
+
+    /**
+     * 查询授权红包配置信息
+     */
+    @GetMapping("/redPacketList")
+    public TableDataInfo list(RedPacket param)
+    {
+        param.setStatus("1");
+        QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
+
+        param.setCompanyId(qwUser.getCompanyId());
+        startPage();
+        List<RedPacket> list = redPacketService.selectRedPacketList(param);
+        return getDataTable(list);
+    }
 }

+ 9 - 0
fs-service/src/main/java/com/fs/course/param/FsCourseLinkMiniParam.java

@@ -26,4 +26,13 @@ public class FsCourseLinkMiniParam {
     */
     private Long fsUserId;
 
+
+    //授权红包id
+    private Long phoneRedPacketId;
+
+    /**
+     * 群id
+     */
+    private String chatId;
+
 }

+ 6 - 0
fs-service/src/main/java/com/fs/course/service/IFsUserCourseVideoService.java

@@ -216,4 +216,10 @@ public interface IFsUserCourseVideoService
      * 下发App自动看课奖励给用户
      * */
     R sendAppRewardByFsUser(FsCourseSendRewardUParam param);
+
+    /**
+     * 发放授权红包
+     * @return
+     */
+    R createSqMiniLink(FsCourseLinkMiniParam param);
 }

+ 25 - 7
fs-service/src/main/java/com/fs/course/service/impl/FsCourseRedPacketLogServiceImpl.java

@@ -21,6 +21,8 @@ import com.fs.his.domain.FsUser;
 import com.fs.his.mapper.FsUserMapper;
 import com.fs.his.param.WxSendRedPacketParam;
 import com.fs.his.service.IFsStorePaymentService;
+import com.fs.qw.domain.BindPhoneRedPacketRecord;
+import com.fs.qw.mapper.BindPhoneRedPacketRecordMapper;
 import com.fs.system.service.ISysConfigService;
 import com.github.binarywang.wxpay.bean.transfer.TransferBillsResult;
 import org.slf4j.Logger;
@@ -49,6 +51,9 @@ public class FsCourseRedPacketLogServiceImpl implements IFsCourseRedPacketLogSer
 
     @Autowired
     private ISysConfigService configService;
+
+    @Autowired
+    private BindPhoneRedPacketRecordMapper bindPhoneRedPacketRecordMapper;
     /**
      * 查询短链课程看课记录
      *
@@ -136,13 +141,26 @@ public class FsCourseRedPacketLogServiceImpl implements IFsCourseRedPacketLogSer
 
     @Override
     public R syncRedPacket(String outBatchNo, String batchId) {
-        FsCourseRedPacketLog log = fsCourseRedPacketLogMapper.selectFsCourseRedPacketLogByBatchNo(outBatchNo);
-        if (log!=null){
-            log.setStatus(1);
-            log.setUpdateTime(new Date());
-            log.setBatchId(batchId);
-            fsCourseRedPacketLogMapper.updateFsCourseRedPacketLog(log);
-            return R.ok();
+        if (outBatchNo.contains("phonePacket")) {
+            //授权红包回调
+            BindPhoneRedPacketRecord record = bindPhoneRedPacketRecordMapper.selectBindPhoneRedPacketRecordByOutBatchNo(outBatchNo);
+            if (record != null) {
+                record.setCollectType("1");
+                record.setUpdateTime(new Date());
+                record.setBatchId(batchId);
+                bindPhoneRedPacketRecordMapper.updateBindPhoneRedPacketRecord(record);
+                return R.ok();
+            }
+        } else {
+            //看课红包回调
+            FsCourseRedPacketLog log = fsCourseRedPacketLogMapper.selectFsCourseRedPacketLogByBatchNo(outBatchNo);
+            if (log!=null){
+                log.setStatus(1);
+                log.setUpdateTime(new Date());
+                log.setBatchId(batchId);
+                fsCourseRedPacketLogMapper.updateFsCourseRedPacketLog(log);
+                return R.ok();
+            }
         }
         return R.error("批次不存在");
     }

+ 199 - 7
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.course.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -52,13 +53,8 @@ import com.fs.his.service.IFsUserService;
 import com.fs.his.service.IFsUserWxService;
 import com.fs.his.utils.ConfigUtil;
 import com.fs.his.vo.OptionsVO;
-import com.fs.qw.domain.QwAppMiniProgramRelation;
-import com.fs.qw.domain.QwCompany;
-import com.fs.qw.domain.QwExternalContact;
-import com.fs.qw.domain.QwUser;
-import com.fs.qw.mapper.QwAppMiniProgramRelationMapper;
-import com.fs.qw.mapper.QwExternalContactMapper;
-import com.fs.qw.mapper.QwUserMapper;
+import com.fs.qw.domain.*;
+import com.fs.qw.mapper.*;
 import com.fs.qw.service.IQwCompanyService;
 import com.fs.qw.service.IQwExternalContactService;
 import com.fs.qwApi.Result.QwAddContactWayResult;
@@ -134,6 +130,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     private static final String miniappRealLink = "/pages_course/video.html?course=";
     private static final String REAL_LINK_PREFIX = "/courseH5/pages/course/learning?course=";
     private static final String SHORT_LINK_PREFIX = "/courseH5/pages/course/learning?s=";
+    private static final String appActivityLink = "/pages_course/luckybag.html?link=";
     @Autowired
     ICompanyService companyService;
     @Autowired
@@ -257,6 +254,12 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     @Autowired
     private WxOpenProperties openProperties;
 
+    @Autowired
+    private BindPhoneRedPacketRecordMapper bindPhoneRedPacketRecordMapper;
+
+    @Autowired
+    private RedPacketMapper redPacketMapper;
+
 
 
     /**
@@ -2996,6 +2999,195 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         }
     }
 
+    @Override
+    public R createSqMiniLink(FsCourseLinkMiniParam param) {
+        try {
+            QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
+
+            if (qwUser==null||qwUser.getCompanyId()==null||qwUser.getCompanyUserId()==null){
+                return R.error("员工未绑定 客服公司 或 客服 请先绑定");
+            }
+
+            QwCompany qwCompany = iQwCompanyService.getQwCompanyByRedis(param.getCorpId());
+
+            if (qwCompany == null ) {
+                return  R.error().put("msg","企业不存在,请联系管理员");
+            }
+            String course = configService.selectConfigByKey("course.config");
+            CourseConfig config = JSON.parseObject(course, CourseConfig.class);
+            LocalDateTime sendDateTime = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
+            LocalDateTime expireDateTime = sendDateTime.plusDays(config.getVideoLinkExpireDate() - 1);
+            expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59);
+            Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant());
+
+
+            FsCourseLink link = createFsCourseLink(param.getCorpId(), new Date(),  qwUser.getId(),
+                    String.valueOf(qwUser.getCompanyUserId()), String.valueOf(qwUser.getCompanyId()), param.getExternalUserId(), 3,param.getChatId());
+            link.setUpdateTime(new Date());
+            FsCourseRealLink courseMap = new FsCourseRealLink();
+            BeanUtils.copyProperties(link, courseMap);
+
+            String json = configService.selectConfigByKey("phoneRedPacket.config");
+            Map<String, Object> luckyBagConfig = JSON.parseObject(json, Map.class);
+            Object miniprogramPicUrl = luckyBagConfig.get("miniprogramPicUrl");
+            courseMap.setQwExternalId(param.getExternalUserId());
+
+            JSONObject news = new JSONObject(true);
+            if(miniprogramPicUrl != null){
+                news.put("miniprogramPicUrl", miniprogramPicUrl.toString());
+            }
+            Long businessId = addRedPacketCollectRecord(param.getPhoneRedPacketId(), miniprogramPicUrl.toString(), qwUser, param.getFsUserId(), updateTime, String.valueOf(qwUser.getCompanyUserId()), String.valueOf(qwUser.getCompanyId()));
+            courseMap.setBusinessId(String.valueOf(businessId));
+            String realLinkFull = appActivityLink + JSON.toJSONString(courseMap);
+            link.setRealLink(realLinkFull);
+            //存短链-
+            fsCourseLinkMapper.insertFsCourseLink(link);
+            news.put("businessId", String.valueOf(businessId));
+            news.put("externalUserId", param.getExternalUserId());
+            news.put("miniprogramAppid", qwCompany.getMiniAppId());
+            news.put("miniprogramTitle", "手机授权");
+            news.put("miniprogramPage", link.getRealLink());
+
+            return R.ok().put("data",news);
+        } catch (BeansException e) {
+            e.printStackTrace();
+            return R.error("发放授权红包失败!");
+        }
+    }
+
+    /**
+     * 增加授权手机号红包发放记录、领取记录
+     *
+     * @param companyId
+     * @param qwUser
+     * @param sendTime
+     * @param companyUserId
+     */
+    private Long addRedPacketCollectRecord(Long redPacketId, String miniprogramPicUrl,
+                                           QwUser qwUser,
+                                           Long userId,
+                                           Date sendTime,
+                                           String companyUserId,
+                                           String companyId) {
+        try {
+            if (StringUtils.isEmpty(companyId) || StringUtils.isEmpty(companyUserId)) {
+                log.error("公司ID或用户ID为空 [companyId:{}, companyUserId:{}]", companyId, companyUserId);
+                return null;
+            }
+
+            // 验证授权手机号红包ID
+            if (redPacketId == null) {
+                log.error("授权手机号红包ID为空");
+                return null;
+            }
+
+            RedPacket redPacket = redPacketMapper.selectRedPacketById(redPacketId);
+            // 查询授权手机号红包信息
+            if (redPacket == null) {
+                log.error("未找到对应的授权手机号红包信息 [luckyBagId:{}]", redPacketId);
+                return null;
+            }
+
+            // 检查授权手机号红包状态
+            if (redPacket.getStatus().equals("0")) {
+                log.error("授权手机号红包被禁用 [luckyBagId:{}]", redPacketId);
+                return null;
+            }
+            // 查询公司信息
+            Company company = companyMapper.selectCompanyById(Long.valueOf(companyId));
+            if (company == null) {
+                log.error("未找到对应的公司信息 [companyId:{}]", companyId);
+                return null;
+            }
+
+
+
+            // 构建授权手机号红包记录
+            BindPhoneRedPacketRecord bindPhoneRedPacketRecord = buildRePacketRecord(redPacketId, miniprogramPicUrl,qwUser,userId,sendTime,
+                    companyUserId, companyId,  company, redPacket);
+            bindPhoneRedPacketRecord.setSendTime(new Date());
+            // 插入记录并返回ID
+            int result = bindPhoneRedPacketRecordMapper.insertBindPhoneRedPacketRecord(bindPhoneRedPacketRecord);
+            if (result <= 0) {
+                log.error("授权手机号红包记录插入失败 [luckyBagId:{}]", redPacketId);
+                return null;
+            }
+
+            // 返回新增记录的ID
+            Long recordId = bindPhoneRedPacketRecord.getId();
+            if (recordId == null) {
+                log.error("授权手机号红包记录插入成功但未返回ID [luckyBagId:{}]", redPacketId);
+                return null;
+            }
+
+            log.info("授权手机号红包记录添加成功 [recordId:{}, luckyBagId:{}]", recordId, redPacketId);
+            return recordId;
+
+        } catch (NumberFormatException e) {
+            log.error("ID转换失败 [companyId:{}, companyUserId:{}]", companyId, companyUserId, e);
+            return null;
+        } catch (Exception e) {
+            log.error("ID:" + (redPacketId != null ? redPacketId : "unknown") + "-添加授权手机号红包记录失败", e);
+            return null;
+        }
+    }
+
+    /**
+     * 构建授权手机号红包记录对象
+     */
+    private BindPhoneRedPacketRecord buildRePacketRecord(Long redPacketId,String miniprogramPage,
+                                                         QwUser qwUser,
+                                                         Long userId,
+                                                         Date sendTime,
+                                                         String companyUserId,
+                                                         String companyId,
+                                                         Company company,
+                                                         RedPacket redPacket) {
+        BindPhoneRedPacketRecord record = new BindPhoneRedPacketRecord();
+        record.setQwUserId(qwUser.getQwUserId());
+        record.setQwUserName(qwUser.getQwUserName());
+        record.setRedPacketId(redPacketId);
+        record.setCollectType("0");
+        record.setSendTime(new Date());
+        record.setCompanyId(Long.valueOf(companyId));
+        record.setUserId(userId);
+        if (ObjectUtil.isNotEmpty(userId)){
+            FsUser fsUser = fsUserMapper.selectFsUserByUserId(userId);
+            record.setUserName(ObjectUtil.isNotEmpty(fsUser)?fsUser.getNickName():null);
+        }
+        record.setCompanyName(company.getCompanyName());
+        record.setCompanyUserId(Long.valueOf(companyUserId));
+        record.setSendLink(miniprogramPage);
+        record.setRewardType(2L);
+        record.setAmount(redPacket.getAmount());
+
+        return record;
+    }
+
+    public FsCourseLink createFsCourseLink(String corpId, Date sendTime,  Long qwUserId,
+                                           String companyUserId, String companyId, Long externalId, Integer type,String chatId) {
+        // 手动创建 FsCourseLink 对象,避免使用 BeanUtils.copyProperties
+        FsCourseLink link = new FsCourseLink();
+        link.setCompanyId(Long.parseLong(companyId));
+        link.setQwUserId(qwUserId);
+        link.setCompanyUserId(Long.parseLong(companyUserId));
+        link.setCorpId(corpId);
+        link.setChatId(chatId);
+        link.setQwExternalId(externalId);
+        link.setLinkType(type); //小程序
+        link.setUNo(UUID.randomUUID().toString());
+        String randomString = generateRandomStringWithLock();
+        if (StringUtil.strIsNullOrEmpty(randomString)) {
+            link.setLink(UUID.randomUUID().toString().replace("-", ""));
+        } else {
+            link.setLink(randomString);
+        }
+
+        link.setCreateTime(sendTime);
+
+        return link;
+    }
+
     private R executeAppReward(FsCourseSendRewardUParam param){
         //查询可提现
         Long userId = param.getUserId();

+ 3 - 0
fs-service/src/main/java/com/fs/qw/domain/BindPhoneRedPacketRecord.java

@@ -96,4 +96,7 @@ public class BindPhoneRedPacketRecord extends BaseEntity{
 
     private String result;
 
+    //点击红包领取按钮标识 0-未生成 1-生成
+    private Integer collectTag;
+
 }

+ 14 - 0
fs-service/src/main/java/com/fs/qw/domain/RedPacket.java

@@ -1,6 +1,8 @@
 package com.fs.qw.domain;
 
 import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fs.common.annotation.Excel;
 import lombok.Data;
@@ -47,5 +49,17 @@ public class RedPacket extends BaseEntity{
     //更新人id
     private Long updateById;
 
+    /**
+     * 主体id
+     */
+    @TableField(exist = false)
+    private String corpId;
+
+    /**
+     * 企微用户id
+     */
+    @TableField(exist = false)
+    private String qwUserId;
+
 
 }

+ 7 - 1
fs-service/src/main/java/com/fs/qw/mapper/BindPhoneRedPacketRecordMapper.java

@@ -65,5 +65,11 @@ public interface BindPhoneRedPacketRecordMapper extends BaseMapper<BindPhoneRedP
     Long selectBindPhoneRedPacketRecordListCountByUserId(@Param("userId") Long userId, @Param("collectType")String collectType);
 
     @Select("SELECT count(*) FROM `bind_phone_red_packet_record` WHERE phone = #{phone} AND collect_type = #{collectType}")
-    Long selectBindPhoneRedPacketRecordListCountByPhone(@Param("userId") String phone, @Param("collectType")String collectType);
+    Long selectBindPhoneRedPacketRecordListCountByPhone(@Param("phone") String phone, @Param("collectType")String collectType);
+
+    @Select("SELECT * FROM bind_phone_red_packet_record WHERE out_batch_no = #{outBatchNo}")
+    BindPhoneRedPacketRecord selectBindPhoneRedPacketRecordByOutBatchNo(@Param("outBatchNo") String outBatchNo);
+
+    @Select("SELECT count(*) FROM `bind_phone_red_packet_record` WHERE user_id = #{userId} AND collect_tag = 1")
+    Long selectCollectTagRecordCountByUserId(@Param("userId") Long userId);
 }

+ 30 - 5
fs-service/src/main/java/com/fs/qw/service/impl/RedPacketServiceImpl.java

@@ -162,6 +162,23 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
         if (ObjectUtil.isNull(record)) {
             return R.error("授权红包信息错误");
         }
+        if ("1".equals(record.getCollectType())) {
+            return R.error("已领取授权红包,不可重复领");
+        }
+        if (record.getCollectTag() == 1) {
+            if (StringUtils.isNotEmpty(record.getResult())) {
+                return R.ok().put("data",JSON.parseObject(record.getResult(), R.class));
+            } else {
+                return R.error("操作频繁,请稍后再试!");
+            }
+        } else {
+            //未领取标识 查询是否存在其它
+            Long tagRecordCount = bindPhoneRedPacketRecordMapper.selectCollectTagRecordCountByUserId(param.getUserId());
+            if (tagRecordCount > 0) {
+                return R.error("已领取过其它授权红包");
+            }
+        }
+
         //检测是否可领取授权红包
         R r = checkIsReceiveRedPacket(param.getUserId(), param.getPhone());
         if (!r.get("code").equals(200)) {
@@ -192,9 +209,8 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
         redPacketParam.setCompanyId(record.getCompanyId());
         //发送红包
         R result = paymentService.sendRedPacket(redPacketParam);
-        log.error("红包发送结果:{}", result);
+        log.error("授权红包发送结果:{}", result);
         if (result.get("code").equals(200)) {
-
             BindPhoneRedPacketRecord map = new BindPhoneRedPacketRecord();
             TransferBillsResult transferBillsResult;
             if (result.get("isNew").equals(1)) {
@@ -206,13 +222,22 @@ public class RedPacketServiceImpl extends ServiceImpl<RedPacketMapper, RedPacket
             }
             map.setId(record.getId());
             map.setPhone(param.getPhone());
-            map.setCollectType("1");
+            //map.setCollectType("1");
+            map.setCollectTime(new Date());
+            map.setCollectTag(1);
+            if (record.getUserId() == null) {
+                map.setUserId(user.getUserId());
+            }
             int updateBindPhoneRedPacketRecord = bindPhoneRedPacketRecordMapper.updateBindPhoneRedPacketRecord(map);
             if (updateBindPhoneRedPacketRecord > 0) {
-                return R.ok().put("msg","领取授权红包成功");
+                return R.ok().put("data",result);
+            } else {
+                return R.error("领取红包失败");
             }
+        }  else {
+            return R.error("发送授权红包失败");
         }
-        return R.error("领取授权红包失败");
+
     }
 
     private R checkIsReceiveRedPacket(Long userId,String phone) {

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

@@ -22,10 +22,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="qwUserId"    column="qw_user_id"    />
         <result property="qwUserName"    column="qw_user_name"    />
         <result property="phone"    column="phone"    />
+        <result property="collectTag"    column="collect_tag"    />
+        <result property="outBatchNo"    column="out_batch_no"    />
+        <result property="result"    column="result"    />
+        <result property="batchId"    column="batch_id"    />
     </resultMap>
 
     <sql id="selectBindPhoneRedPacketRecordVo">
-        select id, user_id, user_name, red_packet_id, company_user_id, company_id, company_name, amount, send_time, collect_time, collect_type, send_link, update_time, create_time, qw_user_id, qw_user_name, phone from bind_phone_red_packet_record
+        select * from bind_phone_red_packet_record
     </sql>
 
     <select id="selectBindPhoneRedPacketRecordList" parameterType="BindPhoneRedPacketRecord" resultMap="BindPhoneRedPacketRecordResult">
@@ -45,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="qwUserId != null  and qwUserId != ''"> and qw_user_id = #{qwUserId}</if>
             <if test="qwUserName != null  and qwUserName != ''"> and qw_user_name like concat('%', #{qwUserName}, '%')</if>
             <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
+            <if test="collectTag != null  and collectTag != ''"> and collect_tag = #{collectTag}</if>
         </where>
     </select>
     
@@ -72,6 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="qwUserId != null">qw_user_id,</if>
             <if test="qwUserName != null">qw_user_name,</if>
             <if test="phone != null">phone,</if>
+            <if test="collectTag != null">collect_tag,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userId != null">#{userId},</if>
@@ -90,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="qwUserId != null">#{qwUserId},</if>
             <if test="qwUserName != null">#{qwUserName},</if>
             <if test="phone != null">#{phone},</if>
+            <if test="collectTag != null">#{collectTag},</if>
          </trim>
     </insert>
 
@@ -115,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="outBatchNo != null">out_batch_no = #{outBatchNo},</if>
             <if test="batchId != null">batch_id = #{batchId},</if>
             <if test="result != null">result = #{result},</if>
+            <if test="collectTag != null">collect_tag = #{collectTag},</if>
         </trim>
         where id = #{id}
     </update>