30 changed files with 1269 additions and 18 deletions
			
			
		@ -0,0 +1,75 @@ | 
				
			|||
package com.elink.esua.epdc.controller; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInRecordFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInListResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsResultDTO; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; | 
				
			|||
import com.elink.esua.epdc.service.ActSignInService; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.web.bind.annotation.GetMapping; | 
				
			|||
import org.springframework.web.bind.annotation.PathVariable; | 
				
			|||
import org.springframework.web.bind.annotation.RequestMapping; | 
				
			|||
import org.springframework.web.bind.annotation.RestController; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 工作端-活动扫码签到 | 
				
			|||
 * | 
				
			|||
 * @author Liuchuang | 
				
			|||
 * @since 2021/2/24 13:39 | 
				
			|||
 */ | 
				
			|||
@RestController | 
				
			|||
@RequestMapping("work/actsignin") | 
				
			|||
public class ApiWorkActSignInController { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ActSignInService actSignInService; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动列表(打卡中的活动) | 
				
			|||
     * | 
				
			|||
     * @param formDto | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ActSignInListResultDTO>> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 13:49 | 
				
			|||
     */ | 
				
			|||
    @GetMapping("actlist") | 
				
			|||
    public Result<List<ActSignInListResultDTO>> getSignInActList(ActSignInListFormDTO formDto) { | 
				
			|||
        ValidatorUtils.validateEntity(formDto); | 
				
			|||
 | 
				
			|||
        return actSignInService.listOfSignInActs(formDto); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到码 | 
				
			|||
     * | 
				
			|||
     * @param actId | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 14:22 | 
				
			|||
     */ | 
				
			|||
    @GetMapping("getqrcode/{actId}") | 
				
			|||
    public Result<ActSignInQrCodeResultDTO> getActSignInQrCode(@PathVariable("actId") String actId) { | 
				
			|||
        return actSignInService.getActSignInQrCode(actId); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到记录 | 
				
			|||
     * | 
				
			|||
     * @param formDto | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ActSignInRecordResultDTO>> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 15:20 | 
				
			|||
     */ | 
				
			|||
    @GetMapping("getsigninlist") | 
				
			|||
    public Result<ActSignInRecordsResultDTO> getSignInList(ActSignInRecordFormDTO formDto) { | 
				
			|||
        ValidatorUtils.validateEntity(formDto); | 
				
			|||
 | 
				
			|||
        return actSignInService.listOfSignInRecords(formDto); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,50 @@ | 
				
			|||
package com.elink.esua.epdc.service; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInRecordFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInListResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsResultDTO; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 工作端-活动扫码签到 | 
				
			|||
 * | 
				
			|||
 * @author Liuchuang | 
				
			|||
 * @since 2021/2/24 13:39 | 
				
			|||
 */ | 
				
			|||
public interface ActSignInService { | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动列表(打卡中的活动) | 
				
			|||
     * | 
				
			|||
     * @param formDto | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ActSignInListResultDTO>> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 13:51 | 
				
			|||
     */ | 
				
			|||
    Result<List<ActSignInListResultDTO>> listOfSignInActs(ActSignInListFormDTO formDto); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到码 | 
				
			|||
     * | 
				
			|||
     * @param actId | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<ActSignInQrCodeResultDTO> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 14:24 | 
				
			|||
     */ | 
				
			|||
    Result<ActSignInQrCodeResultDTO> getActSignInQrCode(String actId); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到记录 | 
				
			|||
     * | 
				
			|||
     * @param formDto | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ActSignInRecordResultDTO>> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 15:22 | 
				
			|||
     */ | 
				
			|||
    Result<ActSignInRecordsResultDTO> listOfSignInRecords(ActSignInRecordFormDTO formDto); | 
				
			|||
} | 
				
			|||
@ -0,0 +1,37 @@ | 
				
			|||
package com.elink.esua.epdc.service.impl; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInListFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInRecordFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInListResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsResultDTO; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.feign.ActInfoFeignClient; | 
				
			|||
import com.elink.esua.epdc.service.ActSignInService; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.stereotype.Service; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
@Service | 
				
			|||
public class ActSignInServiceImpl implements ActSignInService { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ActInfoFeignClient actInfoFeignClient; | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public Result<List<ActSignInListResultDTO>> listOfSignInActs(ActSignInListFormDTO formDto) { | 
				
			|||
        return actInfoFeignClient.getSignInActList(formDto); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public Result<ActSignInQrCodeResultDTO> getActSignInQrCode(String actId) { | 
				
			|||
        return actInfoFeignClient.getActSignInQrCode(actId); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public Result<ActSignInRecordsResultDTO> listOfSignInRecords(ActSignInRecordFormDTO formDto) { | 
				
			|||
        return actInfoFeignClient.getSignInList(formDto); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,81 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.elink.esua.epdc.activity; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
import java.util.Date; | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到二维码表 | 
				
			|||
 * | 
				
			|||
 * @author qu qu@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-02-24 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInQrCodeDTO implements Serializable { | 
				
			|||
 | 
				
			|||
    private static final long serialVersionUID = 1L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 主键 | 
				
			|||
     */ | 
				
			|||
	private String id; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动ID | 
				
			|||
     */ | 
				
			|||
	private String actId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 二维码地址 | 
				
			|||
     */ | 
				
			|||
	private String codeUrl; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 删除标记:0-否,1-是 | 
				
			|||
     */ | 
				
			|||
	private String delFlag; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 乐观锁 | 
				
			|||
     */ | 
				
			|||
	private Integer revision; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 创建人 | 
				
			|||
     */ | 
				
			|||
	private String createdBy; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 创建时间 | 
				
			|||
     */ | 
				
			|||
	private Date createdTime; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 更新人 | 
				
			|||
     */ | 
				
			|||
	private String updatedBy; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 更新时间 | 
				
			|||
     */ | 
				
			|||
	private Date updatedTime; | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,27 @@ | 
				
			|||
package com.elink.esua.epdc.activity.form; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import javax.validation.constraints.Min; | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动列表-form | 
				
			|||
 * @author Liuchuang | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInListFormDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -2850925877613620284L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 页码,从1开始 | 
				
			|||
     */ | 
				
			|||
    @Min(value = 1, message = "页码必须大于0") | 
				
			|||
    private Integer pageIndex; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 页容量,默认10页 | 
				
			|||
     */ | 
				
			|||
    @Min(value = 1, message = "每页条数必须大于必须大于0") | 
				
			|||
    private Integer pageSize = 10; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,34 @@ | 
				
			|||
package com.elink.esua.epdc.activity.form; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import javax.validation.constraints.NotBlank; | 
				
			|||
import javax.validation.constraints.NotNull; | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 签到记录-form | 
				
			|||
 * @author Liuchuang | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInRecordFormDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = 1458931120619377019L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 页码 | 
				
			|||
     */ | 
				
			|||
    @NotNull(message = "页码不能为空") | 
				
			|||
    private Integer pageIndex; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 页容量 | 
				
			|||
     */ | 
				
			|||
    @NotNull(message = "分页数量不能为空") | 
				
			|||
    private Integer pageSize; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动ID | 
				
			|||
     */ | 
				
			|||
    @NotBlank(message = "活动ID不能为空") | 
				
			|||
    private String actId; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,39 @@ | 
				
			|||
package com.elink.esua.epdc.activity.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动信息 | 
				
			|||
 * @author Liuchuang | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInListResultDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = 5597918895256848428L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动ID | 
				
			|||
     */ | 
				
			|||
    private String id; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 标题 | 
				
			|||
     */ | 
				
			|||
    private String title; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动头图 | 
				
			|||
     */ | 
				
			|||
    private String headPic; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 打卡开始时间 | 
				
			|||
     */ | 
				
			|||
    private String signinStartTime; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 打卡截止时间 | 
				
			|||
     */ | 
				
			|||
    private String signinEndTime; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,21 @@ | 
				
			|||
package com.elink.esua.epdc.activity.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到码 | 
				
			|||
 * | 
				
			|||
 * @author Liuchuang | 
				
			|||
 * @since 2021/2/24 14:51 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInQrCodeResultDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = 567506783648999124L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 二维码地址 | 
				
			|||
     */ | 
				
			|||
    private String codeUrl; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,44 @@ | 
				
			|||
package com.elink.esua.epdc.activity.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 签到记录-result | 
				
			|||
 * @author Liuchuang | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInRecordsDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = 3786377690296637263L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 记录ID | 
				
			|||
     */ | 
				
			|||
    private String id; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 用户昵称 | 
				
			|||
     */ | 
				
			|||
    private String nickname; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 签到时间 | 
				
			|||
     */ | 
				
			|||
    private String createdTime; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 操作积分类型 0-减积分,1-加积分 | 
				
			|||
     */ | 
				
			|||
    private String operationPointsType; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 操作积分值 | 
				
			|||
     */ | 
				
			|||
    private Integer points; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 用户头像 | 
				
			|||
     */ | 
				
			|||
    private String faceImg; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,25 @@ | 
				
			|||
package com.elink.esua.epdc.activity.result; | 
				
			|||
 | 
				
			|||
import lombok.Data; | 
				
			|||
 | 
				
			|||
import java.io.Serializable; | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 扫码签到记录 | 
				
			|||
 * @author Liuchuang | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
public class ActSignInRecordsResultDTO implements Serializable { | 
				
			|||
    private static final long serialVersionUID = -140813417697540322L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 签到总人数 | 
				
			|||
     */ | 
				
			|||
    private Integer signInTotal; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 签到记录 | 
				
			|||
     */ | 
				
			|||
    private List<ActSignInRecordsDTO> signInList; | 
				
			|||
} | 
				
			|||
@ -0,0 +1,84 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.elink.esua.epdc.modules.activity.controller; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.activity.ActSignInQrCodeDTO; | 
				
			|||
import com.elink.esua.epdc.commons.tools.page.PageData; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.AssertUtils; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; | 
				
			|||
import com.elink.esua.epdc.modules.activity.service.ActSignInQrCodeService; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.web.bind.annotation.*; | 
				
			|||
 | 
				
			|||
import java.util.Map; | 
				
			|||
 | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到二维码表 | 
				
			|||
 * | 
				
			|||
 * @author qu qu@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-02-24 | 
				
			|||
 */ | 
				
			|||
@RestController | 
				
			|||
@RequestMapping("actsigninqrcode") | 
				
			|||
public class ActSignInQrCodeController { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ActSignInQrCodeService actSignInQrCodeService; | 
				
			|||
 | 
				
			|||
    @GetMapping("page") | 
				
			|||
    public Result<PageData<ActSignInQrCodeDTO>> page(@RequestParam Map<String, Object> params){ | 
				
			|||
        PageData<ActSignInQrCodeDTO> page = actSignInQrCodeService.page(params); | 
				
			|||
        return new Result<PageData<ActSignInQrCodeDTO>>().ok(page); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @GetMapping("{id}") | 
				
			|||
    public Result<ActSignInQrCodeDTO> get(@PathVariable("id") String id){ | 
				
			|||
        ActSignInQrCodeDTO data = actSignInQrCodeService.get(id); | 
				
			|||
        return new Result<ActSignInQrCodeDTO>().ok(data); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @PostMapping | 
				
			|||
    public Result save(@RequestBody ActSignInQrCodeDTO dto){ | 
				
			|||
        //效验数据
 | 
				
			|||
        ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); | 
				
			|||
        actSignInQrCodeService.save(dto); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @PutMapping | 
				
			|||
    public Result update(@RequestBody ActSignInQrCodeDTO dto){ | 
				
			|||
        //效验数据
 | 
				
			|||
        ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); | 
				
			|||
        actSignInQrCodeService.update(dto); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @DeleteMapping | 
				
			|||
    public Result delete(@RequestBody String[] ids){ | 
				
			|||
        //效验数据
 | 
				
			|||
        AssertUtils.isArrayEmpty(ids, "id"); | 
				
			|||
        actSignInQrCodeService.delete(ids); | 
				
			|||
        return new Result(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,62 @@ | 
				
			|||
package com.elink.esua.epdc.modules.activity.controller; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInRecordFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsResultDTO; | 
				
			|||
import com.elink.esua.epdc.commons.tools.constant.Constant; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; | 
				
			|||
import com.elink.esua.epdc.modules.activity.service.ActSignInQrCodeService; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.web.bind.annotation.GetMapping; | 
				
			|||
import org.springframework.web.bind.annotation.PathVariable; | 
				
			|||
import org.springframework.web.bind.annotation.RequestMapping; | 
				
			|||
import org.springframework.web.bind.annotation.RestController; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 签到码移动端接口 | 
				
			|||
 * | 
				
			|||
 * @author Liuchuang | 
				
			|||
 * @since 2021/2/24 14:29 | 
				
			|||
 */ | 
				
			|||
@RestController | 
				
			|||
@RequestMapping(Constant.EPDC_APP + "actsigninqrcode") | 
				
			|||
public class AppActSignInQrCodeController { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ActSignInQrCodeService actSignInQrCodeService; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到码 | 
				
			|||
     * | 
				
			|||
     * @param actId | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 14:31 | 
				
			|||
     */ | 
				
			|||
    @GetMapping("getqrcode/{actId}") | 
				
			|||
    public Result<ActSignInQrCodeResultDTO> getActSignInQrCode(@PathVariable("actId") String actId) { | 
				
			|||
        ActSignInQrCodeResultDTO data = actSignInQrCodeService.getActSignInQrCode(actId); | 
				
			|||
 | 
				
			|||
        return new Result<ActSignInQrCodeResultDTO>().ok(data); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到记录 | 
				
			|||
     * | 
				
			|||
     * @param formDto | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.activity.result.ActSignInRecordResultDTO>> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 15:26 | 
				
			|||
     */ | 
				
			|||
    @GetMapping("getsigninlist") | 
				
			|||
    public Result<ActSignInRecordsResultDTO> getSignInList(ActSignInRecordFormDTO formDto) { | 
				
			|||
        ValidatorUtils.validateEntity(formDto); | 
				
			|||
        ActSignInRecordsResultDTO data = actSignInQrCodeService.listOfSignInRecords(formDto); | 
				
			|||
 | 
				
			|||
        return new Result<ActSignInRecordsResultDTO>().ok(data); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,33 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.elink.esua.epdc.modules.activity.dao; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; | 
				
			|||
import com.elink.esua.epdc.modules.activity.entity.ActSignInQrCodeEntity; | 
				
			|||
import org.apache.ibatis.annotations.Mapper; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到二维码表 | 
				
			|||
 * | 
				
			|||
 * @author qu qu@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-02-24 | 
				
			|||
 */ | 
				
			|||
@Mapper | 
				
			|||
public interface ActSignInQrCodeDao extends BaseDao<ActSignInQrCodeEntity> { | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,51 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.elink.esua.epdc.modules.activity.entity; | 
				
			|||
 | 
				
			|||
import com.baomidou.mybatisplus.annotation.TableName; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; | 
				
			|||
import lombok.Data; | 
				
			|||
import lombok.EqualsAndHashCode; | 
				
			|||
 | 
				
			|||
import java.util.Date; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到二维码表 | 
				
			|||
 * | 
				
			|||
 * @author qu qu@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-02-24 | 
				
			|||
 */ | 
				
			|||
@Data | 
				
			|||
@EqualsAndHashCode(callSuper=false) | 
				
			|||
@TableName("epdc_act_sign_in_qr_code") | 
				
			|||
public class ActSignInQrCodeEntity extends BaseEpdcEntity { | 
				
			|||
 | 
				
			|||
	private static final long serialVersionUID = 1L; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 活动ID | 
				
			|||
     */ | 
				
			|||
	private String actId; | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 二维码地址 | 
				
			|||
     */ | 
				
			|||
	private String codeUrl; | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,119 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.elink.esua.epdc.modules.activity.service; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.activity.ActSignInQrCodeDTO; | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInRecordFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsResultDTO; | 
				
			|||
import com.elink.esua.epdc.commons.mybatis.service.BaseService; | 
				
			|||
import com.elink.esua.epdc.commons.tools.page.PageData; | 
				
			|||
import com.elink.esua.epdc.modules.activity.entity.ActSignInQrCodeEntity; | 
				
			|||
 | 
				
			|||
import java.util.List; | 
				
			|||
import java.util.Map; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到二维码表 | 
				
			|||
 * | 
				
			|||
 * @author qu qu@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-02-24 | 
				
			|||
 */ | 
				
			|||
public interface ActSignInQrCodeService extends BaseService<ActSignInQrCodeEntity> { | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认分页 | 
				
			|||
     * | 
				
			|||
     * @param params | 
				
			|||
     * @return PageData<ActSignInQrCodeDTO> | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-02-24 | 
				
			|||
     */ | 
				
			|||
    PageData<ActSignInQrCodeDTO> page(Map<String, Object> params); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认查询 | 
				
			|||
     * | 
				
			|||
     * @param params | 
				
			|||
     * @return java.util.List<ActSignInQrCodeDTO> | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-02-24 | 
				
			|||
     */ | 
				
			|||
    List<ActSignInQrCodeDTO> list(Map<String, Object> params); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 单条查询 | 
				
			|||
     * | 
				
			|||
     * @param id | 
				
			|||
     * @return ActSignInQrCodeDTO | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-02-24 | 
				
			|||
     */ | 
				
			|||
    ActSignInQrCodeDTO get(String id); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认保存 | 
				
			|||
     * | 
				
			|||
     * @param dto | 
				
			|||
     * @return void | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-02-24 | 
				
			|||
     */ | 
				
			|||
    void save(ActSignInQrCodeDTO dto); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 默认更新 | 
				
			|||
     * | 
				
			|||
     * @param dto | 
				
			|||
     * @return void | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-02-24 | 
				
			|||
     */ | 
				
			|||
    void update(ActSignInQrCodeDTO dto); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 批量删除 | 
				
			|||
     * | 
				
			|||
     * @param ids | 
				
			|||
     * @return void | 
				
			|||
     * @author generator | 
				
			|||
     * @date 2021-02-24 | 
				
			|||
     */ | 
				
			|||
    void delete(String[] ids); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到码 | 
				
			|||
     * | 
				
			|||
     * @param actId | 
				
			|||
     * @return com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 14:52 | 
				
			|||
     */ | 
				
			|||
    ActSignInQrCodeResultDTO getActSignInQrCode(String actId); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 获取活动签到记录 | 
				
			|||
     * | 
				
			|||
     * @param formDto | 
				
			|||
     * @return java.util.List<com.elink.esua.epdc.activity.result.ActSignInRecordResultDTO> | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/2/24 15:27 | 
				
			|||
     */ | 
				
			|||
    ActSignInRecordsResultDTO listOfSignInRecords(ActSignInRecordFormDTO formDto); | 
				
			|||
} | 
				
			|||
@ -0,0 +1,177 @@ | 
				
			|||
/** | 
				
			|||
 * Copyright 2018 人人开源 https://www.renren.io
 | 
				
			|||
 * <p> | 
				
			|||
 * This program is free software: you can redistribute it and/or modify | 
				
			|||
 * it under the terms of the GNU General Public License as published by | 
				
			|||
 * the Free Software Foundation, either version 3 of the License, or | 
				
			|||
 * (at your option) any later version. | 
				
			|||
 * <p> | 
				
			|||
 * This program is distributed in the hope that it will be useful, | 
				
			|||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
 * GNU General Public License for more details. | 
				
			|||
 * <p> | 
				
			|||
 * You should have received a copy of the GNU General Public License | 
				
			|||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||
 */ | 
				
			|||
 | 
				
			|||
package com.elink.esua.epdc.modules.activity.service.impl; | 
				
			|||
 | 
				
			|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
				
			|||
import com.baomidou.mybatisplus.core.metadata.IPage; | 
				
			|||
import com.elink.esua.epdc.activity.ActInfoDTO; | 
				
			|||
import com.elink.esua.epdc.activity.ActSignInQrCodeDTO; | 
				
			|||
import com.elink.esua.epdc.activity.form.ActSignInRecordFormDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInQrCodeResultDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsDTO; | 
				
			|||
import com.elink.esua.epdc.activity.result.ActSignInRecordsResultDTO; | 
				
			|||
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; | 
				
			|||
import com.elink.esua.epdc.commons.tools.constant.StrConstant; | 
				
			|||
import com.elink.esua.epdc.commons.tools.exception.RenException; | 
				
			|||
import com.elink.esua.epdc.commons.tools.page.PageData; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; | 
				
			|||
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.QrCodeUtils; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.dto.UploadToOssDTO; | 
				
			|||
import com.elink.esua.epdc.modules.activity.dao.ActSignInQrCodeDao; | 
				
			|||
import com.elink.esua.epdc.modules.activity.entity.ActSignInQrCodeEntity; | 
				
			|||
import com.elink.esua.epdc.modules.activity.service.ActInfoService; | 
				
			|||
import com.elink.esua.epdc.modules.activity.service.ActSignInQrCodeService; | 
				
			|||
import com.elink.esua.epdc.modules.activity.service.ActUserPointsLogService; | 
				
			|||
import com.elink.esua.epdc.modules.feign.OssFeignClient; | 
				
			|||
import org.apache.commons.lang3.StringUtils; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.stereotype.Service; | 
				
			|||
import org.springframework.transaction.annotation.Transactional; | 
				
			|||
 | 
				
			|||
import java.util.Arrays; | 
				
			|||
import java.util.List; | 
				
			|||
import java.util.Map; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 活动签到二维码表 | 
				
			|||
 * | 
				
			|||
 * @author qu qu@elink-cn.com | 
				
			|||
 * @since v1.0.0 2021-02-24 | 
				
			|||
 */ | 
				
			|||
@Service | 
				
			|||
public class ActSignInQrCodeServiceImpl extends BaseServiceImpl<ActSignInQrCodeDao, ActSignInQrCodeEntity> implements ActSignInQrCodeService { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private OssFeignClient ossFeignClient; | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ActInfoService actInfoService; | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private ActUserPointsLogService actUserPointsLogService; | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public PageData<ActSignInQrCodeDTO> page(Map<String, Object> params) { | 
				
			|||
        IPage<ActSignInQrCodeEntity> page = baseDao.selectPage( | 
				
			|||
                getPage(params, FieldConstant.CREATED_TIME, false), | 
				
			|||
                getWrapper(params) | 
				
			|||
        ); | 
				
			|||
        return getPageData(page, ActSignInQrCodeDTO.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public List<ActSignInQrCodeDTO> list(Map<String, Object> params) { | 
				
			|||
        List<ActSignInQrCodeEntity> entityList = baseDao.selectList(getWrapper(params)); | 
				
			|||
 | 
				
			|||
        return ConvertUtils.sourceToTarget(entityList, ActSignInQrCodeDTO.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    private QueryWrapper<ActSignInQrCodeEntity> getWrapper(Map<String, Object> params){ | 
				
			|||
        String id = (String)params.get(FieldConstant.ID_HUMP); | 
				
			|||
 | 
				
			|||
        QueryWrapper<ActSignInQrCodeEntity> wrapper = new QueryWrapper<>(); | 
				
			|||
        wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); | 
				
			|||
 | 
				
			|||
        return wrapper; | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public ActSignInQrCodeDTO get(String id) { | 
				
			|||
        ActSignInQrCodeEntity entity = baseDao.selectById(id); | 
				
			|||
        return ConvertUtils.sourceToTarget(entity, ActSignInQrCodeDTO.class); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    @Transactional(rollbackFor = Exception.class) | 
				
			|||
    public void save(ActSignInQrCodeDTO dto) { | 
				
			|||
        ActSignInQrCodeEntity entity = ConvertUtils.sourceToTarget(dto, ActSignInQrCodeEntity.class); | 
				
			|||
        insert(entity); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    @Transactional(rollbackFor = Exception.class) | 
				
			|||
    public void update(ActSignInQrCodeDTO dto) { | 
				
			|||
        ActSignInQrCodeEntity entity = ConvertUtils.sourceToTarget(dto, ActSignInQrCodeEntity.class); | 
				
			|||
        updateById(entity); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    @Transactional(rollbackFor = Exception.class) | 
				
			|||
    public void delete(String[] ids) { | 
				
			|||
        // 逻辑删除(@TableLogic 注解)
 | 
				
			|||
        baseDao.deleteBatchIds(Arrays.asList(ids)); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public ActSignInQrCodeResultDTO getActSignInQrCode(String actId) { | 
				
			|||
        if (StringUtils.isEmpty(actId)) { | 
				
			|||
            throw new RenException("活动ID不能为空"); | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
        // 判断活动状态是否在打卡范围内
 | 
				
			|||
        ActInfoDTO actInfoDto = actInfoService.get(actId); | 
				
			|||
        if (!(System.currentTimeMillis() >= actInfoDto.getSigninStartTime().getTime() | 
				
			|||
                && System.currentTimeMillis() <= actInfoDto.getSigninEndTime().getTime())) { | 
				
			|||
            throw new RenException("当前活动不在打卡时间范围内,不能生成签到码"); | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
        // 保存签到码信息
 | 
				
			|||
        ActSignInQrCodeEntity entity = new ActSignInQrCodeEntity(); | 
				
			|||
        entity.setActId(actId); | 
				
			|||
        insert(entity); | 
				
			|||
 | 
				
			|||
        // 生成二维码
 | 
				
			|||
        String codeUrl = generateQRCode(entity.getId()); | 
				
			|||
        entity.setCodeUrl(codeUrl); | 
				
			|||
 | 
				
			|||
        // 更新二维码地址
 | 
				
			|||
        updateById(entity); | 
				
			|||
        ActSignInQrCodeResultDTO dto = new ActSignInQrCodeResultDTO(); | 
				
			|||
        dto.setCodeUrl(codeUrl); | 
				
			|||
 | 
				
			|||
        return dto; | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public ActSignInRecordsResultDTO listOfSignInRecords(ActSignInRecordFormDTO formDto) { | 
				
			|||
        return actUserPointsLogService.listOfSignInRecords(formDto); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 生成二维码并上传 OSS | 
				
			|||
     * | 
				
			|||
     * @param param 二维码参数 | 
				
			|||
     * @return java.lang.String | 
				
			|||
     * @author Liuchuang | 
				
			|||
     * @since 2021/1/19 13:30 | 
				
			|||
     */ | 
				
			|||
    private String generateQRCode(String param) { | 
				
			|||
        UploadToOssDTO dto = new UploadToOssDTO(); | 
				
			|||
        dto.setFileByte(QrCodeUtils.encodeByByte(param, "", false)); | 
				
			|||
        dto.setFileName(param.concat(StrConstant.DOT).concat(StrConstant.SUFFIX_IMG_PNG)); | 
				
			|||
 | 
				
			|||
        Result<String> ossResult = ossFeignClient.uploadFile(dto); | 
				
			|||
        if (null == ossResult || !ossResult.success() || null == ossResult.getData()) { | 
				
			|||
            throw new RenException("签到码上传失败,请稍后重试"); | 
				
			|||
        } | 
				
			|||
        return ossResult.getData(); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,41 @@ | 
				
			|||
package com.elink.esua.epdc.modules.feign; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.dto.UploadFormDTO; | 
				
			|||
import com.elink.esua.epdc.dto.UploadToOssDTO; | 
				
			|||
import com.elink.esua.epdc.feign.fallback.OssFeignClientFallback; | 
				
			|||
import org.springframework.cloud.openfeign.FeignClient; | 
				
			|||
import org.springframework.http.MediaType; | 
				
			|||
import org.springframework.web.bind.annotation.PostMapping; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 文件对象模块 | 
				
			|||
 * @Author LC | 
				
			|||
 * @Date 2019/9/8 18:24 | 
				
			|||
 */ | 
				
			|||
@FeignClient(name = ServiceConstant.EPDC_OSS_SERVER, fallback = OssFeignClientFallback.class) | 
				
			|||
public interface OssFeignClient { | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * 图片上传 | 
				
			|||
     * @Params: [base64] | 
				
			|||
     * @Return: com.elink.esua.epdc.commons.tools.utils.Result<java.lang.String> | 
				
			|||
     * @Author: liuchuang | 
				
			|||
     * @Date: 2019/9/11 17:17 | 
				
			|||
     */ | 
				
			|||
    @PostMapping(value = "oss/file/uploadBase64") | 
				
			|||
    Result<String> upload(UploadFormDTO formDTO); | 
				
			|||
 | 
				
			|||
    /** | 
				
			|||
     * | 
				
			|||
     * 图片上传 | 
				
			|||
     * | 
				
			|||
     * @params [file] | 
				
			|||
     * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UploadDTO> | 
				
			|||
     * @author liuchuang | 
				
			|||
     * @since 2019/11/25 16:13 | 
				
			|||
     */ | 
				
			|||
    @PostMapping(value = "oss/file/uploadFile", consumes = MediaType.APPLICATION_JSON_VALUE) | 
				
			|||
    Result<String> uploadFile(UploadToOssDTO uploadToOssDto); | 
				
			|||
} | 
				
			|||
@ -0,0 +1,28 @@ | 
				
			|||
package com.elink.esua.epdc.modules.feign.fallback; | 
				
			|||
 | 
				
			|||
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; | 
				
			|||
import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			|||
import com.elink.esua.epdc.dto.UploadFormDTO; | 
				
			|||
import com.elink.esua.epdc.dto.UploadToOssDTO; | 
				
			|||
import com.elink.esua.epdc.modules.feign.OssFeignClient; | 
				
			|||
import org.springframework.stereotype.Component; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * 文件对象模块 | 
				
			|||
 * @Author LC | 
				
			|||
 * @Date 2019/9/8 18:25 | 
				
			|||
 */ | 
				
			|||
@Component | 
				
			|||
public class OssFeignClientFallback implements OssFeignClient { | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public Result<String> upload(UploadFormDTO formDTO) { | 
				
			|||
        return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "upload", formDTO); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
    @Override | 
				
			|||
    public Result<String> uploadFile(UploadToOssDTO uploadToOssDto) { | 
				
			|||
        return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "uploadFile", uploadToOssDto); | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
@ -0,0 +1,19 @@ | 
				
			|||
<?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.elink.esua.epdc.modules.activity.dao.ActSignInQrCodeDao"> | 
				
			|||
 | 
				
			|||
    <resultMap type="com.elink.esua.epdc.modules.activity.entity.ActSignInQrCodeEntity" id="actSignInQrCodeMap"> | 
				
			|||
        <result property="id" column="ID"/> | 
				
			|||
        <result property="actId" column="ACT_ID"/> | 
				
			|||
        <result property="codeUrl" column="CODE_URL"/> | 
				
			|||
        <result property="delFlag" column="DEL_FLAG"/> | 
				
			|||
        <result property="revision" column="REVISION"/> | 
				
			|||
        <result property="createdBy" column="CREATED_BY"/> | 
				
			|||
        <result property="createdTime" column="CREATED_TIME"/> | 
				
			|||
        <result property="updatedBy" column="UPDATED_BY"/> | 
				
			|||
        <result property="updatedTime" column="UPDATED_TIME"/> | 
				
			|||
    </resultMap> | 
				
			|||
 | 
				
			|||
 | 
				
			|||
</mapper> | 
				
			|||
					Loading…
					
					
				
		Reference in new issue