| 
														
															@@ -1,27 +1,38 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 package com.yonge.cooleshow.admin.controller; 
														 | 
														
														 | 
														
															 package com.yonge.cooleshow.admin.controller; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.baomidou.mybatisplus.core.metadata.IPage; 
														 | 
														
														 | 
														
															 import com.baomidou.mybatisplus.core.metadata.IPage; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.microsvc.toolkit.common.response.paging.PageInfo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.microsvc.toolkit.common.response.paging.QueryInfo; 
														 | 
														
														 | 
														
															 import com.microsvc.toolkit.common.response.paging.QueryInfo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.yonge.cooleshow.biz.dal.entity.TenantActivationCode; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.cooleshow.biz.dal.entity.TenantAlbumPurchase; 
														 | 
														
														 | 
														
															 import com.yonge.cooleshow.biz.dal.entity.TenantAlbumPurchase; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.yonge.cooleshow.biz.dal.entity.TenantInfo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.cooleshow.biz.dal.service.TenantActivationCodeService; 
														 | 
														
														 | 
														
															 import com.yonge.cooleshow.biz.dal.service.TenantActivationCodeService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.cooleshow.biz.dal.service.TenantAlbumPurchaseService; 
														 | 
														
														 | 
														
															 import com.yonge.cooleshow.biz.dal.service.TenantAlbumPurchaseService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.yonge.cooleshow.biz.dal.service.TenantInfoService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.cooleshow.biz.dal.wrapper.TenantActivationCodeWrapper; 
														 | 
														
														 | 
														
															 import com.yonge.cooleshow.biz.dal.wrapper.TenantActivationCodeWrapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.cooleshow.common.controller.BaseController; 
														 | 
														
														 | 
														
															 import com.yonge.cooleshow.common.controller.BaseController; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.cooleshow.common.entity.HttpResponseResult; 
														 | 
														
														 | 
														
															 import com.yonge.cooleshow.common.entity.HttpResponseResult; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.yonge.cooleshow.tenant.vo.TenantActivationCodeVo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.toolset.base.exception.BizException; 
														 | 
														
														 | 
														
															 import com.yonge.toolset.base.exception.BizException; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.yonge.toolset.base.page.PageInfo; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.yonge.toolset.mybatis.support.PageUtil; 
														 | 
														
														 | 
														
															 import com.yonge.toolset.mybatis.support.PageUtil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import io.swagger.annotations.Api; 
														 | 
														
														 | 
														
															 import io.swagger.annotations.Api; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import io.swagger.annotations.ApiOperation; 
														 | 
														
														 | 
														
															 import io.swagger.annotations.ApiOperation; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import lombok.extern.slf4j.Slf4j; 
														 | 
														
														 | 
														
															 import lombok.extern.slf4j.Slf4j; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.apache.commons.lang3.StringUtils; 
														 | 
														
														 | 
														
															 import org.apache.commons.lang3.StringUtils; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.beans.factory.annotation.Autowired; 
														 | 
														
														 | 
														
															 import org.springframework.beans.factory.annotation.Autowired; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.security.access.prepost.PreAuthorize; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.validation.annotation.Validated; 
														 | 
														
														 | 
														
															 import org.springframework.validation.annotation.Validated; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.web.bind.annotation.PostMapping; 
														 | 
														
														 | 
														
															 import org.springframework.web.bind.annotation.PostMapping; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.web.bind.annotation.RequestBody; 
														 | 
														
														 | 
														
															 import org.springframework.web.bind.annotation.RequestBody; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.web.bind.annotation.RequestMapping; 
														 | 
														
														 | 
														
															 import org.springframework.web.bind.annotation.RequestMapping; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import org.springframework.web.bind.annotation.RequestParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.springframework.web.bind.annotation.RestController; 
														 | 
														
														 | 
														
															 import org.springframework.web.bind.annotation.RestController; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.text.ParsePosition; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.text.SimpleDateFormat; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.Calendar; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.Date; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @Slf4j 
														 | 
														
														 | 
														
															 @Slf4j 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @Validated 
														 | 
														
														 | 
														
															 @Validated 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -36,32 +47,69 @@ public class TenantActivationCodeController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private TenantAlbumPurchaseService tenantAlbumPurchaseService; 
														 | 
														
														 | 
														
															     private TenantAlbumPurchaseService tenantAlbumPurchaseService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private TenantInfoService tenantInfoService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @ApiOperation(value = "查询分页", notes = "机构激活码- 传入 TenantActivationCodeVo.TenantActivationCodeQuery") 
														 | 
														
														 | 
														
															     @ApiOperation(value = "查询分页", notes = "机构激活码- 传入 TenantActivationCodeVo.TenantActivationCodeQuery") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @PostMapping("/page") 
														 | 
														
														 | 
														
															     @PostMapping("/page") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PreAuthorize("@pcs.hasPermissions('tenantActivationCode/page')") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public HttpResponseResult<PageInfo<TenantActivationCodeWrapper.TenantActivationCode>> page( 
														 | 
														
														 | 
														
															     public HttpResponseResult<PageInfo<TenantActivationCodeWrapper.TenantActivationCode>> page( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             @RequestBody TenantActivationCodeWrapper.TenantActivationCodeQuery query) { 
														 | 
														
														 | 
														
															             @RequestBody TenantActivationCodeWrapper.TenantActivationCodeQuery query) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (StringUtils.isBlank(query.getOrderNo())) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            throw new BizException("订单号不能为空"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String activationTime = query.getActivationTime(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (StringUtils.isNotEmpty(activationTime)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Date parse = new SimpleDateFormat("yyyy-MM").parse(activationTime, new ParsePosition(0)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            query.setActivationStartTime(parse); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Calendar instance = Calendar.getInstance(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            instance.setTime(parse); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            instance.add(Calendar.MONTH, 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            instance.add(Calendar.DATE, -1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            instance.set(Calendar.HOUR_OF_DAY, 23); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            instance.set(Calendar.MINUTE, 59); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            instance.set(Calendar.MILLISECOND, 59); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            query.setActivationEndTime(instance.getTime()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // 查询订单购买的专辑 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        TenantAlbumPurchase albumPurchase = tenantAlbumPurchaseService.getByOrderNo(query.getOrderNo()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (albumPurchase == null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            return succeed(new PageInfo<>()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        query.setActivationStatus(true); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        query.setTenantAlbumPurchaseId(albumPurchase.getId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        // 查询数据 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         IPage<TenantActivationCodeWrapper.TenantActivationCode> pages = 
														 | 
														
														 | 
														
															         IPage<TenantActivationCodeWrapper.TenantActivationCode> pages = 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 tenantActivationCodeService.selectPage(QueryInfo.getPage(query), query); 
														 | 
														
														 | 
														
															                 tenantActivationCodeService.selectPage(QueryInfo.getPage(query), query); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        PageInfo<TenantActivationCodeWrapper.TenantActivationCode> pageInfo = PageUtil.pageInfo(pages); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        com.microsvc.toolkit.common.response.paging.PageInfo<TenantActivationCodeWrapper.TenantActivationCode> pageInfo = QueryInfo.pageInfo(pages, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                pages.getRecords()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (query.getTenantAlbumPurchaseId() != null) { 
														 | 
														
														 | 
														
															         if (query.getTenantAlbumPurchaseId() != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            pageInfo.setStatInfo(albumPurchase); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            TenantActivationCodeWrapper.TenantActivationCode extra = 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    new TenantActivationCodeWrapper.TenantActivationCode(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            TenantAlbumPurchase purchase = tenantAlbumPurchaseService.getById(query.getTenantAlbumPurchaseId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            extra.setActiveQuantity(purchase.getActiveQuantity()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            pageInfo.setExtra(extra); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return succeed(pageInfo); 
														 | 
														
														 | 
														
															         return succeed(pageInfo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @ApiOperation(value = "激活码发放", notes = "机构激活码- 传入 TenantActivationCodeVo.TenantActivationCodeSend") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PostMapping("/send") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PreAuthorize("@pcs.hasPermissions('tenantActivationCode/send')") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public HttpResponseResult<Boolean> send(@Validated @RequestBody TenantActivationCodeVo.TenantActivationCodeSend send) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tenantActivationCodeService.sendActivationCode(send.getTenantId(), send.getTenantAlbumPurchaseId(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                send.getActivationCodeList(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                send.getStudentIdList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return succeed(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @ApiOperation(value = "激活码重发", notes = "机构激活码- 传入 TenantActivationCodeVo.TenantActivationCodeSend") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PostMapping("/resend") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PreAuthorize("@pcs.hasPermissions('tenantActivationCode/resend')") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public HttpResponseResult<Boolean> resend(@Validated @RequestBody TenantActivationCodeVo.TenantActivationCodeResend send) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tenantActivationCodeService.resend(send.getCode(), send.getUserId(), send.getTenantId(), send.getTenantAlbumPurchaseId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return succeed(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @ApiOperation(value = "激活码发放取消", notes = "传入 激活码的ID") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PostMapping("/sendCancel") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @PreAuthorize("@pcs.hasPermissions('tenantActivationCode/sendCancel')") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public HttpResponseResult<Boolean> sendCancel(@Validated @RequestBody TenantActivationCodeVo.CodeSend codeSend) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        TenantActivationCode activationCode = tenantActivationCodeService.getById(codeSend.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        TenantInfo tenantInfo = tenantInfoService.getById(codeSend.getTenantId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        tenantActivationCodeService.sendCancel(tenantInfo, activationCode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return succeed(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |