huangxiao hai 2 semanas
pai
achega
20daab8e9a

+ 2 - 2
src/main/java/net/mingsoft/tf/action/ExhibitorAction.java

@@ -122,7 +122,7 @@ public class ExhibitorAction extends net.mingsoft.tf.action.BaseAction{
     @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY)
     @GetMapping("/get")
     @ResponseBody
-    @RequiresPermissions("tf:exhibitor:view")
+    // @RequiresPermissions("tf:exhibitor:view")
     public ResultData get(@ModelAttribute @Parameter(hidden = true) ExhibitorEntity exhibitor) {
         if (StringUtils.isBlank(exhibitor.getId())) {
             return ResultData.build().error(getResString("err.error",this.getResString("id")));
@@ -151,7 +151,7 @@ public class ExhibitorAction extends net.mingsoft.tf.action.BaseAction{
     @PostMapping("/save")
     @ResponseBody
     @LogAnn(title = "保存展商", businessType = BusinessTypeEnum.INSERT)
-    @RequiresPermissions("tf:exhibitor:save")
+    // @RequiresPermissions("tf:exhibitor:save")
     public ResultData save(@ModelAttribute @Parameter(hidden = true) ExhibitorEntity exhibitor) {
 
         //验证公司名称的值是否合法

+ 1 - 1
src/main/java/net/mingsoft/tf/entity/BoothEntity.java

@@ -20,7 +20,7 @@ import java.util.Date;
 * 创建日期:2025年10月23日 下午6:41:34<br/>
 * 历史修订:<br/>
 */
-@TableName("BOOTH")
+@TableName("mdiy_form_booth")
 public class BoothEntity extends BaseEntity {
 
 private static final long serialVersionUID = 1761216094319L;

+ 1 - 1
src/main/java/net/mingsoft/tf/entity/ExhibitionEntity.java

@@ -20,7 +20,7 @@ import java.util.Date;
 * 创建日期:2025年10月23日 下午6:41:34<br/>
 * 历史修订:<br/>
 */
-@TableName("EXHIBITION")
+@TableName("mdiy_form_exhibition")
 public class ExhibitionEntity extends BaseEntity {
 
 private static final long serialVersionUID = 1761216094564L;

+ 1 - 1
src/main/java/net/mingsoft/tf/entity/ExhibitorEntity.java

@@ -20,7 +20,7 @@ import java.util.Date;
 * 创建日期:2025年10月23日 下午6:41:34<br/>
 * 历史修订:<br/>
 */
-@TableName("EXHIBITOR")
+@TableName("mdiy_form_exhibitor")
 public class ExhibitorEntity extends BaseEntity {
 
 private static final long serialVersionUID = 1761216094822L;

+ 79 - 38
src/main/java/net/mingsoft/tf/wx/WxPeopleAction.java

@@ -1,5 +1,6 @@
 package net.mingsoft.tf.wx;
 
+import cn.hutool.core.map.CaseInsensitiveMap;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONObject;
@@ -12,22 +13,36 @@ import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import net.mingsoft.base.entity.ResultData;
 import net.mingsoft.base.exception.BusinessException;
-import net.mingsoft.mdiy.action.ModelAction;
+import net.mingsoft.basic.bean.UploadConfigBean;
+import net.mingsoft.mdiy.action.web.DictAction;
+import net.mingsoft.mdiy.biz.IModelBiz;
+import net.mingsoft.mdiy.biz.IModelDataBiz;
+import net.mingsoft.mdiy.entity.DictEntity;
+import net.mingsoft.mdiy.entity.ModelEntity;
 import net.mingsoft.people.action.BaseAction;
+import net.mingsoft.people.action.people.FileAction;
 import net.mingsoft.people.action.people.PeopleUserAction;
 import net.mingsoft.people.action.web.PeopleAction;
-import net.mingsoft.people.bean.PeopleBean;
 import net.mingsoft.people.biz.IPeopleBiz;
 import net.mingsoft.people.entity.PeopleEntity;
+import net.mingsoft.people.util.PeopleUtil;
+import net.mingsoft.tf.action.ExhibitorAction;
+import net.mingsoft.tf.entity.ExhibitorEntity;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.ExtendedModelMap;
+import org.springframework.ui.ModelMap;
+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.ResponseBody;
 
+import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
@@ -42,13 +57,21 @@ public class WxPeopleAction extends BaseAction {
     @Autowired
     private PeopleAction peopleAction;
     @Autowired
-    private ModelAction modelAction;
+    private IModelDataBiz modelDataBiz;
+    @Autowired
+    private IModelBiz modelBiz;
+    @Autowired
+    private DictAction dictAction;
+    @Autowired
+    private FileAction fileAction;
+    @Autowired
+    private ExhibitorAction exhibitorAction;
 
     @Operation(summary = "微信-获得电话号码")
     @Parameters({
             @Parameter(name = "code", description = "code", required = true, in = ParameterIn.QUERY)
     })
-    @PostMapping(value = "/wx/phone")
+    @GetMapping(value = "/wx/phone")
     @ResponseBody
     public ResultData wxGetPhone(String code) {
         // TODO
@@ -59,7 +82,7 @@ public class WxPeopleAction extends BaseAction {
     @Parameters({
             @Parameter(name = "code", description = "code", required = true, in = ParameterIn.QUERY)
     })
-    @PostMapping(value = "/wx/login")
+    @GetMapping(value = "/wx/login")
     @ResponseBody
     public ResultData wxCheckLogin(String code, HttpServletRequest request, HttpServletResponse response) {
         return Optional.ofNullable(code)
@@ -83,6 +106,15 @@ public class WxPeopleAction extends BaseAction {
                 .orElse(ResultData.build().error("登录失败"));
     }
 
+    @Operation(summary = "微信-字典查询")
+    @GetMapping(value = "/wx/dictionary")
+    @ResponseBody
+    public ResultData dictionary(String type, HttpServletRequest request, HttpServletResponse response) {
+        DictEntity dict = new DictEntity();
+        dict.setDictType(type);
+        return dictAction.list(dict, response, request);
+    }
+
     @Operation(summary = "微信-用户注册")
     @Parameters({
             @Parameter(name = "peopleName", description = "openid", required = true, in = ParameterIn.QUERY),
@@ -91,20 +123,35 @@ public class WxPeopleAction extends BaseAction {
             @Parameter(name = "puRealName", description = "真实姓名", required = true, in = ParameterIn.QUERY),
             @Parameter(name = "peoplePhone", description = "手机号", required = true, in = ParameterIn.QUERY),
             @Parameter(name = "puCard", description = "身份证", required = true, in = ParameterIn.QUERY),
-            @Parameter(name = "", description = "公司名称", required = true, in = ParameterIn.QUERY),
-            @Parameter(name = "", description = "职位", required = true, in = ParameterIn.QUERY),
-            @Parameter(name = "", description = "展商邀请码", required = true, in = ParameterIn.QUERY),
-            @Parameter(name = "", description = "身份类型", required = true, in = ParameterIn.QUERY),
-            @Parameter(name = "", description = "了解渠道", required = true, in = ParameterIn.QUERY),
-            @Parameter(name = "", description = "参观目的", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "puLevel", description = "身份类型-编码", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "puLevelName", description = "身份类型-名称", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "companyName", description = "公司名称", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "position", description = "职位", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "invitationCode", description = "展商邀请码", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "channel", description = "了解渠道", required = true, in = ParameterIn.QUERY),
+            @Parameter(name = "purpose", description = "参观目的", required = true, in = ParameterIn.QUERY),
     })
     @PostMapping(value = "/wx/register")
     @ResponseBody
-    public ResultData wxRegister(@RequestBody PeopleBean people, HttpServletRequest request, HttpServletResponse response) {
+    public ResultData wxRegister(@RequestBody WxRegisterRequest people, String modelId, HttpServletRequest request, HttpServletResponse response) {
         people.setPeoplePassword(RandomUtil.randomString(8));
-        // TODO 7个新字段保存,还有一个邀请用户ID
         ResultData register = peopleAction.register(people, request, response);
         if (register.isSuccess()) {
+            PeopleEntity user = this.peopleBiz.getEntityByUserName(people.getPeopleName());
+            String linkId = user.getId();
+            ModelMap modelData = new ExtendedModelMap();
+            modelData.put("companyName", people.getCompanyName());
+            modelData.put("position", people.getPosition());
+            modelData.put("invitationCode", people.getInvitationCode());
+            modelData.put("channel", people.getChannel());
+            modelData.put("purpose", people.getPurpose());
+            modelData.put("linkId", linkId);
+            // TODO 根据邀请码查出用户ID
+            modelData.put("invitation_user_id", "根据邀请码查出用户ID");
+            ModelEntity model = modelBiz.getById(modelId);
+            // 转换成小写
+            CaseInsensitiveMap<String, Object> map = new CaseInsensitiveMap<>(modelData);
+            modelDataBiz.spliceInsertSql(model, map);
             return executeLogin(people.getPeopleName(), request, response);
         }
         return register;
@@ -117,19 +164,7 @@ public class WxPeopleAction extends BaseAction {
             LOG.debug("people 尝试登陆");
             subject.login(cupt);
             LOG.debug("people 登陆成功");
-            ResultData info = peopleUserAction.info(request, response);
-            if (info.isSuccess()) {
-                Map<String, Object> data = info.getData(Map.class);
-                PeopleBean tempPeople = new PeopleBean();
-                // TODO
-                // tempPeople.setId(peopleEntity.getId());
-                // tempPeople.setPeopleName(peopleEntity.getPeopleName());
-                // tempPeople.setPeoplePhone(peopleEntity.getPeoplePhone());
-                // tempPeople.setPuIcon(peopleEntity.getPuIcon());
-                // tempPeople.setPuNickname(peopleEntity.getPuNickname());
-                return ResultData.build().success(tempPeople);
-            }
-            return info;
+            return peopleUserAction.info(request, response);
         } catch (Exception e) {
             LOG.debug("people 登陆失败");
             if (e.getCause() instanceof BusinessException) {
@@ -142,7 +177,7 @@ public class WxPeopleAction extends BaseAction {
     }
 
     @Operation(summary = "微信-邀请的用户汇总")
-    @PostMapping(value = "/people/invitation/summary")
+    @GetMapping(value = "/people/invitation/summary")
     @ResponseBody
     public ResultData invitationSummary() {
         // TODO
@@ -150,7 +185,7 @@ public class WxPeopleAction extends BaseAction {
     }
 
     @Operation(summary = "微信-邀请的用户明细")
-    @PostMapping(value = "/people/invitation/details")
+    @GetMapping(value = "/people/invitation/details")
     @ResponseBody
     public ResultData invitationDetails() {
         // TODO
@@ -158,7 +193,7 @@ public class WxPeopleAction extends BaseAction {
     }
 
     @Operation(summary = "微信-生成入场二维码")
-    @PostMapping(value = "/people/qrcode")
+    @GetMapping(value = "/people/qrcode")
     @ResponseBody
     public ResultData qrcode() {
         // TODO
@@ -168,24 +203,30 @@ public class WxPeopleAction extends BaseAction {
     @Operation(summary = "微信-展商-上传LOGO")
     @PostMapping(value = "/people/upload/logo")
     @ResponseBody
-    public ResultData logo() {
-        // TODO
-        return null;
+    public ResultData logo(@Parameter(hidden = true) UploadConfigBean bean, HttpServletRequest req, HttpServletResponse res) throws IOException {
+        bean.setUploadPath(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMM")));
+        return fileAction.upload(bean, req, res);
     }
 
     @Operation(summary = "微信-展商-申请")
     @PostMapping(value = "/people/exhibitor/create")
     @ResponseBody
-    public ResultData exhibitorCreate() {
-        // TODO
-        return null;
+    public ResultData exhibitorCreate(@RequestBody ExhibitorEntity exhibitor) {
+        exhibitor.setExhibitorUser(PeopleUtil.getPeopleBean().getPeopleId());
+        // TODO 查到最新的展会
+        exhibitor.setExhibitorActivities("");
+        // TODO  检查一下是否会重复
+        exhibitor.setExhibitorCode(RandomUtil.randomString(9));
+        return exhibitorAction.save(exhibitor);
     }
 
     @Operation(summary = "微信-展商-详情")
-    @PostMapping(value = "/people/exhibitor/info")
+    @GetMapping(value = "/people/exhibitor/info")
     @ResponseBody
     public ResultData exhibitorInfo() {
-        // TODO
-        return null;
+        // TODO 查出当前用户最新的一条
+        ExhibitorEntity exhibitor = new ExhibitorEntity();
+        exhibitor.setId("");
+        return exhibitorAction.get(exhibitor);
     }
 }

+ 30 - 0
src/main/java/net/mingsoft/tf/wx/WxRegisterRequest.java

@@ -0,0 +1,30 @@
+package net.mingsoft.tf.wx;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import net.mingsoft.people.bean.PeopleBean;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WxRegisterRequest extends PeopleBean {
+    /**
+     * 公司名称
+     */
+    private String companyName;
+    /**
+     * 职位
+     */
+    private String position;
+    /**
+     * 展商邀请码
+     */
+    private String invitationCode;
+    /**
+     * 了解渠道
+     */
+    private String channel;
+    /**
+     * 参观目的
+     */
+    private String purpose;
+}