101captain
2021-10-18 b048146fe01497f47f35f24c10b9bf1e3a06bdf6
活动改版
9个文件已修改
3个文件已添加
492 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/integral/admin/AddComActIntegralUserDTO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActRegistVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/QRActivityCodeVO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/integral/ComActIntegralCommunityTradeVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActActivityCodeApi.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComBpActivityDAO.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActActivityCode.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActActRegistDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComPbActivityDO.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/integral/admin/AddComActIntegralUserDTO.java
@@ -11,7 +11,7 @@
    @ApiModelProperty("业务id")
    private Long serviceId;
    @ApiModelProperty("积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷)")
    @ApiModelProperty("积分任务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷)8活动签到")
    private Integer integralType;
    @ApiModelProperty(value = "社区id")
@@ -23,6 +23,9 @@
    @ApiModelProperty(value = "是否是评论(1.是 2.否)")
    private Integer isComment;
    @ApiModelProperty(value = "签到类型 1居民 志愿者签到 2党员签到")
    private Integer activityType;
    public AddComActIntegralUserDTO(Long serviceId, Integer integralType, Long communityId, Long userId) {
        this.serviceId = serviceId;
        this.integralType = integralType;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActRegistVO.java
@@ -74,4 +74,7 @@
    @ApiModelProperty(value = "二维码id")
    private Integer codeId;
    @ApiModelProperty(value = "活动类型 1居民,志愿者 2党员")
    private Integer activityType;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/QRActivityCodeVO.java
New file
@@ -0,0 +1,17 @@
package com.panzhihua.common.model.vos.community;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author zzj
 */
@Data
@ApiModel("生成二维码传参")
public class QRActivityCodeVO {
    @ApiModelProperty("数据主键id")
    private Integer id;
    @ApiModelProperty("二维码类型 1居民,志愿者 2党员")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/integral/ComActIntegralCommunityTradeVO.java
@@ -12,7 +12,7 @@
@ApiModel("小程序-用户社区积分明细返回参数")
public class ComActIntegralCommunityTradeVO {
    @ApiModelProperty("交易业务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷)")
    @ApiModelProperty("交易业务类型(1.发布随手拍 2.发布微心愿 3.参与议事投票 4.参与志愿者活动 5.参与社区活动 6.参与党员活动 7.参与调查问卷)8活动签到")
    private Integer serviceType;
    @ApiModelProperty("交易数量")
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ComActActivityCodeApi.java
@@ -1,17 +1,22 @@
package com.panzhihua.service_community.api;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.community.warehouse.QRCodeVO;
import com.panzhihua.service_community.entity.ComActActivityCode;
import com.panzhihua.service_community.service.ComActActivityCodeService;
import com.panzhihua.service_community.util.QRCodeUtil;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@@ -83,4 +88,40 @@
    public R delete(@RequestParam("id") Long id) {
        return R.ok(this.comActActivityCodeService.removeById(id));
    }
    /**
     * 生成二维码
     * @param qrCodeVO
     * @return
     */
    @PostMapping("/getQRCode")
    public R getQRCode(@RequestBody QRCodeVO qrCodeVO){
        ComActActivityCode comActActivityCode=comActActivityCodeService.getOne(new QueryWrapper<ComActActivityCode>().lambda().eq(ComActActivityCode::getStatus,1).eq(ComActActivityCode::getActivityId,qrCodeVO.getId()).eq(ComActActivityCode::getType,qrCodeVO.getType()));
        if(comActActivityCode!=null){
            return R.ok(QRCodeUtil.getBase64QRCode(JSONObject.toJSONString(qrCodeVO)));
        }
        return R.fail("该活动无有效二维码");
    }
    /**
     * 重置二维码
     * @param qrCodeVO
     * @return
     */
    @PostMapping("/resetQRCode")
    public R resetQRCode(@RequestBody QRCodeVO qrCodeVO){
        ComActActivityCode comActActivityCode=comActActivityCodeService.getOne(new QueryWrapper<ComActActivityCode>().lambda().eq(ComActActivityCode::getStatus,1).eq(ComActActivityCode::getActivityId,qrCodeVO.getId()).eq(ComActActivityCode::getType,qrCodeVO.getType()));
        if(comActActivityCode!=null){
            comActActivityCodeService.update(new UpdateWrapper<ComActActivityCode>().lambda().eq(ComActActivityCode::getActivityId,qrCodeVO.getId()).eq(ComActActivityCode::getType,qrCodeVO.getType()).set(ComActActivityCode::getStatus,0));
            ComActActivityCode comActActivityCode1=new ComActActivityCode();
            comActActivityCode1.setActivityId(qrCodeVO.getId().longValue());
            comActActivityCode1.setCreateTime(new Date());
            comActActivityCode1.setType(qrCodeVO.getType());
            comActActivityCode1.setStatus(1);
            comActActivityCodeService.save(comActActivityCode1);
            return R.ok(QRCodeUtil.getBase64QRCode(JSONObject.toJSONString(qrCodeVO)));
        }
        return R.fail();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComBpActivityDAO.java
New file
@@ -0,0 +1,111 @@
package com.panzhihua.service_community.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.community.integral.admin.ComActActivityPeopleVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
import com.panzhihua.service_community.model.dos.ComPbActivityDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 17:59
 **/
@Mapper
public interface ComBpActivityDAO extends BaseMapper<ComPbActivityDO> {
    // @Select("<script> " +
    // " <where>" +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
    // " </if> " +
    // " </where>" +
    // "</script>")
    @Select("<script> " + "SELECT\n" + "a.id,\n" + "a.name,\n" + "a.address,\n" + "a.status,\n"
        + "a.create_at releaseTimeBegin,\n" + "a.activity_time_begin,\n" + "a.activity_time_end,\n"
        + "a.enroll_time_begin,\n" + "a.release_time,\n" + "a.enroll_time_end \n" + "FROM\n"
        + "com_pb_activity_member m\n" + "JOIN com_pb_activity a ON m.activity_id = a.id \n" + "WHERE\n"
        + "m.member_id = #{id} \n" + "<if test='name != null and name.trim() != &quot;&quot;'>"
        + "AND a.`name` like concat (#{name},'%')  \n" + " </if> " + "<if test='releaseTimeBegin != null '>"
        + "AND a.create_at BETWEEN #{releaseTimeBegin} \n" + "AND #{releaseTimeEnd} \n" + " </if> "
        + "<if test='activityTimeBegin != null '>" + "AND a.activity_time_begin BETWEEN #{activityTimeBegin} \n"
        + "AND #{activityTimeEnd}" + " </if> " + "</script>")
    List<PartyBuildingActivityVO> listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO);
    @Select("<script> " + "SELECT\n" + "a.id,\n" + "a.name,\n" + "a.address,\n" + "a.status,\n" + "a.release_time,\n"
        + "a.activity_time_begin,\n" + "a.activity_time_end,\n" + "a.enroll_time_begin,\n" + "a.cover,\n"
        + "if(u.type=3 ,'管理员',u.name)createByName,\n" + "a.enroll_time_end \n" + "FROM\n" + "com_pb_activity a\n"
        + "left join sys_user u on a.create_by=u.user_id \n"
        + "where a.community_id=#{partyBuildingActivityVO.communityId}\n"
        + "<if test='partyBuildingActivityVO.name != null and partyBuildingActivityVO.name.trim() != &quot;&quot;'>"
        + "and a.name = #{partyBuildingActivityVO.name} \n" + " </if> "
        + "<if test='partyBuildingActivityVO.isAppliets != null and partyBuildingActivityVO.isAppliets==1'>"
        + " and a.`status` not in(5,6) " + " </if> "
        + "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets ==null '>"
        + "AND a.`status` = #{partyBuildingActivityVO.status} \n" + " </if> "
        + "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0 and partyBuildingActivityVO.isAppliets !=null and partyBuildingActivityVO.isAppliets==1'>"
        + "AND a.`status` in (3,4) \n" + " </if> " + "<if test='partyBuildingActivityVO.releaseTimeBegin != null '>"
        + "AND a.release_time BETWEEN #{partyBuildingActivityVO.releaseTimeBegin} \n"
        + "AND #{partyBuildingActivityVO.releaseTimeEnd} \n" + " </if> "
        + "<if test='partyBuildingActivityVO.activityTimeBegin != null '>"
        + "AND a.activity_time_begin BETWEEN #{partyBuildingActivityVO.activityTimeBegin} \n"
        + "AND #{partyBuildingActivityVO.activityTimeEnd}" + " </if> " + "order by a.create_at desc " + "</script>")
    IPage<PartyBuildingActivityVO> pageActivity(Page page,
        @Param("partyBuildingActivityVO") PartyBuildingActivityVO partyBuildingActivityVO);
    @Select("select t.id from (\n" + "SELECT \n" + "a.participation_lowest_num,\n" + "a.name,\n" + "a.id,\n"
        + "COUNT(m.id)num\n" + "FROM\n" + "com_pb_activity a\n"
        + "LEFT JOIN com_pb_activity_member m ON a.id = m.activity_id\n"
        + "WHERE a.`status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),a.enroll_time_end)<=0\n"
        + "GROUP BY a.id)t where t.num<t.participation_lowest_num")
    List<Long> selectTimedTaskPartyBuildingActivity();
    @Select("SELECT \n" + "u.user_id\n" + "FROM\n" + "com_pb_activity_member m\n"
        + "JOIN com_pb_member r on m.member_id=r.id\n" + "join sys_user u on r.id_card=u.id_card and u.type=1 \n"
        + "where m.activity_id=#{activityId}")
    List<Long> selectTimedTaskPartyBuildingActivityUserids(Long activityId);
    @Update("<script> " + "update com_pb_activity set `status`=6 WHERE id in \n"
        + "<foreach item=\"item\" collection=\"ids\" separator=\",\" open=\"(\" close=\")\" index=\"\"> \n"
        + "#{item}\n" + "</foreach>\n" + "</script>")
    int updateBatchIds(@Param("ids") List<Long> ids);
    @Update("update com_pb_activity set status=2 where `status`=1 and TIMESTAMPDIFF(MINUTE,SYSDATE(),release_time)<=0")
    int updateStatusToNotBegin();
    @Update("update com_pb_activity set status=3 where `status`=2 and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_begin)<=0")
    int updateStatusToSign();
    @Update("update com_pb_activity set status=5 where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_end)<=0")
    int updateStatusToActiveOrEnd();
    @Select("select id from com_pb_activity where `status` in (3,4) and TIMESTAMPDIFF(MINUTE,SYSDATE(),enroll_time_end)<=0")
    List<Long> getTaskPbActivityEndIds();
    @Select("select caas.user_id,caas.activity_id,caa.community_id from com_pb_activity_member as caas left join com_pb_activity as caa on caa.id = caas.activity_id where caa.id = #{activityId}")
    List<ComActActivityPeopleVO> getTaskPbActivityPeopleList(@Param("activityId") Long activityId);
    @Select("select type,name from sys_user where user_id=#{createBy}")
    LoginUserInfoVO selectUserInfoByUserId(Long createBy);
    /**
     * 根据社区id查询社区名称
     *
     * @param communityId
     *            社区id
     * @return 社区名字
     */
    @Select("select name from com_act where community_id=#{communityId}")
    String selectCommunityNameByCommunityId(Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/entity/ComActActivityCode.java
@@ -61,4 +61,10 @@
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 二维码类型 1居民志愿者 2党员
     */
    @ApiModelProperty("二维码类型 1居民志愿者 2党员")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComActActRegistDO.java
@@ -74,6 +74,11 @@
    private Integer codeId;
    /**
     * 活动类型 1居民,志愿者 2党员
     */
    private Integer type;
    /**
    * 是否是志愿者 0 否 1 是
    */
    private Integer isVolunteer;
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComPbActivityDO.java
New file
@@ -0,0 +1,132 @@
package com.panzhihua.service_community.model.dos;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 17:54
 **/
@Data
@TableName(value = "com_pb_activity")
public class ComPbActivityDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 活动名称
     */
    private String name;
    /**
     * 活动地点
     */
    private String address;
    /**
     * 1 待发布 2 未开始 3 报名中 4 进行中 5 已结束 6 已取消
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createAt;
    /**
     * 活动开始时间
     */
    private Date activityTimeBegin;
    /**
     * 活动结束时间
     */
    private Date activityTimeEnd;
    /**
     * 报名开始时间
     */
    private Date enrollTimeBegin;
    /**
     * 报名结束时间
     */
    private Date enrollTimeEnd;
    /**
     * 活动参入人数
     */
    private Integer participationNum;
    /**
     * 活动封面
     */
    private String cover;
    /**
     * 活动内容-富文本
     */
    private String richText;
    /**
     * 活动最低参入人数-未达到到时间自动取消
     */
    private Integer participationLowestNum;
    /**
     * 取消原因
     */
    private String cancelReason;
    /**
     * 发布人
     */
    private Long createBy;
    /**
     * 发布时间
     */
    private Date releaseTime;
    /**
     * 社区id
     */
    private Long communityId;
    /**
     * 签到范围,默认0无限制
     */
    private Integer range;
    /**
     * 是否有积分奖励(1.是 2.否)
     */
    private Integer haveIntegralReward;
    /**
     * 积分奖励方式(1.按次奖励 2.记时奖励)
     */
    private Integer rewardWay;
    /**
     * 奖励积分
     */
    private Integer rewardIntegral;
    /**
     * 参与次数上限
     */
    private Integer limit;
    /**
     * 是否允许取消(1.允许 2.不允许)
     */
    private Integer canCancel;
    /**
     * 取消扣除积分
     */
    private Integer cancelDeduct;
}
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -16,7 +16,10 @@
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComActIntegralUserTradeService;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
@@ -47,11 +50,6 @@
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.WxUtil;
import com.panzhihua.common.utlis.WxXCXTempSend;
import com.panzhihua.service_community.model.dos.ComActActEvaluateDO;
import com.panzhihua.service_community.model.dos.ComActActPictureDO;
import com.panzhihua.service_community.model.dos.ComActActRegistDO;
import com.panzhihua.service_community.model.dos.ComActActSignDO;
import com.panzhihua.service_community.model.dos.ComActActivityDO;
import com.panzhihua.service_community.service.ComActActivityService;
import lombok.extern.slf4j.Slf4j;
@@ -84,6 +82,10 @@
    private ComActActPictureDAO comActActPictureDAO;
    @Resource
    private ComActActivityCodeDao comActActivityCodeDao;
    @Resource
    private ComBpActivityDAO comBpActivityDAO;
    @Resource
    private ComActIntegralUserTradeService comActIntegralUserTradeService;
    /**
     * 新增社区活动
@@ -786,49 +788,110 @@
        if (isNull(activityId)) {
            return R.fail("签到所属活动id不能为空!");
        }
        ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId);
        if (isNull(comActActivityDO)) {
            return R.fail("活动不存在!");
        }
        if(comActActRegistVO.getActivityType()==1){
            ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId);
            if (isNull(comActActivityDO)) {
                return R.fail("活动不存在!");
            }
        Date beginAt = comActActivityDO.getBeginAt();
        Date endAt = comActActivityDO.getEndAt();
        Date nowDate = new Date();
        if (nowDate.before(beginAt) || nowDate.after(endAt)) {
            return R.fail("不在活动时间范围内");
        }
            Date beginAt = comActActivityDO.getBeginAt();
            Date endAt = comActActivityDO.getEndAt();
            Date nowDate = new Date();
            if (nowDate.before(beginAt) || nowDate.after(endAt)) {
                return R.fail("不在活动时间范围内");
            }
        int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
                .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()));
        int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
                .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId));
        if (signDayCount >= 0) {
            return R.fail("请扫描新的签到码");
        }
        if(signAllCount>=comActActivityDO.getLimit()){
            return R.fail("签到次数上限");
        }
            int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()).eq(ComActActRegistDO::getType,1));
            int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getType,1));
            if (signDayCount >= 0) {
                return R.fail("请扫描新的签到码");
            }
            if(signAllCount>=comActActivityDO.getLimit()){
                return R.fail("签到次数上限");
            }
//        String activitySignInKey = String.join(DELIMITER, ACTIVITY_SIGN_IN, userId.toString(), activityId.toString());
//        if (stringRedisTemplate.hasKey(activitySignInKey)) {
//            return R.fail("你已签到,如要再次签到请三十分钟后尝试!");
//        }
        ComActActRegistDO comActActRegistDO = new ComActActRegistDO();
        comActActRegistDO.setActivityId(activityId);
        comActActRegistDO.setUserId(userId);
        comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer());
        comActActRegistDO.setCreateAt(nowDate);
        comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
        comActActRegistDO.setAward(comActActivityDO.getRewardIntegral());
        comActActRegistDO.setPosition(comActActRegistVO.getPosition());
        comActActRegistDO.setTimes(signAllCount+1);
        int result = comActActRegistDAO.insert(comActActRegistDO);
        if (result > 0) {
            ComActActRegistDO comActActRegistDO = new ComActActRegistDO();
            comActActRegistDO.setActivityId(activityId);
            comActActRegistDO.setType(1);
            comActActRegistDO.setUserId(userId);
            comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer());
            comActActRegistDO.setCreateAt(nowDate);
            comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
            comActActRegistDO.setAward(comActActivityDO.getRewardIntegral());
            comActActRegistDO.setPosition(comActActRegistVO.getPosition());
            comActActRegistDO.setTimes(signAllCount+1);
            int result = comActActRegistDAO.insert(comActActRegistDO);
            if (result > 0) {
                AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO();
                addComActIntegralUserDTO.setUserId(userId);
                addComActIntegralUserDTO.setIntegralType(8);
                addComActIntegralUserDTO.setActivityType(1);
                addComActIntegralUserDTO.setCommunityId(comActActivityDO.getCommunityId());
                addComActIntegralUserDTO.setServiceId(activityId);
                comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
//            ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
//            opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS);
            return R.ok();
                return R.ok();
            }
            return R.fail("网络错误,请重试");
        }
        return R.fail("网络错误,请重试");
        else {
            ComPbActivityDO comPbActivityDO=comBpActivityDAO.selectById(activityId);
            if (isNull(comPbActivityDO)) {
                return R.fail("活动不存在!");
            }
            Date beginAt = comPbActivityDO.getActivityTimeBegin();
            Date endAt = comPbActivityDO.getActivityTimeEnd();
            Date nowDate = new Date();
            if (nowDate.before(beginAt) || nowDate.after(endAt)) {
                return R.fail("不在活动时间范围内");
            }
            int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()).eq(ComActActRegistDO::getType,2));
            int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getType,2));
            if (signDayCount >= 0) {
                return R.fail("请扫描新的签到码");
            }
            if(signAllCount>=comPbActivityDO.getLimit()){
                return R.fail("签到次数上限");
            }
            ComActActRegistDO comActActRegistDO = new ComActActRegistDO();
            comActActRegistDO.setActivityId(activityId);
            comActActRegistDO.setType(2);
            comActActRegistDO.setUserId(userId);
            comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer());
            comActActRegistDO.setCreateAt(nowDate);
            comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
            comActActRegistDO.setAward(comPbActivityDO.getRewardIntegral());
            comActActRegistDO.setPosition(comActActRegistVO.getPosition());
            comActActRegistDO.setTimes(signAllCount+1);
            int result = comActActRegistDAO.insert(comActActRegistDO);
            if (result > 0) {
                AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO();
                addComActIntegralUserDTO.setUserId(userId);
                addComActIntegralUserDTO.setIntegralType(8);
                addComActIntegralUserDTO.setActivityType(2);
                addComActIntegralUserDTO.setCommunityId(comPbActivityDO.getCommunityId());
                addComActIntegralUserDTO.setServiceId(activityId);
                comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
//            ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
//            opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS);
                return R.ok();
            }
            return R.fail("网络错误,请重试");
        }
    }
    /**
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
@@ -4,6 +4,7 @@
import javax.annotation.Resource;
import com.panzhihua.service_community.dao.ComBpActivityDAO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -56,6 +57,8 @@
    private ComActDiscussOptionService comActDiscussOptionService;
    @Resource
    private ComActActivityService comActActivityService;
    @Resource
    private ComBpActivityDAO comBpActivityDAO;
    /**
     * 查询用户某个时间段交易数量
@@ -299,9 +302,22 @@
                break;
            case 8:
                remark.append("成功参加活动奖励积分");
                ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId);
                if(actActivityDO1!=null){
                    amount=actActivityDO1.getRewardIntegral();
                if(integralUserDTO.getActivityType()==1){
                    ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId);
                    if(actActivityDO1!=null){
                        amount=actActivityDO1.getRewardIntegral();
                        if(actActivityDO1.getVolunteerMax()!=0){
                            identityType=3;
                        }else {
                            identityType=1;
                        }
                    }
                }else {
                    ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(serviceId);
                    if(comPbActivityDO!=null){
                        amount=comPbActivityDO.getRewardIntegral();
                        identityType=2;
                    }
                }
            default:
                break;
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComActActRegistMapper.xml
@@ -55,6 +55,9 @@
        <if test="comActActRegistVO.createAt != null">
            AND caar.create_at = #{comActActRegistVO.createAt}
        </if>
        <if test="comActActRegistVO.type != null">
            AND caar.type = #{comActActRegistVO.type}
        </if>
        order by caar.create_at desc
    </select>
@@ -91,6 +94,9 @@
        <if test="comActActRegistVO.createAt != null">
            AND caar.create_at = #{comActActRegistVO.createAt}
        </if>
        <if test="comActActRegistVO.type != null">
            AND caar.type = #{comActActRegistVO.type}
        </if>
        order by caar.create_at desc
    </select>
@@ -127,5 +133,8 @@
        <if test="comActActRegistVO.createAt != null">
            AND caar.create_at = #{comActActRegistVO.createAt}
        </if>
        <if test="comActActRegistVO.type != null">
            AND caar.type = #{comActActRegistVO.type}
        </if>
    </select>
</mapper>