Commit d697f80d by unknown

小程序授权-分类添加小程序码

parent d9dd9dd1
...@@ -48,4 +48,8 @@ public interface PcloudRobotService { ...@@ -48,4 +48,8 @@ public interface PcloudRobotService {
@ApiOperation("表单提交后进行用户阶段跳转") @ApiOperation("表单提交后进行用户阶段跳转")
@GetMapping("changePersonalStage") @GetMapping("changePersonalStage")
void changePersonalStage(@RequestParam("robotId") String robotId, @RequestParam("wxUserId") String wxUserId, @RequestParam("paperId") Long paperId); void changePersonalStage(@RequestParam("robotId") String robotId, @RequestParam("wxUserId") String wxUserId, @RequestParam("paperId") Long paperId);
@ApiOperation(value = "处理小程序二维码", httpMethod = "GET")
@GetMapping("handleMiniAppQr")
void handleMiniAppQr();
} }
...@@ -187,6 +187,12 @@ ...@@ -187,6 +187,12 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-wechat</artifactId>
<version>${pcloud-facade.version}</version>
</dependency>
<dependency>
<groupId>fakepath</groupId> <groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId> <artifactId>jbarcode</artifactId>
<version>0.2.8</version> <version>0.2.8</version>
......
...@@ -103,4 +103,6 @@ public interface PcloudRobotBiz { ...@@ -103,4 +103,6 @@ public interface PcloudRobotBiz {
void updateUniqueNumber(Long id, String uniqueNumber); void updateUniqueNumber(Long id, String uniqueNumber);
List<String> getPcloudRobotByClassify(Integer classifyId); List<String> getPcloudRobotByClassify(Integer classifyId);
void handleMiniAppQr();
} }
...@@ -4,6 +4,7 @@ import com.pcloud.appcenter.app.dto.AppDto; ...@@ -4,6 +4,7 @@ import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.dao.BookDao; import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
...@@ -20,6 +21,7 @@ import com.pcloud.book.pcloudkeyword.biz.PcloudRobotClassifyBiz; ...@@ -20,6 +21,7 @@ import com.pcloud.book.pcloudkeyword.biz.PcloudRobotClassifyBiz;
import com.pcloud.book.pcloudkeyword.dao.PcloudClassifyTemplateDao; import com.pcloud.book.pcloudkeyword.dao.PcloudClassifyTemplateDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudKeywordClassifyDao; import com.pcloud.book.pcloudkeyword.dao.PcloudKeywordClassifyDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudKeywordNameDao; import com.pcloud.book.pcloudkeyword.dao.PcloudKeywordNameDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotClassifyDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao; import com.pcloud.book.pcloudkeyword.dao.PcloudRobotDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotQrcodeDao; import com.pcloud.book.pcloudkeyword.dao.PcloudRobotQrcodeDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotWelcomeDao; import com.pcloud.book.pcloudkeyword.dao.PcloudRobotWelcomeDao;
...@@ -27,10 +29,17 @@ import com.pcloud.book.pcloudkeyword.dao.PcloudTdDao; ...@@ -27,10 +29,17 @@ import com.pcloud.book.pcloudkeyword.dao.PcloudTdDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudTdRecordDao; import com.pcloud.book.pcloudkeyword.dao.PcloudTdRecordDao;
import com.pcloud.book.pcloudkeyword.dto.PcloudTdDTO; import com.pcloud.book.pcloudkeyword.dto.PcloudTdDTO;
import com.pcloud.book.pcloudkeyword.dto.PcloudTdReplyDTO; import com.pcloud.book.pcloudkeyword.dto.PcloudTdReplyDTO;
import com.pcloud.book.pcloudkeyword.entity.*; import com.pcloud.book.pcloudkeyword.entity.PcloudClassifyTemplate;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotQrcode;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.book.pcloudkeyword.entity.PcloudTd;
import com.pcloud.book.pcloudkeyword.entity.PcloudTdRecord;
import com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum; import com.pcloud.book.pcloudkeyword.enums.WelcomeReplyTypeEnum;
import com.pcloud.book.pcloudkeyword.set.PcloudRobotSet; import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO; import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotResponseVO;
import com.pcloud.book.pcloudkeyword.set.PcloudRobotSet;
import com.pcloud.book.push.biz.SelfPushBiz; import com.pcloud.book.push.biz.SelfPushBiz;
import com.pcloud.book.skill.biz.PcloudSkillBiz; import com.pcloud.book.skill.biz.PcloudSkillBiz;
import com.pcloud.book.skill.entity.PcloudSkill; import com.pcloud.book.skill.entity.PcloudSkill;
...@@ -42,10 +51,12 @@ import com.pcloud.common.page.PageParam; ...@@ -42,10 +51,12 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.BeanUtils; import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.QrcodeUtils; import com.pcloud.common.utils.QrcodeUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.httpclient.UrlUtils; import com.pcloud.common.utils.httpclient.UrlUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.contentcenter.resource.dto.ResourceDTO; import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.facade.wechat.service.QrcodeService;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.wechatgroup.message.dto.SendTextDTO; import com.pcloud.wechatgroup.message.dto.SendTextDTO;
import com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO; import com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO;
...@@ -62,7 +73,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -62,7 +73,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import com.pcloud.book.consumer.app.AppConsr;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -120,6 +131,10 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -120,6 +131,10 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
private ProductConsr productConsr; private ProductConsr productConsr;
@Autowired @Autowired
private QrcodeSceneConsr qrcodeSceneConsr; private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired
private PcloudRobotClassifyDao pcloudRobotClassifyDao;
@Autowired
private QrcodeService qrcodeService;
@ParamLog(value = "[changeRobotRealStatus]", isAfterReturn = false) @ParamLog(value = "[changeRobotRealStatus]", isAfterReturn = false)
@Override @Override
...@@ -357,7 +372,14 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -357,7 +372,14 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
@Override @Override
public PcloudRobot getPcloudRobotByType(Integer robotType) { public PcloudRobot getPcloudRobotByType(Integer robotType) {
return pcloudRobotDao.getPcloudRobotByType(robotType); PcloudRobot pcloudRobotByType = pcloudRobotDao.getPcloudRobotByType(robotType);
if (null == pcloudRobotByType) {
pcloudRobotByType = new PcloudRobot();
PcloudRobotClassify pcloudRobotClassify = pcloudRobotClassifyDao.getById(robotType);
pcloudRobotByType.setQrcodeUrl(pcloudRobotClassify.getMiniAppQr());
pcloudRobotByType.setEntryQrcodeUrl(pcloudRobotClassify.getMiniAppQr());
}
return pcloudRobotByType;
} }
@Override @Override
...@@ -795,4 +817,17 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz { ...@@ -795,4 +817,17 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
public List<String> getPcloudRobotByClassify(Integer classifyId){ public List<String> getPcloudRobotByClassify(Integer classifyId){
return pcloudRobotDao.getPcloudRobotByClassify(classifyId); return pcloudRobotDao.getPcloudRobotByClassify(classifyId);
} }
@Override
public void handleMiniAppQr() {
List<PcloudRobotClassifyResponseVO> pcloudRobotClassifyResponseVOS = pcloudRobotClassifyDao.listAllRobotClassify();
if (!ListUtils.isEmpty(pcloudRobotClassifyResponseVOS)) {
pcloudRobotClassifyResponseVOS.forEach(item -> {
String url = ResponseHandleUtil.parseResponse(qrcodeService.create4MiniApp(777L, String.valueOf(item.getId()), null, null), String.class);
if (null != url) {
pcloudRobotClassifyDao.updateMiniAppQr(item.getId(), url);
}
});
}
}
} }
...@@ -10,24 +10,24 @@ import com.pcloud.book.pcloudkeyword.entity.PcloudClassifyTemplate; ...@@ -10,24 +10,24 @@ import com.pcloud.book.pcloudkeyword.entity.PcloudClassifyTemplate;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify; import com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome; import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO; import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO;
import com.pcloud.book.pcloudkeyword.set.PcloudRobotSet; import com.pcloud.book.pcloudkeyword.set.PcloudRobotSet;
import com.pcloud.book.pcloudkeyword.vo.ClassifySeqNumUpdateVO; import com.pcloud.book.pcloudkeyword.vo.ClassifySeqNumUpdateVO;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam; import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.QrcodeUtils; import com.pcloud.common.utils.QrcodeUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.common.utils.httpclient.UrlUtils; import com.pcloud.common.utils.httpclient.UrlUtils;
import com.pcloud.facade.wechat.service.QrcodeService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import javax.annotation.Resource;
@Service @Service
public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz { public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
...@@ -41,6 +41,8 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz { ...@@ -41,6 +41,8 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
private PcloudRobotSet pcloudRobotSet; private PcloudRobotSet pcloudRobotSet;
@Autowired @Autowired
private PcloudClassifyTemplateDao pcloudClassifyTemplateDao; private PcloudClassifyTemplateDao pcloudClassifyTemplateDao;
@Autowired
private QrcodeService qrcodeService;
@Override @Override
public List<PcloudRobotClassifyResponseVO> listAllRobotClassify() { public List<PcloudRobotClassifyResponseVO> listAllRobotClassify() {
...@@ -56,6 +58,10 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz { ...@@ -56,6 +58,10 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
pcloudRobotClassifyDao.insert(classify); pcloudRobotClassifyDao.insert(classify);
String linkUrl = wechatLinkPrefix + "/group/info?classify_id=" + classify.getId(); String linkUrl = wechatLinkPrefix + "/group/info?classify_id=" + classify.getId();
String codeUrl = QrcodeUtils.create( UrlUtils.getShortUrl4Own(linkUrl)); String codeUrl = QrcodeUtils.create( UrlUtils.getShortUrl4Own(linkUrl));
String url = ResponseHandleUtil.parseResponse(qrcodeService.create4MiniApp(777L, String.valueOf(classify.getId()), null, null), String.class);
if (null != url) {
pcloudRobotClassifyDao.updateMiniAppQr(classify.getId(), url);
}
classify.setLinkUrl(linkUrl); classify.setLinkUrl(linkUrl);
classify.setQrcodeUrl(codeUrl); classify.setQrcodeUrl(codeUrl);
classify.setSeqNum(classify.getId().intValue()); classify.setSeqNum(classify.getId().intValue());
...@@ -65,6 +71,7 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz { ...@@ -65,6 +71,7 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
classifyTemplate.setClassifyId(classify.getId().intValue()); classifyTemplate.setClassifyId(classify.getId().intValue());
classifyTemplate.setTemplateCode("common_template"); classifyTemplate.setTemplateCode("common_template");
pcloudClassifyTemplateDao.insert(classifyTemplate); pcloudClassifyTemplateDao.insert(classifyTemplate);
} }
@Override @Override
......
...@@ -20,4 +20,6 @@ public interface PcloudRobotClassifyDao extends BaseDao<PcloudRobotClassify> { ...@@ -20,4 +20,6 @@ public interface PcloudRobotClassifyDao extends BaseDao<PcloudRobotClassify> {
* @param vo * @param vo
*/ */
void updateSeqNum4RobotClassify(ClassifySeqNumUpdateVO vo); void updateSeqNum4RobotClassify(ClassifySeqNumUpdateVO vo);
void updateMiniAppQr(Long id, String url);
} }
...@@ -41,4 +41,12 @@ public class PcloudRobotClassifyDaoImpl extends BaseDaoImpl<PcloudRobotClassify> ...@@ -41,4 +41,12 @@ public class PcloudRobotClassifyDaoImpl extends BaseDaoImpl<PcloudRobotClassify>
public void updateSeqNum4RobotClassify(ClassifySeqNumUpdateVO vo) { public void updateSeqNum4RobotClassify(ClassifySeqNumUpdateVO vo) {
getSessionTemplate().update(getStatement("updateSeqNum4RobotClassify"), vo); getSessionTemplate().update(getStatement("updateSeqNum4RobotClassify"), vo);
} }
@Override
public void updateMiniAppQr(Long id, String url) {
Map<String,Object> map=new HashMap<>();
map.put("id",id);
map.put("url",url);
this.getSessionTemplate().update(getStatement("updateMiniAppQr"), map);
}
} }
...@@ -26,4 +26,6 @@ public class PcloudRobotClassify extends BaseEntity { ...@@ -26,4 +26,6 @@ public class PcloudRobotClassify extends BaseEntity {
@ApiModelProperty("排序值") @ApiModelProperty("排序值")
private Integer seqNum; private Integer seqNum;
private String miniAppQr;
} }
...@@ -20,4 +20,6 @@ public class PcloudRobotClassifyResponseVO { ...@@ -20,4 +20,6 @@ public class PcloudRobotClassifyResponseVO {
private Integer robotCount; private Integer robotCount;
private Integer seqNum; private Integer seqNum;
private String miniAppQr;
} }
...@@ -9,12 +9,15 @@ import com.pcloud.book.personalstage.biz.PersonalStageJumpBiz; ...@@ -9,12 +9,15 @@ import com.pcloud.book.personalstage.biz.PersonalStageJumpBiz;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.BeanUtils; import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -88,4 +91,11 @@ public class PcloudRobotServiceImpl implements PcloudRobotService { ...@@ -88,4 +91,11 @@ public class PcloudRobotServiceImpl implements PcloudRobotService {
personalStageJumpBiz.sendPaperEmail(wxUserId, robotId); personalStageJumpBiz.sendPaperEmail(wxUserId, robotId);
} }
} }
@Override
@GetMapping("handleMiniAppQr")
public void handleMiniAppQr() {
pcloudRobotBiz.handleMiniAppQr();
}
} }
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
<result column="welcome_duration" property="welcomeDuration" jdbcType="INTEGER" /> <result column="welcome_duration" property="welcomeDuration" jdbcType="INTEGER" />
<result column="is_open_push_h5url" property="isOpenPushH5url" jdbcType="INTEGER" /> <result column="is_open_push_h5url" property="isOpenPushH5url" jdbcType="INTEGER" />
<result column="seq_num" property="seqNum" jdbcType="INTEGER"/> <result column="seq_num" property="seqNum" jdbcType="INTEGER"/>
<result column="mimi_app_qr" property="miniAppQr" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<resultMap id="pageResultMap" type="com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO" > <resultMap id="pageResultMap" type="com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO" >
...@@ -22,7 +23,7 @@ ...@@ -22,7 +23,7 @@
select="com.pcloud.book.pcloudkeyword.dao.impl.PcloudRobotDaoImpl.getRobotCountByClassifyId" /> select="com.pcloud.book.pcloudkeyword.dao.impl.PcloudRobotDaoImpl.getRobotCountByClassifyId" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, classify_name, link_url, qrcode_url,keyword_classify_id, is_delete, welcome_duration,is_open_push_h5url, seq_num id, classify_name, link_url, qrcode_url,keyword_classify_id, is_delete, welcome_duration,is_open_push_h5url, seq_num, mimi_app_qr
</sql> </sql>
<insert id="insert" parameterType="com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify" useGeneratedKeys="true" keyProperty="id">
...@@ -75,7 +76,7 @@ ...@@ -75,7 +76,7 @@
<select id="listClassifyByPage" resultMap="pageResultMap"> <select id="listClassifyByPage" resultMap="pageResultMap">
select select
id, classify_name, qrcode_url, seq_num id, classify_name, qrcode_url, seq_num, mimi_app_qr miniAppQr
from pcloud_robot_classify from pcloud_robot_classify
where is_delete = 0 where is_delete = 0
order by seq_num order by seq_num
...@@ -98,4 +99,8 @@ ...@@ -98,4 +99,8 @@
update pcloud_robot_classify update pcloud_robot_classify
set seq_num = #{seqNum} where id = #{id} set seq_num = #{seqNum} where id = #{id}
</update> </update>
<update id="updateMiniAppQr" parameterType="map">
update pcloud_robot_classify set mimi_app_qr = #{url} where id = id
</update>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment