Commit d697f80d by unknown

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

parent d9dd9dd1
......@@ -48,4 +48,8 @@ public interface PcloudRobotService {
@ApiOperation("表单提交后进行用户阶段跳转")
@GetMapping("changePersonalStage")
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 @@
</dependency>
<dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-wechat</artifactId>
<version>${pcloud-facade.version}</version>
</dependency>
<dependency>
<groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId>
<version>0.2.8</version>
......
......@@ -103,4 +103,6 @@ public interface PcloudRobotBiz {
void updateUniqueNumber(Long id, String uniqueNumber);
List<String> getPcloudRobotByClassify(Integer classifyId);
void handleMiniAppQr();
}
......@@ -4,6 +4,7 @@ import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.dao.BookDao;
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.content.ResourceConsr;
import com.pcloud.book.consumer.resource.ProductConsr;
......@@ -20,6 +21,7 @@ import com.pcloud.book.pcloudkeyword.biz.PcloudRobotClassifyBiz;
import com.pcloud.book.pcloudkeyword.dao.PcloudClassifyTemplateDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudKeywordClassifyDao;
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.PcloudRobotQrcodeDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudRobotWelcomeDao;
......@@ -27,10 +29,17 @@ import com.pcloud.book.pcloudkeyword.dao.PcloudTdDao;
import com.pcloud.book.pcloudkeyword.dao.PcloudTdRecordDao;
import com.pcloud.book.pcloudkeyword.dto.PcloudTdDTO;
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.set.PcloudRobotSet;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO;
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.skill.biz.PcloudSkillBiz;
import com.pcloud.book.skill.entity.PcloudSkill;
......@@ -42,10 +51,12 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ListUtils;
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.httpclient.UrlUtils;
import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.contentcenter.resource.dto.ResourceDTO;
import com.pcloud.facade.wechat.service.QrcodeService;
import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.wechatgroup.message.dto.SendTextDTO;
import com.pcloud.wechatgroup.selfrobot.dto.RobotBaseInfoDTO;
......@@ -62,7 +73,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import com.pcloud.book.consumer.app.AppConsr;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -120,6 +131,10 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
private ProductConsr productConsr;
@Autowired
private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired
private PcloudRobotClassifyDao pcloudRobotClassifyDao;
@Autowired
private QrcodeService qrcodeService;
@ParamLog(value = "[changeRobotRealStatus]", isAfterReturn = false)
@Override
......@@ -357,7 +372,14 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
@Override
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
......@@ -795,4 +817,17 @@ public class PcloudRobotBizImpl implements PcloudRobotBiz {
public List<String> getPcloudRobotByClassify(Integer 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;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobotWelcome;
import com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO;
import com.pcloud.book.pcloudkeyword.set.PcloudRobotSet;
import com.pcloud.book.pcloudkeyword.vo.ClassifySeqNumUpdateVO;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.QrcodeUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
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.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
@Service
public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
......@@ -41,6 +41,8 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
private PcloudRobotSet pcloudRobotSet;
@Autowired
private PcloudClassifyTemplateDao pcloudClassifyTemplateDao;
@Autowired
private QrcodeService qrcodeService;
@Override
public List<PcloudRobotClassifyResponseVO> listAllRobotClassify() {
......@@ -56,6 +58,10 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
pcloudRobotClassifyDao.insert(classify);
String linkUrl = wechatLinkPrefix + "/group/info?classify_id=" + classify.getId();
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.setQrcodeUrl(codeUrl);
classify.setSeqNum(classify.getId().intValue());
......@@ -65,6 +71,7 @@ public class PcloudRobotClassifyBizImpl implements PcloudRobotClassifyBiz {
classifyTemplate.setClassifyId(classify.getId().intValue());
classifyTemplate.setTemplateCode("common_template");
pcloudClassifyTemplateDao.insert(classifyTemplate);
}
@Override
......
......@@ -20,4 +20,6 @@ public interface PcloudRobotClassifyDao extends BaseDao<PcloudRobotClassify> {
* @param vo
*/
void updateSeqNum4RobotClassify(ClassifySeqNumUpdateVO vo);
void updateMiniAppQr(Long id, String url);
}
......@@ -41,4 +41,12 @@ public class PcloudRobotClassifyDaoImpl extends BaseDaoImpl<PcloudRobotClassify>
public void updateSeqNum4RobotClassify(ClassifySeqNumUpdateVO 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 {
@ApiModelProperty("排序值")
private Integer seqNum;
private String miniAppQr;
}
......@@ -20,4 +20,6 @@ public class PcloudRobotClassifyResponseVO {
private Integer robotCount;
private Integer seqNum;
private String miniAppQr;
}
......@@ -9,12 +9,15 @@ import com.pcloud.book.personalstage.biz.PersonalStageJumpBiz;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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.List;
import java.util.Map;
......@@ -88,4 +91,11 @@ public class PcloudRobotServiceImpl implements PcloudRobotService {
personalStageJumpBiz.sendPaperEmail(wxUserId, robotId);
}
}
@Override
@GetMapping("handleMiniAppQr")
public void handleMiniAppQr() {
pcloudRobotBiz.handleMiniAppQr();
}
}
......@@ -11,6 +11,7 @@
<result column="welcome_duration" property="welcomeDuration" jdbcType="INTEGER" />
<result column="is_open_push_h5url" property="isOpenPushH5url" jdbcType="INTEGER" />
<result column="seq_num" property="seqNum" jdbcType="INTEGER"/>
<result column="mimi_app_qr" property="miniAppQr" jdbcType="VARCHAR"/>
</resultMap>
<resultMap id="pageResultMap" type="com.pcloud.book.pcloudkeyword.facade.response.PcloudRobotClassifyResponseVO" >
......@@ -22,7 +23,7 @@
select="com.pcloud.book.pcloudkeyword.dao.impl.PcloudRobotDaoImpl.getRobotCountByClassifyId" />
</resultMap>
<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>
<insert id="insert" parameterType="com.pcloud.book.pcloudkeyword.entity.PcloudRobotClassify" useGeneratedKeys="true" keyProperty="id">
......@@ -75,7 +76,7 @@
<select id="listClassifyByPage" resultMap="pageResultMap">
select
id, classify_name, qrcode_url, seq_num
id, classify_name, qrcode_url, seq_num, mimi_app_qr miniAppQr
from pcloud_robot_classify
where is_delete = 0
order by seq_num
......@@ -98,4 +99,8 @@
update pcloud_robot_classify
set seq_num = #{seqNum} where id = #{id}
</update>
<update id="updateMiniAppQr" parameterType="map">
update pcloud_robot_classify set mimi_app_qr = #{url} where id = id
</update>
</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