diff --git a/nakadai/src/main/java/com/huoran/nakadai/controller/PlatformTeamAccountController.java b/nakadai/src/main/java/com/huoran/nakadai/controller/PlatformTeamAccountController.java index be0d108..10707a7 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/controller/PlatformTeamAccountController.java +++ b/nakadai/src/main/java/com/huoran/nakadai/controller/PlatformTeamAccountController.java @@ -6,12 +6,16 @@ import com.huoran.common.exception.CustomException; import com.huoran.common.exception.ExceptionEnum; import com.huoran.common.response.R; import com.huoran.common.utils.TokenUtils; -import com.huoran.nakadai.entity.*; +import com.huoran.nakadai.entity.PlatformTeam; +import com.huoran.nakadai.entity.PlatformTeamClassification; import com.huoran.nakadai.entity.req.*; import com.huoran.nakadai.entity.res.PartnerAccountResp; import com.huoran.nakadai.entity.res.PlatformTeamAccountResp; -import com.huoran.nakadai.entity.vo.TeamMemberVo; -import com.huoran.nakadai.service.*; +import com.huoran.nakadai.entity.vo.TeamClassificationVO; +import com.huoran.nakadai.service.PlatformTeamAccountService; +import com.huoran.nakadai.service.PlatformTeamClassificationService; +import com.huoran.nakadai.service.PlatformTeamService; +import com.huoran.nakadai.service.SupplierClassificationConfigService; import com.huoran.nakadai.utils.GenerateCodeUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -25,6 +29,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; @@ -51,34 +56,33 @@ public class PlatformTeamAccountController { @Autowired public PlatformTeamClassificationService platformTeamClassificationService; + @Autowired + public SupplierClassificationConfigService supplierClassificationConfigService; + @Autowired private RedisTemplate redisTemplate; @PostMapping("/generateInvitationCode") @ApiOperation(value = "生成不同平台专属邀请码") - public R generateInvitationCode( - @ApiParam(name = "platformId", value = "平台id", required = true) - @RequestParam("platformId") String platformId,HttpServletRequest request) { + public R generateInvitationCode(@ApiParam(name = "platformId", value = "平台id", required = true) @RequestParam("platformId") String platformId, HttpServletRequest request) { //平台唯一标识码 - String uniqueIdentification = platformId+TokenUtils.getIdByJwtToken(request)+"kindergartenInvitationCode"; + String uniqueIdentification = platformId + TokenUtils.getIdByJwtToken(request) + "kindergartenInvitationCode"; //存在直接返回邀请码 String code = redisTemplate.opsForValue().get(uniqueIdentification); - if (StringUtils.isEmpty(code)){ + if (StringUtils.isEmpty(code)) { code = GenerateCodeUtil.generateCode(); - redisTemplate.opsForValue().set(uniqueIdentification,code,7, TimeUnit.DAYS); + redisTemplate.opsForValue().set(uniqueIdentification, code, 7, TimeUnit.DAYS); } //过期时间 Long expireTime = redisTemplate.opsForValue().getOperations().getExpire(uniqueIdentification); - return Objects.requireNonNull(R.ok().put("invitationCode", code)).put("expireTime",expireTime); + return Objects.requireNonNull(R.ok().put("invitationCode", code)).put("expireTime", expireTime); } @ApiOperation(value = "平台邀请二维码生成") - @GetMapping(value = "/generationQrCode",produces = "image/png") - public void generationQrCode( - @ApiParam(name = "url", value = "链接", required = true) - @RequestParam String url, HttpServletResponse response){ - platformTeamAccountService.generationQrCode(url,response); + @GetMapping(value = "/generationQrCode", produces = "image/png") + public void generationQrCode(@ApiParam(name = "url", value = "链接", required = true) @RequestParam String url, HttpServletResponse response) { + platformTeamAccountService.generationQrCode(url, response); } @@ -145,11 +149,7 @@ public class PlatformTeamAccountController { @GetMapping("/removeOrganization") @ApiOperation(value = "移除组织") - public R removeOrganization( - @ApiParam(name = "teamId", value = "团队id") - @RequestParam Integer teamId, - @ApiParam(name = "manageId", value = "组织id") - @RequestParam Integer manageId) { + public R removeOrganization(@ApiParam(name = "teamId", value = "团队id") @RequestParam Integer teamId, @ApiParam(name = "manageId", value = "组织id") @RequestParam Integer manageId) { PlatformTeamClassification teamClassification = platformTeamClassificationService.getById(teamId); if (teamClassification.getIsTeam() == 1) { throw new CustomException(ExceptionEnum.PARTNER_REMOVAL); @@ -158,46 +158,40 @@ public class PlatformTeamAccountController { platformTeamClassificationService.removeById(teamId); //TODO 删除该团队相关角色信息 platformTeamAccountService.removeById(manageId); - boolean remove = platformTeamService.remove(new QueryWrapper(). - eq("manage_id", manageId). - eq("classification_id", teamId)); + boolean remove = platformTeamService.remove(new QueryWrapper().eq("manage_id", manageId).eq("classification_id", teamId)); return remove ? R.ok() : R.error(); } @ApiOperation(value = "后台更新团队状态,禁用无法查询到该组织") @PostMapping("/updateTeamStatus") - public R updateTeamStatus( - @RequestParam("teamId") @ApiParam(value = "团队id") Integer teamId, - @RequestParam("isEnable") @ApiParam(value = "是否禁用(1->禁用,0->启用)") Integer isEnable) { + public R updateTeamStatus(@RequestParam("teamId") @ApiParam(value = "团队id") Integer teamId, @RequestParam("isEnable") @ApiParam(value = "是否禁用(1->禁用,0->启用)") Integer isEnable) { PlatformTeamClassification platformTeamClassification = new PlatformTeamClassification(); platformTeamClassification.setId(teamId); platformTeamClassification.setIsEnable(isEnable); boolean update = platformTeamClassificationService.updateById(platformTeamClassification); - return update? R.ok() : R.error(); + return update ? R.ok() : R.error(); } //================================以下接口为小程序调用=================================== @ApiOperation(value = "幼教产品微信小程序回调登录") @PostMapping("/weChatAppletCallbackByKindergarten") public R weChatAppletCallbackByKindergarten(@RequestBody @Valid AppletCallbackReq appletCallbackReq, HttpServletResponse response) throws Exception { - Map result = platformTeamAccountService.kindergartenWeChatAccountApplication(appletCallbackReq); - return R.ok().put("data",result); + Map result = platformTeamAccountService.kindergartenWeChatAccountApplication(appletCallbackReq); + return R.ok().put("data", result); } @ApiOperation(value = "幼教产品微信小程序账号注册(根据openid)") @PostMapping("/kindergartenWeChatApplication") - public R kindergartenWeChatApplication(@RequestBody @Valid AppletCallbackReq appletCallbackReq) { + public R kindergartenWeChatApplication(@RequestBody @Valid AppletCallbackReq appletCallbackReq) { return platformTeamAccountService.kindergartenWeChatApplication(appletCallbackReq); } @ApiOperation(value = "获取当前平台用户的团队信息", response = PartnerAccountResp.class) @GetMapping("/getTeamsByPlatformId") - public R getTeamsByPlatformId( - @ApiParam(name = "platformId", value = "平台id") - @RequestParam Integer platformId,HttpServletRequest request) { + public R getTeamsByPlatformId(@ApiParam(name = "platformId", value = "平台id") @RequestParam Integer platformId, HttpServletRequest request) { String accountId = TokenUtils.getIdByJwtToken(request); - return platformTeamAccountService.getTeamsByPlatformId(accountId,platformId); + return platformTeamAccountService.getTeamsByPlatformId(accountId, platformId); } @PostMapping("/platformTeamAccountList") @@ -210,18 +204,36 @@ public class PlatformTeamAccountController { @PostMapping("/updateTeamInfo") public R updateTeamInfo(@RequestBody TeamInfo teamInfo) { PlatformTeamClassification platformTeamClassification = new PlatformTeamClassification(); - BeanUtils.copyProperties(teamInfo,platformTeamClassification); + BeanUtils.copyProperties(teamInfo, platformTeamClassification); + // 供应商角色下编辑分类 + // 查询供应商的分类信息(只有当前团队为供应商才有supplierClassification数据) + + Integer accountId = platformTeamService.getAccountIdByTeamId(teamInfo.getId()); + + //删除原有分类重新新增分类配置信息 + supplierClassificationConfigService.deleteByAccountId(accountId); + //设置分类配置信息中的accountId + teamInfo.getSupplierClassificationConfigs().forEach(config -> config.setAccountId(accountId)); + + //新增分类配置信息 + supplierClassificationConfigService.saveBatch(teamInfo.getSupplierClassificationConfigs()); + + + boolean update = platformTeamClassificationService.updateById(platformTeamClassification); - return update? R.ok() : R.error(); + return update ?R.ok():R.error(); } + + + @ApiOperation(value = "查询团队信息") @GetMapping("/queryTeamInfo") - public R queryTeamInfo( - @ApiParam(value = "团队id") - @RequestParam("teamId") Integer teamId) { + public R queryTeamInfo(@ApiParam(value = "团队id") @RequestParam("teamId") Integer teamId) { PlatformTeamClassification teamInfo = platformTeamClassificationService.getById(teamId); - return R.ok().put("teamInfo",teamInfo); + //查询供应商的分类信息(只有当前团队为供应商才有supplierClassification数据) + List supplierClassification = platformTeamService.getTeamClassificationVOByTeamId(teamId); + return R.ok().put("teamInfo", teamInfo).put("supplierClassification", supplierClassification); } @PostMapping("/inviteJoinOrganization") diff --git a/nakadai/src/main/java/com/huoran/nakadai/entity/EnterpriseCertification.java b/nakadai/src/main/java/com/huoran/nakadai/entity/EnterpriseCertification.java index b1731c3..96a5b97 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/entity/EnterpriseCertification.java +++ b/nakadai/src/main/java/com/huoran/nakadai/entity/EnterpriseCertification.java @@ -129,4 +129,13 @@ public class EnterpriseCertification implements Serializable { @ApiModelProperty(value = "微信唯一标识") private String openId; + + + @ApiModelProperty(value = "供应商分类id") + @TableField(exist = false) + private Integer supplierClassificationId; + + @ApiModelProperty(value = "供应商分类名称") + @TableField(exist = false) + private String supplierClassificationName; } diff --git a/nakadai/src/main/java/com/huoran/nakadai/entity/req/EnterpriseCertificationLIstReq.java b/nakadai/src/main/java/com/huoran/nakadai/entity/req/EnterpriseCertificationLIstReq.java index 47b5eab..f4c6aad 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/entity/req/EnterpriseCertificationLIstReq.java +++ b/nakadai/src/main/java/com/huoran/nakadai/entity/req/EnterpriseCertificationLIstReq.java @@ -47,6 +47,12 @@ public class EnterpriseCertificationLIstReq { @ApiModelProperty(value = "市") private String city; + @ApiModelProperty(value = "供应商分类id") + private Integer supplierClassificationId; + + /*@ApiModelProperty(value = "供应商分类名称") + private String supplierClassificationName;*/ + @ApiModelProperty(value = "当前页数", name = "pageNum", example = "1", required = true) private Integer pageNum; @ApiModelProperty(value = "当前页需要显示的数量", name = "pageSize", example = "10", required = true) diff --git a/nakadai/src/main/java/com/huoran/nakadai/entity/req/TeamInfo.java b/nakadai/src/main/java/com/huoran/nakadai/entity/req/TeamInfo.java index 60bb646..6f16136 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/entity/req/TeamInfo.java +++ b/nakadai/src/main/java/com/huoran/nakadai/entity/req/TeamInfo.java @@ -1,10 +1,11 @@ package com.huoran.nakadai.entity.req; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; +import com.huoran.nakadai.entity.SupplierClassificationConfig; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data public class TeamInfo { @@ -55,4 +56,7 @@ public class TeamInfo { @ApiModelProperty(value = "phone") private String phone; + + @ApiModelProperty(value = "供应商分类配置") + private List supplierClassificationConfigs; } diff --git a/nakadai/src/main/java/com/huoran/nakadai/entity/vo/TeamClassificationVO.java b/nakadai/src/main/java/com/huoran/nakadai/entity/vo/TeamClassificationVO.java new file mode 100644 index 0000000..8c2054f --- /dev/null +++ b/nakadai/src/main/java/com/huoran/nakadai/entity/vo/TeamClassificationVO.java @@ -0,0 +1,35 @@ +package com.huoran.nakadai.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 幼教产业团队账号与分类中间表 + *

+ * + * @author chen + * @since 2023-12-12 + */ +@Data +public class TeamClassificationVO { + + + @ApiModelProperty(value = "团队id") + private Integer teamId; + + @ApiModelProperty(value = "账户id") + private Integer accountId; + + @ApiModelProperty(value = "供应商分类id") + private Integer supplierClassificationId; + + @ApiModelProperty(value = "供应商分类名称") + private String supplierClassificationName; + + @ApiModelProperty(value = "供应商分类配置id") + private Integer classificationConfigId; + + + +} diff --git a/nakadai/src/main/java/com/huoran/nakadai/mapper/PlatformTeamMapper.java b/nakadai/src/main/java/com/huoran/nakadai/mapper/PlatformTeamMapper.java index 6945dc6..59be365 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/mapper/PlatformTeamMapper.java +++ b/nakadai/src/main/java/com/huoran/nakadai/mapper/PlatformTeamMapper.java @@ -2,7 +2,11 @@ package com.huoran.nakadai.mapper; import com.huoran.nakadai.entity.PlatformTeam; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huoran.nakadai.entity.vo.TeamClassificationVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -14,5 +18,8 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface PlatformTeamMapper extends BaseMapper { + List getTeamClassificationVOByTeamId(@Param("teamId") Integer teamId); + + Integer getAccountIdByTeamId(@Param("teamId") Integer teamId); } diff --git a/nakadai/src/main/java/com/huoran/nakadai/mapper/SupplierClassificationConfigMapper.java b/nakadai/src/main/java/com/huoran/nakadai/mapper/SupplierClassificationConfigMapper.java index 8265739..ced6384 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/mapper/SupplierClassificationConfigMapper.java +++ b/nakadai/src/main/java/com/huoran/nakadai/mapper/SupplierClassificationConfigMapper.java @@ -2,6 +2,7 @@ package com.huoran.nakadai.mapper; import com.huoran.nakadai.entity.SupplierClassificationConfig; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; /** *

@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface SupplierClassificationConfigMapper extends BaseMapper { + boolean deleteByAccountId(@Param("accountId") Integer accountId); } diff --git a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/EnterpriseCertificationMapper.xml b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/EnterpriseCertificationMapper.xml index c217aed..84000cd 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/EnterpriseCertificationMapper.xml +++ b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/EnterpriseCertificationMapper.xml @@ -46,7 +46,9 @@ cla.id AS teamId, logo_url, brief_introduction, - cla.create_time as organizationCreationTime + cla.create_time AS organizationCreationTime, + cc.classification_id as supplierClassificationId, + sc.classification_name as supplierClassificationName FROM hr_enterprise_certification c INNER JOIN hr_user_account a ON a.id = c.account_id @@ -55,6 +57,8 @@ LEFT JOIN k_platform_team_account ta ON ta.account_id = a.id LEFT JOIN k_platform_team t ON ta.manage_id = t.manage_id LEFT JOIN k_platform_team_classification cla ON cla.id = t.classification_id + LEFT JOIN supplier_classification_config cc ON cc.account_id = c.account_id + LEFT JOIN supplier_classification sc ON sc.id = cc.classification_id AND is_team = 1 AND cla.is_del = 0 WHERE @@ -62,7 +66,11 @@ AND u.is_del = 0 ) t WHERE - t.platform_source = #{req.platformSource} + t.platform_source = #{req.platformSource} + + + and t.supplierClassificationId =#{req.supplierClassificationId} + diff --git a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamMapper.xml b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamMapper.xml index 57e926f..679e153 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamMapper.xml +++ b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamMapper.xml @@ -2,4 +2,32 @@ + + diff --git a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/SupplierClassificationConfigMapper.xml b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/SupplierClassificationConfigMapper.xml index 360d81a..889fa73 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/SupplierClassificationConfigMapper.xml +++ b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/SupplierClassificationConfigMapper.xml @@ -2,4 +2,7 @@ + + DELETE from supplier_classification_config WHERE account_id = #{accountId} + diff --git a/nakadai/src/main/java/com/huoran/nakadai/service/PlatformTeamService.java b/nakadai/src/main/java/com/huoran/nakadai/service/PlatformTeamService.java index 239d37b..1ad009a 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/service/PlatformTeamService.java +++ b/nakadai/src/main/java/com/huoran/nakadai/service/PlatformTeamService.java @@ -1,7 +1,10 @@ package com.huoran.nakadai.service; -import com.huoran.nakadai.entity.PlatformTeam; import com.baomidou.mybatisplus.extension.service.IService; +import com.huoran.nakadai.entity.PlatformTeam; +import com.huoran.nakadai.entity.vo.TeamClassificationVO; + +import java.util.List; /** *

@@ -12,5 +15,8 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2023-12-12 */ public interface PlatformTeamService extends IService { + List getTeamClassificationVOByTeamId(Integer teamId); + //根据团队id获取团队负责人账号id + Integer getAccountIdByTeamId(Integer teamId); } diff --git a/nakadai/src/main/java/com/huoran/nakadai/service/SupplierClassificationConfigService.java b/nakadai/src/main/java/com/huoran/nakadai/service/SupplierClassificationConfigService.java index 0ad5603..5e3e895 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/service/SupplierClassificationConfigService.java +++ b/nakadai/src/main/java/com/huoran/nakadai/service/SupplierClassificationConfigService.java @@ -12,5 +12,6 @@ import com.baomidou.mybatisplus.extension.service.IService; * @since 2023-12-27 */ public interface SupplierClassificationConfigService extends IService { - + //删除用户的供应商配置信息 + boolean deleteByAccountId(Integer accountId); } diff --git a/nakadai/src/main/java/com/huoran/nakadai/service/impl/PlatformTeamServiceImpl.java b/nakadai/src/main/java/com/huoran/nakadai/service/impl/PlatformTeamServiceImpl.java index f61de8a..a010415 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/service/impl/PlatformTeamServiceImpl.java +++ b/nakadai/src/main/java/com/huoran/nakadai/service/impl/PlatformTeamServiceImpl.java @@ -1,11 +1,14 @@ package com.huoran.nakadai.service.impl; import com.huoran.nakadai.entity.PlatformTeam; +import com.huoran.nakadai.entity.vo.TeamClassificationVO; import com.huoran.nakadai.mapper.PlatformTeamMapper; import com.huoran.nakadai.service.PlatformTeamService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 幼教产业团队账号与分类中间表 服务实现类 @@ -17,4 +20,13 @@ import org.springframework.stereotype.Service; @Service public class PlatformTeamServiceImpl extends ServiceImpl implements PlatformTeamService { + @Override + public List getTeamClassificationVOByTeamId(Integer teamId) { + return baseMapper.getTeamClassificationVOByTeamId(teamId); + } + + @Override + public Integer getAccountIdByTeamId(Integer teamId) { + return baseMapper.getAccountIdByTeamId(teamId); + } } diff --git a/nakadai/src/main/java/com/huoran/nakadai/service/impl/SupplierClassificationConfigServiceImpl.java b/nakadai/src/main/java/com/huoran/nakadai/service/impl/SupplierClassificationConfigServiceImpl.java index 7ac2e95..e8bfed1 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/service/impl/SupplierClassificationConfigServiceImpl.java +++ b/nakadai/src/main/java/com/huoran/nakadai/service/impl/SupplierClassificationConfigServiceImpl.java @@ -17,4 +17,8 @@ import org.springframework.stereotype.Service; @Service public class SupplierClassificationConfigServiceImpl extends ServiceImpl implements SupplierClassificationConfigService { + @Override + public boolean deleteByAccountId(Integer accountId) { + return baseMapper.deleteByAccountId(accountId); + } }