引入了数据展示模块 , 修改了海报分享实现流程

This commit is contained in:
cuibaocheng 2021-09-07 18:12:38 +08:00
parent cea312c40f
commit 992e97698f
18 changed files with 154 additions and 37 deletions

View File

@ -34,6 +34,8 @@ public class AccountDTO {
private String userAvatarUrl;
@ApiModelProperty(name = "userNickName", value = "人员昵称")
private String userNickName;
@ApiModelProperty(name = "userUsername", value = "人员账号")
private String userUsername;
@ApiModelProperty(name = "creator", value = "")
private String creator;
@ApiModelProperty(name = "gmtCreate", value = "")
@ -45,6 +47,14 @@ public class AccountDTO {
@ApiModelProperty(name = "isDelete", value = "")
private Integer isDelete;
public String getUserUsername() {
return userUsername == null ? "" : userUsername;
}
public void setUserUsername(String userUsername) {
this.userUsername = userUsername;
}
public String getUserAvatarUrl() {
return userAvatarUrl == null ? "" : userAvatarUrl;
}

View File

@ -5,7 +5,9 @@ import cn.com.tenlion.systemcard.pojo.vos.account.AccountVO;
import cn.com.tenlion.systemcard.service.account.IAccountService;
import cn.com.tenlion.systemcard.service.cardcharge.ICardChargeService;
import ink.wgink.module.wechat.pojo.pay.v3.PayNoticeCiphertext;
import ink.wgink.module.wechat.pojo.pos.miniapp.MiniappUserPO;
import ink.wgink.module.wechat.service.miniapp.IMiniappUserCreateHandleService;
import ink.wgink.module.wechat.service.miniapp.IMiniappUserService;
import ink.wgink.module.wechat.service.pay.v3.IPayNoticeService;
import ink.wgink.service.user.pojo.pos.UserPO;
import org.springframework.beans.factory.annotation.Autowired;
@ -19,17 +21,21 @@ public class UserService implements IMiniappUserCreateHandleService {
@Autowired
private IAccountService iAccountService;
@Autowired
private IMiniappUserService iMiniappUserService;
@Override
public void handle(UserPO userPO, String s) throws Exception {
/**
* 查询是否已经创建 , 如果创建则不执行
*/
AccountDTO accountDTO = iAccountService.get(userPO.getUserId());
MiniappUserPO miniappUserPO = iMiniappUserService.getPO(userPO.getUserId());
if(accountDTO == null) {
AccountVO accountVO = new AccountVO();
accountVO.setAccountMoney(0);
accountVO.setAccountIntegral(0);
accountVO.setAccountNumber(userPO.getUserUsername());
accountVO.setAccountNumber(miniappUserPO.getUserCode());
accountVO.setAccountPassword("");
accountVO.setAccountStatus("1");
accountVO.setAccountUserId(userPO.getUserId());

View File

@ -296,7 +296,10 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
Map<String, String> defaultCardMap = new HashMap<String, String>();
if("2".equals(cardTemplateAppDTO.getTemplateMode())) {
CardTemplateUseDTO cardTemplateUseDTO = getDefault(token, getHashMap(2));
if(cardTemplateUseDTO != null) {
if(cardTemplateUseDTO == null || "1".equals(cardTemplateUseDTO.getCardTemplateUseSystem())) {
// 没有创建过名片. 不能使用海报
throw new SaveException("需要先创建名片");
}else {
for (CardTemplateUseAreaDTO areaDTO : cardTemplateUseDTO.getAreaList()) {
defaultCardMap.put(areaDTO.getTemplateAreaSource(), areaDTO.getTemplateAreaFontValue());
}
@ -332,7 +335,10 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
if("currentUserPhoto".equals(buildingDTO.getTemplateAreaSource())) {
MiniappUserPO userPO = iMiniappUserService.getPO(getUserId(token));
buildingPicturesMap.put(buildingDTO.getTemplateAreaSource(), userPO.getAvatarUrl());
// 小程序页面
// 海报小程序二维码
}else if("currentUserPosterQRCode".equals(buildingDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(buildingDTO.getTemplateAreaSource(), "appid=" + WeiXinUtils.getAppKey() + "&secret=" + WeiXinUtils.getAppSecret() + "&path=pages/index/index&cardTemplateUseId=" + cardTemplateUseId);
// 名片小程序二维码
}else if("currentUserQRCode".equals(buildingDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(buildingDTO.getTemplateAreaSource(), "appid=" + WeiXinUtils.getAppKey() + "&secret=" + WeiXinUtils.getAppSecret() + "&path=pages/index/index&cardTemplateDispatchId=" + cardTemplateUseId);
// 当前登录人公司名称
@ -390,10 +396,17 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
cardTemplateDispatchSaveVO.setCardTemplateDispatchRemark("默认生成的名片二维码分享记录");
cardTemplateDispatchSaveVO.setCardTemplateDispatchParentId("-1");
String cardTemplateDispatchId = iCardTemplateDispatchService.saveReturnId(token, cardTemplateDispatchSaveVO);
// 生成名片二维码
BufferedImage weiXinImage = WeiXinBarCodeUtils.getBarCodeImage(appKey, appSecret, "pages/index/index?cardTemplateDispatchId=" + cardTemplateDispatchId, 200);
String fileId = iPicturesTemplateBuildingService.saveBufferImageToFile(weiXinImage);
vo.setCardTemplateUseBarcode(fileId);
if("2".equals(cardTemplateAppDTO.getTemplateMode())) {
// 生成海报二维码
BufferedImage weiXinImage = WeiXinBarCodeUtils.getBarCodeImage(appKey, appSecret, "pages/index/index?cardTemplateUseId=" + cardTemplateUseId, 200);
String fileId = iPicturesTemplateBuildingService.saveBufferImageToFile(weiXinImage);
vo.setCardTemplateUseBarcode(fileId);
}else{
// 生成名片二维码
BufferedImage weiXinImage = WeiXinBarCodeUtils.getBarCodeImage(appKey, appSecret, "pages/index/index?cardTemplateDispatchId=" + cardTemplateDispatchId, 200);
String fileId = iPicturesTemplateBuildingService.saveBufferImageToFile(weiXinImage);
vo.setCardTemplateUseBarcode(fileId);
}
} catch (Exception e) {
e.printStackTrace();
throw new SaveException("生成二维码失败");
@ -509,8 +522,13 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
Map<String, String> defaultCardMap = new HashMap<String, String>();
if("2".equals(useDTO.getTemplateMode())) {
CardTemplateUseDTO cardTemplateUseDTO = getDefault(token, getHashMap(2));
for (CardTemplateUseAreaDTO areaDTO : cardTemplateUseDTO.getAreaList()) {
defaultCardMap.put(areaDTO.getTemplateAreaSource(), areaDTO.getTemplateAreaFontValue());
if(cardTemplateUseDTO == null || "1".equals(cardTemplateUseDTO.getCardTemplateUseSystem())) {
// 没有创建过名片. 不能使用海报
throw new SaveException("需要先创建名片");
}else {
for (CardTemplateUseAreaDTO areaDTO : cardTemplateUseDTO.getAreaList()) {
defaultCardMap.put(areaDTO.getTemplateAreaSource(), areaDTO.getTemplateAreaFontValue());
}
}
}
// 遍历更新区域
@ -542,19 +560,22 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
if("currentUserPhoto".equals(useAreaDTO.getTemplateAreaSource())) {
MiniappUserPO userPO = iMiniappUserService.getPO(getUserId(token));
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), userPO.getAvatarUrl());
// 小程序页面
// 海报小程序二维码
}else if("currentUserPosterQRCode".equals(useAreaDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), "appid=" + WeiXinUtils.getAppKey() + "&secret=" + WeiXinUtils.getAppSecret() + "&path=pages/index/index&cardTemplateUseId=" + cardTemplateUseId);
// 名片小程序二维码
}else if("currentUserQRCode".equals(useAreaDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), "appid=" + WeiXinUtils.getAppKey() + "&secret=" + WeiXinUtils.getAppSecret() + "&path=pages/index/index&cardTemplateDispatchId=" + cardTemplateUseId);
// 当前登录人公司名称
// 当前登录人公司名称
}else if("currentUserDepartment".equals(useAreaDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), defaultCardMap.get("department"));
// 当前登录人姓名
// 当前登录人姓名
}else if("currentUserName".equals(useAreaDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), defaultCardMap.get("name"));
// 当前登录人电话
// 当前登录人电话
}else if("currentUserPhone".equals(useAreaDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), defaultCardMap.get("phone"));
// 当前登录人住址
// 当前登录人住址
}else if("currentUserAddress".equals(useAreaDTO.getTemplateAreaSource())) {
buildingPicturesMap.put(useAreaDTO.getTemplateAreaSource(), defaultCardMap.get("address"));
}
@ -621,14 +642,36 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
if(!"1".equals(useDTO.getCardTemplateUseSystem())) {
// 如果审核未通过
if ("0".equals(useDTO.getCardTemplateUseCheckStatus())) {
// 替换违规显示的图片
useDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPhoto"));
// 名片
if("1".equals(useDTO.getTemplateMode())) {
// 替换名片违规显示的图片
useDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPhoto"));
}
// 海报
if("2".equals(useDTO.getTemplateMode())) {
// 替换海报违规显示的图片
useDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPosterPhoto"));
}
}
// 如果名片已经欠费
// 如果账户已经欠费
CardChargePriceDTO priceDTO = iCardChargeService.getCharge(useDTO.getCreator());
if (priceDTO.getCardCharge()) {
// 替换欠费显示的图片
useDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardArrearsPhoto"));
// 名片
if("1".equals(useDTO.getTemplateMode())) {
// 替换名片欠费显示的图片
String cardArrearsPhoto = ProjectConfigUtil.getFile("cardArrearsPhoto");
if(!StringUtils.isEmpty(cardArrearsPhoto)) {
useDTO.setCardTemplateUsePhotoUrl(cardArrearsPhoto);
}
}
// 海报
if("2".equals(useDTO.getTemplateMode())) {
// 替换海报欠费显示的图片
String cardArrearsPosterPhoto = ProjectConfigUtil.getFile("cardArrearsPosterPhoto");
if(!StringUtils.isEmpty(cardArrearsPosterPhoto)) {
useDTO.setCardTemplateUsePhotoUrl(cardArrearsPosterPhoto);
}
}
}
}
CardTemplateDTO cardTemplateDTO = iCardTemplateService.get(useDTO.getPictureTemplateId());
@ -691,8 +734,16 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
dto.setCardTemplateUsePhoto(dto.getCardTemplateUsePhotoUrl());
// 如果审核未通过
if ("0".equals(dto.getCardTemplateUseCheckStatus())) {
// 替换违规显示的图片
dto.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPhoto"));
// 名片
if("1".equals(dto.getTemplateMode())) {
// 替换名片违规显示的图片
dto.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPhoto"));
}
// 海报
if("2".equals(dto.getTemplateMode())) {
// 替换海报违规显示的图片
dto.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPosterPhoto"));
}
}
// 列表显示不加载转发图
dto.setCardTemplateUseDispatchPhoto("");
@ -763,13 +814,35 @@ public class CardTemplateUseServiceImpl extends DefaultBaseService implements IC
}
// 如果审核未通过
if ("0".equals(cardTemplateUseDTO.getCardTemplateUseCheckStatus())) {
// 替换违规显示的图片
cardTemplateUseDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPhoto"));
// 名片
if("1".equals(cardTemplateUseDTO.getTemplateMode())) {
// 替换名片违规显示的图片
cardTemplateUseDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPhoto"));
}
// 海报
if("2".equals(cardTemplateUseDTO.getTemplateMode())) {
// 替换海报违规显示的图片
cardTemplateUseDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardViolationPosterPhoto"));
}
}
// 如果名片已经欠费
if (iCardChargeService.getCharge(cardTemplateUseDTO.getCreator()).getCardCharge()) {
// 替换欠费显示的图片
cardTemplateUseDTO.setCardTemplateUsePhotoUrl(ProjectConfigUtil.getFile("cardArrearsPhoto"));
// 名片
if("1".equals(cardTemplateUseDTO.getTemplateMode())) {
// 替换名片欠费显示的图片
String cardArrearsPhoto = ProjectConfigUtil.getFile("cardArrearsPhoto");
if(!StringUtils.isEmpty(cardArrearsPhoto)) {
cardTemplateUseDTO.setCardTemplateUsePhotoUrl(cardArrearsPhoto);
}
}
// 海报
if("2".equals(cardTemplateUseDTO.getTemplateMode())) {
// 替换海报欠费显示的图片
String cardArrearsPosterPhoto = ProjectConfigUtil.getFile("cardArrearsPosterPhoto");
if(!StringUtils.isEmpty(cardArrearsPosterPhoto)) {
cardTemplateUseDTO.setCardTemplateUsePhotoUrl(cardArrearsPosterPhoto);
}
}
}
params.clear();
params.put("cardTemplateUseId", cardTemplateUseDTO.getCardTemplateUseId());

View File

@ -25,14 +25,14 @@ spring:
max-request-size: 1GB
datasource:
druid:
# url: jdbc:mysql://192.168.0.151:3306/db_card?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=UTC
url: jdbc:mysql://121.36.71.250:3306/db_card?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=UTC
url: jdbc:mysql://192.168.0.151:3306/db_card?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=UTC
# url: jdbc:mysql://121.36.71.250:3306/db_card?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=UTC
db-type: mysql
driver-class-name: com.mysql.cj.jdbc.Driver
# username: root
username: tsroot
# password: root
password: TSkj@0471.250
username: root
# username: tsroot
password: root
# password: TSkj@0471.250
initial-size: 2
min-idle: 2
max-active: 10

View File

@ -10,6 +10,7 @@
<result column="account_user_id" property="accountUserId"/>
<result column="account_status" property="accountStatus"/>
<result column="account_password" property="accountPassword"/>
<result column="user_username" property="userUsername"/>
<result column="account_sign" property="accountSign"/>
<result column="creator" property="creator"/>
<result column="gmt_create" property="gmtCreate"/>
@ -251,9 +252,14 @@
t1.gmt_create,
t1.modifier,
t1.gmt_modified,
t1.is_delete
t1.is_delete,
t2.user_username
FROM
e_account t1
LEFT JOIN
sys_user t2
ON
t1.account_id = t2.user_id
WHERE
t1.is_delete = 0
<if test="accountStatus != null and accountStatus != ''">
@ -263,6 +269,8 @@
AND (
<!-- 这里添加其他条件 -->
t1.account_number LIKE CONCAT('%', #{keywords}, '%')
OR
t1.user_username LIKE CONCAT('%', #{keywords}, '%')
)
</if>
<if test="startTime != null and startTime != ''">

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -77,9 +77,9 @@
</script>
</div>
<div class="layui-form-item" style=" text-align: center;width:100% !important;font-size: 15px">
<b>海报区域的六个常量:currentUserPhoto(当前使用者头像)、currentUserQRCode(小程序二维码)、currentUserDepartment(当前使用者公司名称)、</b></br>
<b>currentUserName(当前使用者姓名)、currentUserPhone(当前使用者电话)、currentUserAddress(当前使用者地址)</b></br>
<b>名片区域的四个常量:department(单位名称)、name(姓名)、phone(电话)、address(地址)</b></br>
<b>区域的七个固定常量:currentUserPhoto(当前创建者头像)、currentUserPosterQRCode(海报二维码)、currentUserQRCode(名片二维码)、currentUserDepartment(当前创建者公司名称)、</b></br>
<b>currentUserName(当前创建者姓名)、currentUserPhone(当前创建者电话)、currentUserAddress(当前创建者地址)</b></br>
<b>名片区域的四个固定常量:department(单位名称)、name(姓名)、phone(电话)、address(地址)</b></br>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">

View File

@ -46,7 +46,7 @@
<button type="button" class="layui-btn layui-btn-sm" lay-event="checkEvent">
<i class="fa fa-lg fa-check"></i> 审核
</button>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" lay-event="systemEvent">
<button id="systemEvent" type="button" style="display: none" class="layui-btn layui-btn-normal layui-btn-sm" lay-event="systemEvent">
<i class="fa fa-lg fa-system"></i> 设为系统默认
</button>
<button type="button" class="layui-btn layui-btn-danger layui-btn-sm" lay-event="removeEvent">
@ -210,6 +210,11 @@
loop: true
});
}, 500);
if(mode == "2") {
$("#systemEvent").remove();
}else{
$("#systemEvent").show();
}
return {
'code': 0,
'msg': '',

View File

@ -111,7 +111,16 @@
return rowData;
}
},
{field: 'accountNumber', width: 150, title: '账号', align:'center',
{field: 'userUsername', width: 150, title: '账号', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'accountNumber', width: 150, title: '账户', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {