liujunchi 2 lat temu
rodzic
commit
b01aee2c1c

+ 3 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/dto/StudentWrapper.java

@@ -32,6 +32,9 @@ public class StudentWrapper {
         private Integer gender;
 
         private Boolean tokenCheck;
+
+
+        private Integer lockFlag;
     }
 
     @Data

+ 1 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -933,7 +933,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
 
         // 1.查询酷乐秀学生账户
         HttpResponseResult<StudentWrapper.UnionStudentResp> unionStudent = adminFeignService.unionStudent(
-            StudentWrapper.UnionStudent.builder().tokenCheck(false).mobile(order.getMobile()).build());
+            StudentWrapper.UnionStudent.builder().tokenCheck(false).lockFlag(1).mobile(order.getMobile()).build());
 
         Long userId = unionStudent.getData().getUserId();
         UmsMember umsMember = memberService.getById(userId);

+ 10 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/OpenUserAccountController.java

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Objects;
 
 @RestController
 @RequestMapping("/open")
@@ -60,4 +61,13 @@ public class OpenUserAccountController extends BaseController {
         return succeed(musicSheetService.updateMusicImg(musicImgDto, musicImgDto.getMusicSheetId()));
     }
 
+    @ApiOperation(value = "曲目数据修复")
+    @PostMapping(value="/music/sheet/musicCorrect")
+    public HttpResponseResult<Boolean> musicCorrect(@RequestBody MusicImgDto musicImgDto) {
+        if (Objects.isNull(musicImgDto.getMusicSheetId())) {
+            failed("曲目Id参数错误");
+        }
+        return succeed(musicSheetService.updateMusicCorrect(musicImgDto, musicImgDto.getMusicSheetId()));
+    }
+
 }

+ 22 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicSheetSearch.java

@@ -88,6 +88,12 @@ public class MusicSheetSearch  extends QueryInfo{
     @ApiModelProperty("数据恢复")
     private String dataRecovery;
 
+    @ApiModelProperty("是否可以转简谱(0:否,1:是)")
+    private YesOrNoEnum notation;
+
+    @ApiModelProperty("数据修复标识")
+    private Boolean DataCorrect;
+
     public MusicSortType getMusicSortType() {
         return musicSortType;
     }
@@ -259,4 +265,20 @@ public class MusicSheetSearch  extends QueryInfo{
     public void setDataRecovery(String dataRecovery) {
         this.dataRecovery = dataRecovery;
     }
+
+    public YesOrNoEnum getNotation() {
+        return notation;
+    }
+
+    public void setNotation(YesOrNoEnum notation) {
+        this.notation = notation;
+    }
+
+    public Boolean getDataCorrect() {
+        return Optional.ofNullable(DataCorrect).filter(x -> x).orElse(null);
+    }
+
+    public void setDataCorrect(Boolean dataCorrect) {
+        DataCorrect = dataCorrect;
+    }
 }

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -246,6 +246,10 @@ public class MusicSheet implements Serializable {
 	@ApiModelProperty(value = "假删除标识 0:未删除 1:已删除")
 	private Boolean delFlag;
 
+	@TableField("correct_time_")
+	@ApiModelProperty(value = "数据修复时间")
+	private Date correctTime;
+
 	public Integer getVirtualNumber() {
 		return virtualNumber;
 	}
@@ -694,4 +698,12 @@ public class MusicSheet implements Serializable {
 		this.fixedTone = fixedTone;
 		return this;
 	}
+
+	public Date getCorrectTime() {
+		return correctTime;
+	}
+
+	public void setCorrectTime(Date correctTime) {
+		this.correctTime = correctTime;
+	}
 }

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -336,6 +336,14 @@ public interface MusicSheetService extends IService<MusicSheet> {
     Boolean updateMusicImg(MusicImgDto musicImgDto, Long musicSheetId);
 
     /**
+     * 曲目修复
+     * @param musicImgDto MusicImgDto
+     * @param musicSheetId 曲目Id
+     * @return Boolean
+     */
+    Boolean updateMusicCorrect(MusicImgDto musicImgDto, Long musicSheetId);
+
+    /**
      *
      * @param authMusicSheetId 曲目审核id
      */

+ 27 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -103,6 +103,7 @@ import com.yonge.toolset.utils.easyexcel.ErrMsg;
 import com.yonge.toolset.utils.easyexcel.ExcelDataReaderProperty;
 import com.yonge.toolset.utils.easyexcel.ExcelException;
 import org.apache.commons.collections.CollectionUtils;
+import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -694,11 +695,15 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         boolean flag;
         Long originalMusicSheetId = musicSheetAuthRecordService.audit(param, userId);
         musicSheet.setAuditStatus(param.getAuthStatus());
-        if (param.getAuthStatus().equals(AuthStatusEnum.PASS) && StringUtil.isEmpty(param.getMusicImg())) {
+        // 生成图片统一使用开放接口,去掉当前校验规则
+        /*if (param.getAuthStatus().equals(AuthStatusEnum.PASS) && StringUtil.isEmpty(param.getMusicImg())) {
             throw new BizException("曲目渲染失败");
-        } else if (param.getAuthStatus().equals(AuthStatusEnum.PASS) && !StringUtil.isEmpty(param.getMusicImg())) {
+        } else*/
+
+        if (param.getAuthStatus().equals(AuthStatusEnum.PASS) && !StringUtil.isEmpty(param.getMusicImg())) {
             musicSheet.setMusicImg(param.getMusicImg());
         }
+
         musicSheet.setUpdateBy(userId);
         musicSheet.setUpdateTime(new Date());
         if (AuthStatusEnum.PASS.getCode().equals(param.getAuthStatus().getCode())) {
@@ -1554,7 +1559,26 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         return true;
     }
 
-	private SysUser getSysUser(Long userId) {
+    /**
+     * 曲目修复
+     *
+     * @param musicImgDto  MusicImgDto
+     * @param musicSheetId 曲目Id
+     * @return Boolean
+     */
+    @Override
+    public Boolean updateMusicCorrect(MusicImgDto musicImgDto, Long musicSheetId) {
+
+        MusicSheet musicSheet = new MusicSheet();
+        musicSheet.setCorrectTime(DateTime.now().toDate());
+        musicSheet.setFixedTone(musicImgDto.getFixedTone());
+        musicSheet.setId(musicSheetId);
+        this.updateById(musicSheet);
+
+        return true;
+    }
+
+    private SysUser getSysUser(Long userId) {
         return Optional.ofNullable(userId)
                 .map(sysUserFeignService::queryUserById)
                 .orElseThrow(() -> new BizException("用户不存在"));

+ 10 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -31,6 +31,7 @@ import com.yonge.cooleshow.common.enums.UserLockFlag;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.string.ValueUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RMap;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.BeanUtils;
@@ -46,6 +47,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
@@ -250,9 +252,11 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 // 自动注册创建用户
                 com.yonge.cooleshow.biz.dal.entity.SysUser user = new com.yonge.cooleshow.biz.dal.entity.SysUser();
                 user.setUsername(info.getUsername());
+                user.setAvatar("https://daya.ks3-cn-beijing.ksyun.com/202203/T1WgJaE.png");
                 user.setPhone(info.getMobile());
                 user.setLockFlag(0);
                 user.setGender(info.getGender());
+                user.setUserType(ClientEnum.STUDENT.getCode());
                 sysUserMapper.insert(user);
 
                 studentResp.setSysUser(user);
@@ -270,6 +274,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 student.setUserId(user.getId());
                 student.setSubjectId(subjectId);
                 student.setUnionId(info.getUnionId());
+                student.setLockFlag(UserLockFlag.codeOf(Optional.ofNullable(info.getLockFlag()).orElse(0)));
                 save(student);
 
                 // 更新标识
@@ -278,7 +283,10 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
 
                 com.yonge.cooleshow.biz.dal.entity.SysUser updateEntity = new com.yonge.cooleshow.biz.dal.entity.SysUser();
                 updateEntity.setId(sysUser.getId());
-                updateEntity.setDelFlag(0); // 激活帐号
+                updateEntity.setDelFlag(Optional.ofNullable(info.getLockFlag()).orElse(0)); // 激活帐号
+                if (StringUtils.isBlank(sysUser.getUsername())) {
+                    updateEntity.setUsername(info.getUsername());
+                }
                 // 激活帐号
                 sysUserMapper.updateById(updateEntity);
 
@@ -321,6 +329,7 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
                 lambdaUpdate()
                         .eq(Student::getUserId, student.getUserId())
                         .set(Student::getUnionId, info.getUnionId())
+                        .set(Student::getLockFlag, UserLockFlag.codeOf(Optional.ofNullable(info.getLockFlag()).orElse(0)))
                         .update();
             } else {
                 studentResp.setUnionId(student.getUnionId());

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/StudentWrapper.java

@@ -43,6 +43,9 @@ public class StudentWrapper {
 
         @ApiModelProperty("是否校验token")
         private Boolean tokenCheck;
+
+        @ApiModelProperty("0-正常,1-锁定")
+        private Integer lockFlag;
     }
 
     @Data

+ 6 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -108,6 +108,12 @@
             <if test="param.dataRecovery != null">
                 AND (t.music_svg_ = '' OR t.music_svg_ IS NULL OR t.music_first_svg_ = '' OR t.music_first_svg_ IS NULL OR t.music_jian_svg_ = '' OR t.music_jian_svg_ IS NULL)
             </if>
+            <if test="param.notation">
+                AND t.notation_ = #{param.notation}
+            </if>
+            <if test="param.DataCorrect != null">
+                AND t.correct_time_ IS NULL
+            </if>
         </where>
         order by
         <if test="param.myself == null or param.myself == false ">

+ 2 - 1
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenMusicSheetController.java

@@ -154,7 +154,8 @@ public class OpenMusicSheetController extends BaseController {
 
     @ApiOperation(value = "新增曲谱渲染图")
     @PostMapping(value="/img")
-    public HttpResponseResult<Boolean> img(@RequestBody @Valid MusicImgDto musicImgDto) {
+    public HttpResponseResult<Boolean>
+    img(@RequestBody @Valid MusicImgDto musicImgDto) {
         return succeed(musicSheetService.updateMusicImg(musicImgDto, musicImgDto.getMusicSheetId()));
     }