Przeglądaj źródła

Merge branch 'dev_v1.3.4_20220919'

Eric 2 lat temu
rodzic
commit
2e3cfa3fbf

+ 24 - 16
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -1,14 +1,26 @@
 package com.yonge.cooleshow.auth.service.impl;
 
-import java.util.List;
-
 import com.yonge.cooleshow.api.feign.AdminFeignService;
-import com.yonge.cooleshow.auth.api.dto.*;
+import com.yonge.cooleshow.auth.api.dto.QRLoginDto;
+import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
+import com.yonge.cooleshow.auth.api.dto.SysUserInfo;
+import com.yonge.cooleshow.auth.api.dto.SysUserQueryInfo;
+import com.yonge.cooleshow.auth.api.dto.UserSetReq;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.auth.api.vo.UserSetVo;
 import com.yonge.cooleshow.auth.config.RongCloudConfig;
+import com.yonge.cooleshow.auth.dal.dao.SysUserDao;
+import com.yonge.cooleshow.auth.service.SysConfigService;
+import com.yonge.cooleshow.auth.service.SysRoleMenuService;
+import com.yonge.cooleshow.auth.service.SysUserRoleService;
+import com.yonge.cooleshow.auth.service.SysUserService;
+import com.yonge.cooleshow.common.constant.SysConfigConstant;
+import com.yonge.cooleshow.common.entity.ImUserModel;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
 import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
-import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.mybatis.dal.BaseDAO;
 import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
 import io.rong.models.user.UserModel;
 import org.apache.commons.lang3.StringUtils;
@@ -16,21 +28,10 @@ import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.auth.api.vo.UserSetVo;
-import com.yonge.cooleshow.auth.dal.dao.SysUserDao;
-import com.yonge.cooleshow.auth.service.SysConfigService;
-import com.yonge.cooleshow.auth.service.SysRoleMenuService;
-import com.yonge.cooleshow.auth.service.SysUserRoleService;
-import com.yonge.cooleshow.auth.service.SysUserService;
-import com.yonge.cooleshow.common.constant.SysConfigConstant;
-import com.yonge.toolset.mybatis.dal.BaseDAO;
-import com.yonge.cooleshow.common.entity.ImUserModel;
-import com.yonge.toolset.base.exception.BizException;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Service
 public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implements SysUserService {
@@ -160,6 +161,10 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         //用户默认昵称
         sysUser.setUsername("游客" + sysUser.getId());
         sysUserDao.update(sysUser);
+
+        // 自动添加系统默认IM帐号为好友,并自动发送通知消息
+
+
         return queryUserInfoByPhone(phone);
     }
 
@@ -176,6 +181,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         //用户默认昵称
         sysUser.setUsername("游客" + sysUser.getId());
         sysUserDao.update(sysUser);
+
+        // 自动添加系统默认IM帐号为好友,并自动发送通知消息
+
         return queryUserInfoByPhone(phone);
     }
 

+ 66 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/im/ImUserFriendController.java

@@ -0,0 +1,66 @@
+package com.yonge.cooleshow.admin.controller.im;
+
+
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.google.common.collect.Lists;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 用户通讯录表(ImUserFriend)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+@Api(tags = "用户通讯录表")
+@RestController
+@RequestMapping("/imUserFriend")
+public class ImUserFriendController extends BaseController {
+
+    // 新用户注册,默认添加官方客服联系人配置
+    @Value("${app.customer.service:17740683946}")
+    private String customerService;
+
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImUserFriendService imUserFriendService;
+    @Resource
+    private SysUserFeignService sysUserFeignService;
+
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "search", dataType = "String", value = "根据用户编号、昵称模糊查询")
+    })
+    @ApiOperation("新用户添加客服")
+    @PostMapping(value = "/customerService")
+    public HttpResponseResult<Boolean> customerService(@RequestBody Map<String,Object> params) {
+
+        // 客服联系方式
+        List<String> mobiles = Lists.newArrayList(customerService.split(","));
+
+        return succeed(true);
+    }
+}
+

+ 45 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/req/TeacherMusicSheetAuditReq.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.dto.req;
 
 
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -32,6 +33,18 @@ public class TeacherMusicSheetAuditReq {
     @NotBlank(message = "审核理由不能为空 ")
     private String remark;
 
+    @ApiModelProperty("是否可以转简谱(0:否,1:是)")
+    private YesOrNoEnum notation;
+
+    @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
+    private YesOrNoEnum canEvaluate;  //是否可以评测(0:否;1:是)
+
+    @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
+    private YesOrNoEnum showFingering;  //是否展示指法(0:否;1:是)
+
+    @ApiModelProperty(value = "是否自带节拍器(0:否;1:是)")
+    private YesOrNoEnum hasBeat;  //是否自带节拍器(0:否;1:是)
+
     public String getMusicImg() {
         return musicImg;
     }
@@ -63,4 +76,36 @@ public class TeacherMusicSheetAuditReq {
     public void setRemark(String remark) {
         this.remark = remark;
     }
+
+    public YesOrNoEnum getNotation() {
+        return notation;
+    }
+
+    public void setNotation(YesOrNoEnum notation) {
+        this.notation = notation;
+    }
+
+    public YesOrNoEnum getCanEvaluate() {
+        return canEvaluate;
+    }
+
+    public void setCanEvaluate(YesOrNoEnum canEvaluate) {
+        this.canEvaluate = canEvaluate;
+    }
+
+    public YesOrNoEnum getShowFingering() {
+        return showFingering;
+    }
+
+    public void setShowFingering(YesOrNoEnum showFingering) {
+        this.showFingering = showFingering;
+    }
+
+    public YesOrNoEnum getHasBeat() {
+        return hasBeat;
+    }
+
+    public void setHasBeat(YesOrNoEnum hasBeat) {
+        this.hasBeat = hasBeat;
+    }
 }

+ 40 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.Objects;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -20,6 +21,7 @@ import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * 曲谱表
@@ -104,11 +106,16 @@ public class MusicSheet implements Serializable {
     @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
     private YesOrNoEnum showFingering;  //是否展示指法(0:否;1:是)
 
-    @NotNull(message = "收费类型不能为空!")
+    // @NotNull(message = "收费类型不能为空!")
     @TableField("charge_type_")
     @ApiModelProperty(value = "收费类型(FREE:免费;VIP:会员;CHARGE:单曲收费)")
     private ChargeTypeEnum chargeType;  //收费类型(0:免费;1:会员;2:单曲收费)
 
+	@NotNull(message = "收费类型不能为空!")
+	@TableField("payment_type_")
+	@ApiModelProperty(value = "收费类型(FREE:免费;VIP:会员;CHARGE:单曲收费)")
+	private String paymentType;
+
 
 	@TableField("state_")
 	@ApiModelProperty(value = "曲目状态(0:停用,1:启用)")
@@ -361,6 +368,10 @@ public class MusicSheet implements Serializable {
 	}
 
 	public ChargeTypeEnum getChargeType() {
+		if (Objects.isNull(this.chargeType) && StringUtils.isNotEmpty(getPaymentType())) {
+
+			return ChargeTypeEnum.valueOf(getPaymentType().split(",")[0]);
+		}
 		return chargeType;
 	}
 
@@ -527,4 +538,32 @@ public class MusicSheet implements Serializable {
 	public void setAuditVersion(YesOrNoEnum auditVersion) {
 		this.auditVersion = auditVersion;
 	}
+
+	public String getPaymentType() {
+		return paymentType;
+	}
+
+	public void setPaymentType(String paymentType) {
+		this.paymentType = paymentType;
+	}
+
+	public MusicSheet notation(YesOrNoEnum notation) {
+		this.notation = notation;
+		return this;
+	}
+
+	public MusicSheet canEvaluate(YesOrNoEnum canEvaluate) {
+		this.canEvaluate = canEvaluate;
+		return this;
+	}
+
+	public MusicSheet showFingering(YesOrNoEnum showFingering) {
+		this.showFingering = showFingering;
+		return this;
+	}
+
+	public MusicSheet hasBeat(YesOrNoEnum hasBeat) {
+		this.hasBeat = hasBeat;
+		return this;
+	}
 }

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

@@ -429,7 +429,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         musicSheet.setUpdateBy(userId);
         musicSheet.setUpdateTime(new Date());
         if (AuthStatusEnum.PASS.getCode().equals(param.getAuthStatus().getCode())) {
-            musicSheet.setState(YesOrNoEnum.YES);
+
+            // 更新曲谱评测,指法、简谱、节拍器状态
+            musicSheet
+                    .notation(param.getNotation())
+                    .canEvaluate(param.getCanEvaluate())
+                    .showFingering(param.getShowFingering())
+                    .hasBeat(param.getHasBeat())
+                    .setState(YesOrNoEnum.YES);
             // 替换曲目id
             replaceMusicSheet(param, musicSheet, originalMusicSheetId);
 

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

@@ -46,6 +46,7 @@
         t.can_evaluate_ as canEvaluate,
         t.show_fingering_ as showFingering,
         t.charge_type_ as chargeType,
+        t.payment_type_ as paymentType,
         t.state_ as state,
         t.audit_status_ as auditStatus,
         t.sort_number_ as sortNumber,